面积测量未显示正确的测量值
Area measurement not showing correct measurements
我正在尝试绘制多边形的面积。但是我得到的区域大约比它们应该的大 50%。
draw.on('drawend', funciton(e){
var geom = e.feature.getGeometry();
if(drawType === 'Polygon'){
var rawArea = geom.getArea();
var cleanArea = rawArea / 10000; // Convert to hectares
}
});
一些示例:
- 本来应该是 1.18 公顷的是 1.87 公顷
- 本来应该是 1.29 公顷的是 2.09 公顷
- 本来应该是 1.45 公顷的是 2.31 公顷
看看测地线测量选项的测量示例是如何完成的:http://openlayers.org/en/v3.6.0/examples/measure.html
var sourceProj = map.getView().getProjection();
var geom = /** @type {ol.geom.Polygon} */(polygon.clone().transform(
sourceProj, 'EPSG:4326'));
var coordinates = geom.getLinearRing(0).getCoordinates();
area = Math.abs(wgs84Sphere.geodesicArea(coordinates));
getArea 和 getLength 急需更新他们的文档来解释他们不以正常单位给出 Web 墨卡托地图的答案。
看这里https://github.com/openlayers/ol3/pull/3609 and here https://github.com/openlayers/ol3/issues/3533
设置圆的半径也有类似的问题。
我正在尝试绘制多边形的面积。但是我得到的区域大约比它们应该的大 50%。
draw.on('drawend', funciton(e){
var geom = e.feature.getGeometry();
if(drawType === 'Polygon'){
var rawArea = geom.getArea();
var cleanArea = rawArea / 10000; // Convert to hectares
}
});
一些示例:
- 本来应该是 1.18 公顷的是 1.87 公顷
- 本来应该是 1.29 公顷的是 2.09 公顷
- 本来应该是 1.45 公顷的是 2.31 公顷
看看测地线测量选项的测量示例是如何完成的:http://openlayers.org/en/v3.6.0/examples/measure.html
var sourceProj = map.getView().getProjection();
var geom = /** @type {ol.geom.Polygon} */(polygon.clone().transform(
sourceProj, 'EPSG:4326'));
var coordinates = geom.getLinearRing(0).getCoordinates();
area = Math.abs(wgs84Sphere.geodesicArea(coordinates));
getArea 和 getLength 急需更新他们的文档来解释他们不以正常单位给出 Web 墨卡托地图的答案。
看这里https://github.com/openlayers/ol3/pull/3609 and here https://github.com/openlayers/ol3/issues/3533
设置圆的半径也有类似的问题。