计算巷道段的距离

时间:2018-10-29 06:04:53

标签: javascript maps mapbox postgis

我想计算道路段的距离。我将分段数据设置为多边形。如何使用javascript?

段图像示例 enter image description here

我知道使用geolib npm模块可以计算两点之间的距离。但是我想计算线段多边形的距离。

geolib.getDistance(
    {latitude: 38.837409, longitude: -106.147765},
    {latitude: 38.840000, longitude: -106.138806}
);

更新

PostGIS中的ST_MaxDistance函数可以计算投影度数的距离。是否可以通过ST_MaxDistance函数获取以米为单位的距离?

1 个答案:

答案 0 :(得分:0)

这很简单。
只需执行以下步骤:

  1. 以正确的顺序将所有距离点推入数组。
  2. 一个接一个地迭代它们,以获得两个点之间的距离并将它们求和。

代码如下:

let result = 0
let points = []

// These points are for example
points.push({ latitude:0, longitude:0 }, { latitude: 3, longitude: 4}, {latitude: 15, longitude: 9})


for (let i=0; i<points.length-1; i++) {
    result += geolib.getDistance(points[i], points[i+1])
}

console.log(result) // result should be 18 in this case

它应该可以解决您的问题,请尝试一下。