ホームページ  >  記事  >  バックエンド開発  >  Hasversine の公式が 2 点間の距離の計算に不正確なのはなぜですか?

Hasversine の公式が 2 点間の距離の計算に不正確なのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 04:31:02609ブラウズ

Why is the Haversine Formula Inaccurate for Calculating Distance Between Two Points?

緯度と経度を使用した 2 点間の距離の計算

提供されたコードでは、以下に基づいて 2 点間の距離を計算する式を実装しました。彼らの緯度と経度について。ただし、返される結果は、期待値 278.546 とは異なります。

この矛盾は、実装の基礎となっているハーバーサイン公式が地球が完全な球体であると仮定しているために発生します。実際には、地球はやや平らな形状をした楕円体です。より正確な計算を行うには、地球の曲率と離心率を考慮することが重要です。

楕円体の地球上の 2 点間の距離を正確に測定するには、Vincenty の距離公式を使用することをお勧めします。 GeoPy は、距離モジュール内でこの式の実装を提供します。

<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)  # Output: 279.352901604 kilometers</code>

Vincenty の距離式を使用すると、2 点間の距離のより正確な表現を取得できます。この精度の向上は、正確な位置ベースの計算を必要とするアプリケーションにとって特に重要です。

以上がHasversine の公式が 2 点間の距離の計算に不正確なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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