Geometry Openlayers几何如何计算从平方度到平方公里的面积?
我从webservice获得了multypoligon,并尝试使用以下代码计算该poligon的面积:Geometry Openlayers几何如何计算从平方度到平方公里的面积?,geometry,transform,openlayers,map-projections,Geometry,Transform,Openlayers,Map Projections,我从webservice获得了multypoligon,并尝试使用以下代码计算该poligon的面积: var poly = new OpenLayers.Geometry.MultiPolygon(poligon); var area = geom.getArea(); 但那个会以平方度为单位返回我的面积,我们的投影是EPSG:3243,我试图使用这个函数 OpenLayers.Layer.SphericalMercator.forwardMercator 但这对我没有多大帮助,有没有其他
var poly = new OpenLayers.Geometry.MultiPolygon(poligon);
var area = geom.getArea();
但那个会以平方度为单位返回我的面积,我们的投影是EPSG:3243,我试图使用这个函数
OpenLayers.Layer.SphericalMercator.forwardMercator
但这对我没有多大帮助,有没有其他解决方案或其他提示
干杯 您应该使用GeodesicArea()函数并为您提供投影,以防止损坏WGS84: 大概是这样的:
var projection = new OpenLayers.Projection("EPSG:3243");
var poly = new OpenLayers.Geometry.MultiPolygon(poligon);
var area = poly.getGeodesicArea( projection );
您应该使用GeodesicArea()函数并为您提供投影,以防止损坏WGS84: 大概是这样的:
var projection = new OpenLayers.Projection("EPSG:3243");
var poly = new OpenLayers.Geometry.MultiPolygon(poligon);
var area = poly.getGeodesicArea( projection );
有一个解决方案可以使用其他函数getGeodesicArea(),看起来像这个var area=(geom.getGeodesicArea()/1000000)有一个解决方案可以使用其他函数getGeodesicArea()然后它看起来像这个var区域=(geom.getGeodesicArea()/1000000)