2

I get the multypoligon from webservice and I try to calculate area for that poligon with the following code:

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

But that returns me area in square degrees, our projection is EPSG:3243 I was try to use function

OpenLayers.Layer.SphericalMercator.forwardMercator

But that didn't help me alot, is there any other solution or some other hint?

Cheers!

4

1 回答 1

0

您应该使用 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 );
于 2012-11-27T15:36:07.710 回答