ホームページ  >  記事  >  バックエンド開発  >  ハバーサイン公式を超えて地理的距離の計算の精度を向上するにはどうすればよいですか?

ハバーサイン公式を超えて地理的距離の計算の精度を向上するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-05 11:00:02868ブラウズ

How can I improve the accuracy of geographical distance calculations beyond the haversine formula?

緯度と経度の幾何学的距離の計算

地理座標に基づいて距離を計算する場合、ハーバーサイン公式の利用が広く採用されています。ただし、球形の地球を前提としているため、誤差が生じる可能性があります。より正確な計算を行うには、惑星の楕円体の性質を考慮する必要があります。

提供されたコードでは、ハーバーサイン公式は正しく実装されていますが、問題は仮定の不正確さにあります。ハバーサイン公式には最大 0.5% の誤差があることが知られています。

解決策として、Python ライブラリ GeoPy は geopty. distance モジュールを使用した堅牢な距離計算を提供します。このモジュールは、精度を高めるために WGS-84 のような楕円体モデルを採用する Vincenty 距離式を利用します。

これをコードに実装するには、次の手順を使用します。

  1. ジオピーをインポートする. distance module.
  2. ポイント 1 とポイント 2 の座標タプルを定義します。
  3. geopy. distance.geodesic() 関数を利用して、ポイント間の距離を計算します。

例:

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

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

distance_km = geopy.distance.geodesic(coords_1, coords_2).km

print('Distance (in kilometers):', distance_km)</code>

このアプローチでは、ハーバーサイン公式と比較してより正確な距離計算が行われます。

以上がハバーサイン公式を超えて地理的距離の計算の精度を向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。