緯度と経度を使用したポイント間の距離の計算
緯度と経度に基づいて距離を計算する式を実装しようとして、ユーザーはコードとの不一致が発生しました。指定された式はアプレットでは有望な結果を示していますが、Python コードで同じ式を適用すると不正確な距離が得られます。
この矛盾の背後にある理由は、Vincenty 距離計算メソッドの非推奨の性質にあります。 GeoPy バージョン 1.13 より前のバージョンでは、Vincenty 距離が距離計算のデフォルトの方法でしたが、バージョン 1.13 以降では、優先方法として geopy. distance. distance() が導入されました。
Vincenty 距離方法は楕円体モデルを利用します。 、WGS-84 など、球形の地球を仮定するハバーサイン公式と比較して、より正確な結果が得られます。この仮定により、最大 0.5% の誤差が生じる可能性があります。
距離を正確に計算するには、Vincenty 距離式の実装を次のコードに置き換える必要があります。
import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) print(geopy.distance.geodesic(coords_1, coords_2).km)
このコードは、より正確な楕円体モデルを使用して 2 点間の距離を計算し、結果をキロメートル単位で返します。
以上がGeopy の距離計算が不正確なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。