超簡単バージョン(地球が球面であることを仮定)
① 2地点の緯度、経度からxyz 座標を求める
② 2地点のxyz 座標と内積の考えを使って角度を求める
③ 角度から距離を求める
ーーーーーーーー
① 2地点の緯度、経度からxyz 座標を求める
★東京(東京駅)
緯度 φ = 35度40分52.975秒 (35.681382)
経度 λ = 139度45分57.902秒 (139.766084)
デカルト座標系 (x, y, y) に変換すると (地球は半径1の球と仮定)
x1 = cos φ * cos λ = - 0.62010
y1 = cos φ * sin λ = 0.524655
z1 = sin φ = 0.583277
★ニューヨーク (Grand Central Station)
緯度 φ = 40度44分8.264秒 (40.735629)
経度 λ = 73度59分20.18秒 (-73.988939)
x2 = cos φ * cos λ = 0.208999
y2 = cos φ * sin λ = - 0.728335
z2 = sin φ = 0.6525696
② 2地点のxyz 座標と内積の考えを使って角度を求める
東京ベクトル a (x1, y1) とニューヨークベクトル b (x2, y2) の内積の表し方は2通りあって
1. a・b = |a|*|b|*cos θ
2. a・b = x1 * y1 + x2 * y2
半径1の球面を仮定すると |a| = |b| = 1 なので
cos θ = (x1 * y1 + x2 * y2 )
x1, y1, x2, y2, を代入して arccos より θ を求める
θ = 1.70227 (rad)
③ 角度から距離を求める
6370 * 1.70227 = 10843.4
東京-ニューヨーク間の距離は 10843 km
国土地理院のサイトで経緯度を入力して距離を算出すると
10,869 km と出た。
誤差は 26 km。
相対誤差で言うと 0.2 %ぐらい
0 件のコメント:
コメントを投稿