マッピング ソリューションを検証するためのテストを行っているときに、Google Maps API と Wolfram Alpha の間に矛盾があることに気付きました。どちらも私が信頼できる情報源であるため、何か間違ったことをしているとしか思えませんが、私の人生では、何が間違っているのか判断できません.
たとえば、ロンドン (北緯 51.5 度、西経 0.1167 度) とプラハ (北緯 50.8 度、東経 14.43 度) の間のカラスの飛行距離は次のようになります。
ウルフラム・アルファ: 1036 km
Google マップ API : 1627 km
これはかなり大きな違いです。他の場所への距離についても、同様の量だけずれています。走行距離と球上距離を混ぜたり、単位を混ぜたりしません (すべてキロメートル単位です)。どちらのエンジンでも、本初子午線の西の経度を負として、東の経度を正として正しく扱っています。Google マップのテスト (上記のリンクを参照) では、google.maps.geometry.spherical.computeDistanceBetween
メソッドを使用しています。
更新: hasersine 式 ( jsfiddle )の独自の実装を追加しました。これは Google Maps API と一致しているため、問題は Wolfram Alpha にあると確信しています。しかし、どのように?出力と同様に、入力はかなり明確に見えます....