ナビゲーションの世界では、2 つの GPS ポイント間の距離と方位を決定することが重要です。 Haversine の公式は、球面幾何学を使用してこれらの値を正確に計算する方法を提供します。
2 つの GPS ポイント間の距離を計算するには、緯度と経度を変換する必要があります。 10 進度からラジアンまで。次に、次の式を適用します。
dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2) ** 2 + cos(lat1) * cos(lat2) * sin(dlon/2) ** 2 c = 2 * asin(sqrt(a)) distance = c * r
ここで、dlon と dlat は経度と緯度の差を表し、a は中間値、r は地球の半径 (キロメートルの場合は 6371 キロメートル、またはキロメートルの場合は 3956 マイル)
距離の決定に加えて、また、Haversine の公式を使用して、最初の点から 2 番目の点までの方位 (方位角) を求めることもできます。
y = sin(dlon) * cos(lat2) x = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dlon) bearing = atan2(y, x)
ここで、dlon は経度の差、lat1 と lat2 は 2 つの点の緯度、xと y は中間値で、方位は北から時計回りに測定された方位角をラジアンで表します。
距離と方位を計算するための Haversine 式の Python 実装を次に示します。
from math import radians, cos, sin, asin, sqrt def haversine(lon1, lat1, lon2, lat2): lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * asin(sqrt(a)) r = 6371 return c * r
以上がHaversine 公式は Python で GPS ポイント間の距離と方位をどのように計算しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。