ホームページ > バックエンド開発 > Python チュートリアル > 緯度/経度の距離計算が正しくないのはなぜですか?

緯度/経度の距離計算が正しくないのはなぜですか?

Susan Sarandon
リリース: 2024-11-06 00:00:03
オリジナル
241 人が閲覧しました

Why is My Latitude/Longitude Distance Calculation Incorrect?

緯度と経度を使用した距離の計算: コーディング エラーへの対処

緯度と経度に基づいて距離を求める公式を実装しようとしましたが、ユーザーが予期しない結果に遭遇しました。参照アプレットに示されている式は、指定されたテスト ポイントに対して正しく機能しました。ただし、ユーザーのコードは不正確な距離値を返しました。

コード インスペクション

コードを検査したところ、ユーザーが非推奨の Vincenty 距離計算メソッドを使用していることが判明しました。これは、GeoPy バージョン 1.13 では、より正確な geopy. distance. distance() 関数に置き換えられました。ユーザーのコードが利用していたハバーサイン公式は、球形の地球モデルを想定しており、最大 0.5% の誤差が生じる可能性があります。

geopy. distance を使用する

解決するにはこの問題が発生した場合は、より正確な geopy. distance.geodesic() 関数を使用して距離を計算することに切り替えることをお勧めします。この関数は、WGS-84 などの楕円体モデルを利用し、より正確な結果を提供します。

<code class="python">import geopy.distance

coords_1 = (52.2296756, 21.0122287)
coords_2 = (52.406374, 16.9251681)

distance = geopy.distance.geodesic(coords_1, coords_2).km
print(distance)</code>
ログイン後にコピー

改訂されたコードでは、2 点間の距離は 279.352 キロメートルとして正確に計算されます。

以上が緯度/経度の距離計算が正しくないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート