Openlayers openlayer 4.4 getArea()给出了一个错误的结果

Openlayers openlayer 4.4 getArea()给出了一个错误的结果,openlayers,Openlayers,getArea()侧面10米的正方形面积为206.85693359375平方米。该几何图形的坐标为: A: (10) […] ​​0: 349342.54170016386 ​​1: 5765285.69787908 ​​2: 349356.90080337634 ​​3: 5765285.67265447 ​​4: 349356.87564911734 ​​5: 5765271.266706267 ​​6: 349342.51656936127 ​​7: 5765271.291930803 ​

getArea()
侧面10米的正方形面积为206.85693359375平方米。该几何图形的坐标为:

A: (10) […]
​​0: 349342.54170016386
​​1: 5765285.69787908
​​2: 349356.90080337634
​​3: 5765285.67265447
​​4: 349356.87564911734
​​5: 5765271.266706267
​​6: 349342.51656936127
​​7: 5765271.291930803
​​8: 349342.54170016386
​​9: 5765285.69787908
​​length: 10

feature.getGeometry().getArea()
有什么问题?

这在投影单位中是正确的,并且接近这个近似计算

 349356.90 -  349342.54 = 14.36
5765285.69 - 5765271.26 = 14.43

 14.36 * 14.43 = 207.21
当你在网络墨卡托投影中远离赤道时,物体看起来更大,所以你应该使用
ol.Sphere.getArea(geometry)
要获得世界曲面上的真实面积

我发现getArea()适用于笛卡尔投影,如EPSG:2154适用于我(和utm?)。

可以将投影传递给它,例如:

const opts: SphereMetricOptions = { projection: 'EPSG:32634' }
const area = getArea(polygon, opts)

参见

我认为getArea给出了正方形10米边长的平面和笛卡尔面,也就是100平方米。如何用openlayers得到任意多边形的笛卡尔面积?Math.abs(wgs84Sphere.geodesicArea(坐标))给出100.1585129900082如何像Qgis给出的那样得到100?