2

谷歌地图使用什么公式来计算 2 点之间的最短距离(具有它们的纬度、经度坐标)?API中的AFAIK有一种方法可以调用computeDistanceBetween ,但它是如何工作的?它纯粹基于Haversine吗?还是有什么不同?某处是否有可用的数学或代码实现参考?

更新
似乎谷歌可能使用大圆距离公式假设他们文档中的一个片段:

两点之间的距离是它们之间最短路径的长度。这条最短路径称为测地线。在一个球体上,所有测地线都是一个大圆的片段。

嗯,这很简单。这就像说每个平行线都等于赤道。或者,也许我全都错了。在我看来,这在测量从格陵兰到加拿大之间的距离时不应该正常工作,因为它们远离赤道。但是在谷歌中它无论如何都会给出正确的测量值,我不明白为什么以及如何。他们是否以某种方式修改了大圆公式?

4

1 回答 1

1

如果 Google 地图使用大圆距离,则结果在椭圆体测地线距离的 1% 以内。如果您想在 Google 地图中查看真正的椭球测地线路径,请访问

http://geographiclib.sourceforge.net/scripts/geod-google.html

这使用 Javascript 来解决椭圆体的测地线问题。维基百科有很多关于椭球测地线的信息;看

https://en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid

于 2014-01-13T01:16:25.957 回答