プロジェクトとケーススタディ

Pythonで地図上の2点間の距離を求める方法

スポンサーリンク

概要とサンプルコード

地図上の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地点間の距離を計算することができます。

コメント

タイトルとURLをコピーしました