【问题标题】:What formula is used for distance between 2 points in Google Maps?谷歌地图中两点之间的距离使用什么公式?
【发布时间】:2014-01-11 15:01:14
【问题描述】:

Google Maps 使用什么公式来计算 2 点之间的最短距离(具有它们的 Lat、Lng 坐标)? API 中的 AFAIK 有一个名为 computeDistanceBetween 的方法,但它是如何工作的呢?它纯粹基于Haversine吗?还是有什么不同?是否有可用的数学或代码实现参考?

更新
似乎谷歌可能使用great-circle distance formula 假设来自他们的documentation 的片段:

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

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

【问题讨论】:

    标签: google-maps google-maps-api-3 coordinates distance haversine


    【解决方案1】:

    如果 Google 地图使用大圆距离,则结果为 在椭圆体测地线距离的 1% 以内。如果 你想在谷歌地图中看到真正的椭球测地线路径,然后 访问

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 2014-07-12
      • 1970-01-01
      • 2010-12-02
      • 2013-09-30
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      相关资源
      最近更新 更多