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