2011-05-13 4 views
2

내가 웹 서비스에서 multypoligon을 얻고 나는 다음과 같은 코드가하기 Poligon에 대한 면적을 계산하려고 :Openlayers geometry 평방도에서 평방 킬로미터로 영역을 계산하는 방법은 무엇입니까?

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

하지만 그건 광장도 나에게 영역을 반환, 우리의 투사가 EPSG이다 : 3243는 I이었다 기능을 사용하려고

OpenLayers.Layer.SphericalMercator.forwardMercator 

하지만 제게 많은 도움이되지 않았습니까? 다른 해결책이나 다른 힌트가 있습니까?

건배!

+0

이 솔루션 :이 같은

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

getGeodesicArea: function(projection) 

뭔가 함수 getGeodesicArea() 그리고 이것보다 보입니다 var area = (geom.getGeodesicArea()/1000000) – vaske

답변

0

당신은가 기본으로의 WGS84 방지하기 위해 GeodesicArea() 함수를 사용하고 돌출부를 공급한다 : 다른를 사용하는

var projection = new OpenLayers.Projection("EPSG:3243"); 
var poly = new OpenLayers.Geometry.MultiPolygon(poligon); 
var area = poly.getGeodesicArea(projection); 
관련 문제