首页 > 解决方案 > 使用 Turf.js 计算面积时的单位问题

问题描述

我知道 Turf.js 是为地理参考数据的地理空间分析而创建的,但我想知道是否可以使用它来分析笛卡尔空间中的特征。

比如我需要计算一个很简单的矩形的面积,如下:

turf.area(
  turf.polygon([ [[0,1], [0,0], [1,0], [1,1], [0,1]] ])
)

我从上面的计算得到的结果是12391399902.071104,我理解的是平方米。同样清楚的是,Turf.js 正在读取[0,1], [0,0], [1,0], [1,1], [0,1]为 WGS84 坐标,而我正在寻找一种告诉 Turf.js 这些不是地理坐标而是笛卡尔空间中的线性度量的方法。

我从规范(https://www.rfc-editor.org/rfc/rfc7946#page-12)中知道 GeoJSON 仅适用于 WGS84,而我正在寻找的可能是 Turf.js 本身的不当使用。

最后,我的问题是:在 Turf.js 中有没有一种方法可以用[0,1], [0,0], [1,0], [1,1], [0,1]米(或任何线性单位)的坐标测量矩形的面积并获得1m2(或任何方形线性单位)?

标签: javascriptareaunits-of-measurementmeasurementturfjs

解决方案


推荐阅读