我有一组位置的纬度和经度。
- 如何找到集合中一个位置到另一个位置的距离?
- 有公式吗?
最佳答案
Haversine 公式假设地球是球形的。然而,耳朵的形状更为复杂。扁球体模型会给出更好的结果。
如果需要这样的精度,最好使用Vincenty inverse formula。 参见 http://en.wikipedia.org/wiki/Vincenty's_formulae了解详情。使用它,您可以获得 0.5mm 精度的球体模型。
没有完美的公式,因为地球的真实形状太复杂,无法用公式来表达。此外,地球的形状会因气候事件而发生变化(参见 http://www.nasa.gov/centers/goddard/earthandsun/earthshape.html ),也会因地球自转而随时间发生变化。
您还应该注意,上述方法没有考虑海拔高度,并假设海平面扁球体。
编辑 2010 年 7 月 10 日:我发现在极少数情况下,Vincenty 逆公式不会收敛到声明的精度。更好的主意是使用 GeographicLib(请参阅 http://sourceforge.net/projects/geographiclib/),它也更准确。
关于algorithm - 如何从两个位置的纬度和经度找到距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420045/