计算GPS坐标和路线之间的最短距离

时间:2015-11-12 23:15:58

标签: google-maps gps geography

有没有一种简单的方法可以使用Google Maps API计算路线(例如两个城市之间的方向)和GPS坐标之间的最近距离?

我能想到的一个方法是将路线转换为一组GPS坐标并计算到每个坐标的距离。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

  

我能想到的一个方法是将路线转换为一组GPS   坐标并计算每个坐标的距离。有没有   更好的方法吗?

是的,有更好的方法。
第一部分是正确的:转换为纬度/经度坐标的折线。 然而第二个是简单的。您希望线段的最短距离不是下一个角点,即线的起点或终点。

在学校,你使用的是粗麻布正常距离。但是,此公式仅计算到无限线的距离。如果是折线,则会有一系列线段。

因此,您需要一个“距离线段距离”的公式。您可以使用该搜索字词查找此公式。

实施此公式后,您将对由两个点(polyPoint [i],polyPoint [i + 1])定义的所有线段进行交互,并采用最小距离。

不要忘记将当前行分段转换为笛卡尔(x,y)空间,因为通常的公式不适用于spehrical坐标。

这种方法更复杂,但可以得到准确的结果。记住路线上的线路,如果经常长400-700米。所以你问的简单方法在这种情况下给出的错误是200-350m,如果你处于两点之间的中间位置。