Python で Haversine 公式を使用して 2 つの GPS ポイントの間の方位と距離を計算する方法
Haversine 公式は、次の計算に使用される数学方程式です。球上の 2 点間の大圏距離。 GPS のコンテキストでは、この公式を使用して 2 つの GPS 座標間の距離と方位の両方を決定できます。
ステップ 1: 関数の定義
from math import radians, cos, sin, asin, sqrt def haversine(lon1, lat1, lon2, lat2): """ Calculate the great circle distance in kilometers between two points on the earth (specified in decimal degrees) """ # convert decimal degrees to radians lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) # haversine formula 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 # Radius of earth in kilometers. Use 3956 for miles. Determines return value units. return c * r
ステップ 2:計算
start_lon, start_lat = -1.7297222222222221, 53.32055555555556 bearing, distance = 96.02166666666666, 2 end_lon, end_lat = -1.6997222222222223, 53.31861111111111 distance_calculated = haversine(start_lon, start_lat, end_lon, end_lat) print("Distance:", distance_calculated)
出力:
Distance: 2.0000054199729084
この例では、計算された距離は期待値 2 と一致します。
注:
以上がPython の Hasversine 公式を使用して 2 つの GPS ポイント間の距離と方位を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。