getArea()
给出 206.85693359375 m2 对于侧面 10 米的正方形。此几何图形的坐标为:
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
当您在 Web 墨卡托投影中远离赤道时,内容看起来更大,因此您应该使用ol.Sphere.getArea(geometry)
得到世界曲面上的真实面积
我发现getArea((适用于笛卡尔投影,比如EPSG:2154对我来说(和utm?
您可以将投影传递给它,例如:
const opts: SphereMetricOptions = { projection: 'EPSG:32634' }
const area = getArea(polygon, opts)
见 https://openlayers.org/en/latest/apidoc/module-ol_sphere.html#~SphereMetricOptions