緯度と経度の2つのセットがあります。
地球が完全な楕円体(0.0167の離心率)であると仮定した場合、2つの場所の間の距離を見つけるにはどうすればよいですか?
緯度と経度の2つのセットがあります。
地球が完全な楕円体(0.0167の離心率)であると仮定した場合、2つの場所の間の距離を見つけるにはどうすればよいですか?
回答:
チェックアウトすることをお勧めします:
球状:http : //www.movable-type.co.uk/scripts/latlong.html
Great-Circle:http : //www.movable-type.co.uk/scripts/gis-faq -5.1.html
あなたはあなたの2つの緯度と経度を知っている、と言うことができます
それぞれのデカルト座標を計算できます:
xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));
xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));
次に、2つの間の大円距離を計算します。
MeanRadius * Acos(xa * xb + ya * yb + za * zb);
この単純化されたアプローチにより、x、y、およびz値の事前計算が可能になり、効率的な「xマイル内のポイント」クエリのためにデータベースに保存できます。
もちろん、これは完全な球体を想定しており、地球は完全な楕円体でさえないため、精度は数メートルになります。
GPS Visualizerの座標計算ツールと距離ツールページには、便利なツールがいくつかあります。それらの1つは、2点間の距離を計算します。マップ上に大円を表示してポイントを描画するオプションと、プロファイルを描画してデータをエクスポートするオプションがあります。