緯度経度表示された2つの地点の距離を計算

緯度・経度から距離を求める方法に基づいて2点の距離を求めてみる。

次の2点を考えてみる。座標系は10進数の世界測地系である。

駅名 緯度 経度
東京駅(1) 35.680737 139.767044
神田駅(2) 35.691569 139.770654

東京駅と神田駅との距離は?

経度の差 Δλ = (139.770654 - 139.767044) * (3.141592 / 180) = 6.30063728888889e-05

緯度の差 Δφ = (35.691569 - 35.680737) * (3.141592 / 180) = 0.000189054025244444

東西の差 Δx = A Δλ cos φ1
    = 6378137 * 6.30063728888889e-05 * Math.cos(35.680737 * (3.141592 / 180)) = 326.425401000337 (m)

南北の差 Δy = A Δφ
    = 6378137 * 0.000189054025244444
    = 1205.81247341052 (m)

距離 L = Math.sqrt(Δx * Δx + Δy * Δy)
    = Math.sqrt(326.425401000337 * 326.425401000337 +  1205.81247341052 * 1205.81247341052)
    = 1249.21465867585 (m)

東京駅付近の地図を表示して、画面にものさしを当ててはかってみたところ、実際、2点の距離は 1250 m くらいだった。