一尘不染

如何找到两个位置的经纬度距离?

algorithm

我有一组纬度和经度。

  • 如何找到从一个位置到另一位置的 距离
  • 有公式吗?

阅读 242

收藏
2020-07-28

共1个答案

一尘不染

Haversine公式假定为球形地球。但是,耳的形状更加复杂。扁球体模型将提供更好的结果。

如果需要这种精度,则最好使用 Vincenty逆公式
。有关详细信息,请参见http://en.wikipedia.org/wiki/Vincenty's_formulae。使用它,您可以获得椭球模型的0.5mm精度。

没有完美的公式
,因为地球的真实形状太复杂而无法用公式表示。此外,地球的形状会由于气候事件而发生变化(请参见http://www.nasa.gov/centers/goddard/earthandsun/earthshape.html),并且还会随着时间的变化而因地球的自转而发生变化。

您还应注意,上述方法未考虑海拔高度,并且假定为海平面扁球形。

编辑2010年7月10日:
我发现,在极少数情况下,文森特逆公式不会收敛到声明的准确性。一个更好的主意是使用GeographicLib(请参阅http://sourceforge.net/projects/geographiclib/),该方法也更加准确。

2020-07-28