質問: 緯度経度から2点間の距離を求める 緯度経度から2点間の距離を求めることを考えております。 qno.249931 http://oshiete1.goo.ne.jp/qa249931.html を参考に、色々、やっておりますが、どうも、うまく行きません。 サジェスチョンをお願いいたします。 今欲しいケースは、極めて近距離です。概略2km程度ですので、 下記を使っております。 >ある地点の緯度・経度をδ1・λ1,もう一方の地点はδ2・λ2とします。 >2地点の緯度の平均(ふつうに足して2で割る)をδ0とすると, >d=√[{(λ1-λ2)×(cosδ0)}^2 + (δ1-δ2)^2] >角度は度でもラジアンでも構いません(式中の値がすべて同じ単位であれば)。 >あとは,距離(km)=6370×dで2地点間の距離が出ます。(6370kmは地球の平均半径です) 具体例 a地点 35度10分08秒、136度53分08秒 --> 126608秒 、492788秒 b地点 35度09分46秒、136度55分01 秒 --> 126586秒、492901秒 δ1= 35*60*60+10*60+08=126608 λ1=136*60*60+53*60+08=492788 δ2= 35*60*60+09*60+46=126586 λ2=136*60*60+55*60+01=492901 δ0=(126608+126586)/2=126597 d=sqrt(((492788-492901)*cos(126597))^2+(126608-126586)^2)=111.9221523 従って、a-b、2地点の距離(km)は、 距離(km)=6370*111.9221523=712944.1101km 一方で、荒っぽく、1秒を緯度、経度ともに、30.9mとすると、 (地球1周≒4万km、全周=360度→360*60*60=1296000秒 (∴ 40000km*1000m/1296000秒≒30.9m) δ1-δ2=(126608-126586)=22 λ1-λ2=(492788-492901)=-113 距離(m)=sqrt(22~2+113^2)=3557.25975 この2地点間の距離は、大体3kmと分かっておりますから、 荒っぽい計算の方が合っています。 小生の計算は、合っているとは思いますが、サジェスチョンをお願いいたします。
回答: >距離(km)=6370*111.9221523=712944.1101km がよくわかりません。 2点間の距離は111.9秒と出ていますから、 (111.922/3600)*6370*2*pi/360=3.456(km) (pi=円周率) と出ます。 ここで、(111.922/3600)は、秒を度に変換するため、(6370*2*pi)は地球の円周(緯度360度分の長さ)、360で割るのは、それを緯度1度分の長さを出すためです。 普通は度分秒で出された緯度は度に直すものですが。 蛇足かもしれませんが、より精密に計算したい場合は、地球の扁平率(赤道まわりの円周と、北極・南極を通る円周で長さがどれだけ違うかを示したもの)も考えましょう。