緯度・経度から距離を計算

 

移動距離にはHubenyの公式を使用しました。

 
Hubenyの公式
地球は赤道が膨らんだ形をしています。Hubenyの公式を使うことで、その歪を考慮に入れて地球上の2地点間の距離が計算できます。
 
1. 経緯度をラジアンに変換
地点1( lon1 , lat1 ) , 地点2( lon2 , lat2 )
lonRad1 = lon1 * PI / 180
latRad1 = lat1 * PI / 180
lonRad2 = lon2 * PI / 180
latRad2 = lat2 * PI / 180
 
2. 地点1と地点2の平均緯度・緯度差・経度差を計算
latAveRad = (latRad1 + latRad2) / 2
latDiff = latRad1 - latRad2
lonDiff = lonRad1 – lonRad2
 
3. 子午線曲率半径・卯酉線曲率半径を計算
meridian = 6334834 / ((1 - 0.006674 * sin2(latAveRad))3)0.5
primeVertical = 6377397 / (1 - 0.006674 * sin2(latAveRad))0.5
 
4. 距離の計算
dDistance = ((meridian * latDiff)2 + (primeVertical * cos(latAveRad) * lonDiff)2)0.5