在测试以验证地图解决方案时,我发现 Google Maps API 和 Wolfram Alpha 之间存在差异。两者都是我信任的来源,所以我只能相信我做错了什么,但对于我的生活,我无法确定是什么。
例如,乌鸦在伦敦(51.5°N,0.1167°W)和布拉格(50.8°N,14.43°E)之间飞行的距离得出:
沃尔夫拉姆阿尔法:1036 公里
谷歌地图 API:1627 公里
这是一个非常显着的差异。与其他位置的距离相差类似。我没有混合行驶距离和球面线距离,也没有混合单位(一切都以公里为单位)。对于这两个引擎,我正确地将本初子午线以西的经度视为负数,将本初子午线以东的经度视为正数。对于谷歌地图测试(见上面的链接),我正在使用该google.maps.geometry.spherical.computeDistanceBetween
方法。
更新:我添加了我自己的 hasrsine 公式(jsfiddle)实现,它与 Google Maps API 一致,所以我很确定问题出在 Wolfram Alpha 上。怎么样?输入似乎非常明确,输出也是如此......