概要とサンプルコード
地図上の2地点間の距離を求めるには、それらの2地点の経度と緯度を使用して、ハーベイの公式を使用することができます。
ハーベイの公式は、球面上の2地点間の距離を求めるために使用される数学的な公式です。
例えば、東京と大阪間の距離を求めるには、次のようにします。
import math # 東京の経度と緯度 lat1 = 35.681236 lon1 = 139.767125 # 大阪の経度と緯度 lat2 = 34.693738 lon2 = 135.502165 # 地球の半径(km) R = 6371 # ラジアンに変換 lat1 = math.radians(lat1) lat2 = math.radians(lat2) lon1 = math.radians(lon1) lon2 = math.radians(lon2) # ハーベイの公式 distance = R * math.acos(math.sin(lat1) * math.sin(lat2) + math.cos(lat1) * math.cos(lat2) * math.cos(lon1 - lon2)) print(distance) # Output: approximately 402.8 km
ここで、math.radiansは弧度法で表された角度をラジアンに変換する関数です。
math.acosは反余弦関数を計算する関数です。
math.sinとmath.cosはサイン関数とコサイン関数を計算する関数です。
このように、Pythonを使用することで、簡単に地図上の2地点間の距離を計算することができます。
コメント