Геометрия Openlayers, как рассчитать площадь от квадратных градусов до квадратных километров? - PullRequest
2 голосов
/ 13 мая 2011

Я получаю мультиполигон из веб-сервиса и пытаюсь вычислить площадь для этого полигона с помощью следующего кода:

var poly = new OpenLayers.Geometry.MultiPolygon(poligon);
var area = geom.getArea();

Но это возвращает мне площадь в квадратных градусах, наша проекция - EPSG: 3243 Я пыталсяиспользовать функцию

OpenLayers.Layer.SphericalMercator.forwardMercator

Но это мне не очень помогло, есть ли другое решение или какой-то другой намек?

Приветствия!

1 Ответ

0 голосов
/ 27 ноября 2012

Вы должны использовать функцию GeodesicArea () и подавать проекцию для предотвращения дефолта. WGS84:

http://dev.openlayers.org/docs/files/OpenLayers/Geometry/Polygon-js.html#OpenLayers.Geometry.Polygon.getGeodesicArea

getGeodesicArea: function( projection )

примерно так:

var projection = new OpenLayers.Projection("EPSG:3243");
var poly = new OpenLayers.Geometry.MultiPolygon(poligon);
var area = poly.getGeodesicArea( projection );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...