【问题标题】:Is Google Maps calculating the wrong distance?谷歌地图是否计算了错误的距离?
【发布时间】:2010-11-06 20:56:06
【问题描述】:

我已经设法得到两个函数来计算谷歌地图上两点之间的距离。一个是我从网络上的不同地方收集到的(偷来的),另一个是使用 Google Maps API 中的 GLatLng.distanceFrom 方法。

我使用两个函数的原因是因为我注意到我从 Google 获得的结果有些奇怪,例如,英国 Lands End 和 John O Groats 之间的距离返回如下

  • 我的功能:985km
  • 谷歌:986 公里
  • 维基百科:970 公里

与 Wikipedia 结果的 15/16 公里差异是因为 Google 返回的位置结果距离实际的 John O Groats 大约 15 公里。所以这是正确的。

然后我测试了伦敦和米兰之间的距离并得到了

  • 我的功能:1232km
  • 谷歌:1234 公里
  • Wolfram 阿尔法:958.5 公里

所以有人在 250 多公里之外。然后我尝试了伦敦到纽约

  • 我的功能:8244km
  • 谷歌:8254 公里
  • Wolfram 阿尔法:5581 公里

一般认为,伦敦和纽约之间的距离约为 5560 公里。但现在我的功能和谷歌功能似乎都偏离了标准。

我正在使用的函数can be found here。我向作者道歉,没有链接到原始网站,但布局确实令人困惑。我正在使用 distHaversine 函数。

我必须承认,数学远远超出了我的舒适度,但我明白了要点,而且据我所知,Google 也使用 Haversine 方法。我也知道它可能会下降约 0.3%,但这并不能解释我所看到的差异。而且我对它有时正确,有时远离通常规定的地方之间的距离这一事实感到更加困惑。看起来距离越远,距离越远。

那么谁错了。 Google 和我正在使用的功能,还是其他人?

【问题讨论】:

  • 当我在源站点 (movable-type.co.uk/scripts/latlong.html) 手动输入伦敦和纽约的纬度/经度坐标时,它确实给出了大约 5560 公里的正确距离,您能确认使用的坐标吗?
  • 伦敦 lat1:-0.1262362,lon1:51.5001524 纽约 lat2:-73.986951,lon2:40.756054
  • 天哪。看来我的纬度和经度混淆了。彼得,既然您指出了显而易见的解决方案,那就是使用可移动字体工具对其进行测试,请随时回答问题,我会接受答案。

标签: google-maps haversine


【解决方案1】:

Google 地图不会计算最短直线距离 - 它会通过道路和(空气、水、?)

【讨论】:

    【解决方案2】:

    事实证明,我的纬度和经度参数是错误的。

    【讨论】:

      【解决方案3】:

      除非我对此有误解:

      这种差异是否源于 Google 地图计算的是您驾驶的距离,而不是“像乌鸦飞一样”?

      【讨论】:

      • 查看原始问题中 gargantaun 的评论。问题解决了,但没有人给出“答案”
      猜你喜欢
      • 2023-03-23
      • 2016-09-23
      • 2016-04-12
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      相关资源
      最近更新 更多