komoriss緯度経度から2地点間の距離を計算する!Google方式とヒュベニ式・表計算ソフトで計算できる・GPSデータも使える地上の2地点の距離を緯度と経度から計算する。地球は真球ではなく回転楕円体に近いので、より高い精度を求めるならば回転楕円体による計算をする必要がある。地球を真球をとして計算しても実用的には十分な数値が得られる。ヒュベニの近似式による計算方法も追加した。真球として計算するので、長半径と短半径のどれを使うのかというと、平均半径を使用する。平均半径にも色々な考え方があり、いろいろな数値がある。Mapで使用されている方法で計算する。真球として計算され、地球の半径を6371kmとしている。球面上の最短距離(D)を求める公式を下に示す。地中を貫通する最短距離ではなく、表面に沿った距離だ。経度=lon2)とする。6371・arccos(cos(lat1)+cos(lat2)\\*cos(lon2-lon1)\\+sin(lat1)*sin(lat2))$$ここで緯度と経度はラジアンでの表記が求められる。度数をラジアンに換算するには、πを掛けて180で割れば良い。エクセルなど表計算ソフトで計算する表計算ソフトに次のように緯度と経度を入力する。136別のセルには次のように入力する。)すると、上記の二つの緯度と経度から次のような数値が計算される。ように表示されることが多いだろうと思う。単位はkmなので、おおよそ287.4kmと計算できる。国土地理院サイトでは287,325.451(m)である。北緯と南緯、東経と西経があるので、ここでは北緯はプラスの数値で、南緯はマイナスの数値とし、同様に東経をプラスで西経をマイナス数値にすれば、この式で計算できる。度数は、度分秒ではなく十進の数値で入れる。北緯であれば35.9876のように設定する。して距離を計算するのは実は大変に難しいことが分かった。簡単に計算できる公式が見つからない。国土地理院のサイトでは、かなり正確と思われる距離の計算を得ることができる。それでも実測ではないので、あくまでも理論値ということになる。GRS80(<-besselも選択できる)という地球に近似した楕円体モデルの上での計算になる。地球は、地殻やマントルも均一ではないし、地下の重金属の分布によっても重力の不均衡がある。現実の平面は実測しないと分からないが、ある程度の誤差を受け入れることで、計算が容易になるということだ。国土地理院の式は繰り返しの計算指示などがあり複雑でシステム化しにくいので、たとえ精度はもっと劣っていてももっと簡単で扱いやすい計算式がないかと探す。Vincentyが開発した数式もVincenty法として使われており精度も高いようだが、Vincenty法にも反復計算が含まれるので表計算ソフトでは簡単に計算できない。Hubeny)が1950年代に考案した平均緯度式の測地線長を算出方法というのを試してみる。日本では、カシミール3Dで使用されたことで話題になり、K.Hubenyの簡略式がこの業界では有名になった。$$定数として計算できるものを代入して簡略化していく。ラジアンに換算して代入する表計算ソフトで一発で計算するための式は以下の通り。セルの緯度経度の設定は上記と同じ。(1-0.006674*sin((B1+B3)/2*Pi()/180)^2)*cos((B1+B3)/2*Pi()/180)*(B2-B4)*Pi()/180)^2)平均緯度を単純に2地点の緯度の算術平均となっている。緯度が離れていたり、距離が長い場合には、算術平均では少しまずいのではないかとも思うのだが、おおよそそれらしい数値が得られる。上記の例と同様の緯度経度で計算すると、287,309.947mと計算される。真球としての計算とは152m程度の差がある。最初の例をまとめて比較してみる。0.000この例では、ヒュベニ近似式は真球近似式よりも誤差が少なかった。地球の赤道円周は40075kmで、赤道から極までの長さは10001.97kmとされている。10000.75kmと計算してみると、ヒュベニの式の方が実測値に近いことがわかる。東京(緯度:35.675899、経度:139.744854)、ロンドン(緯度:51.475831、経度:-0.130997)の例をみると、国土地理院の計算サイトでは測地線長:9,588,734.165(m)となるが、真球計算では9565.134km、ヒュベニでは11432.697kmとヒュベニの誤差が耐え難い大きさになる。ヒュベニでは始点と終点が、緯線と経線が直角となる三角形の斜辺に近似できる時には有効だということだ。上記の東京=ロンドンのように緯度が上がってまた下がるようなコースをとる場合にはうまく計算できない。東京-沖縄を測ってみると、国土地理院サイトでは1,553,290.759(m)が、真球で1553.679km、ヒュベニで1555.532kmとなる。距離が1000km以下となる場合に適しているようだ。地表の距離を求めるのは、実は複雑である。国土地理院サイトにある計算式はあまりに複雑である。途中である値の絶対値が10のマイナス15乗を下回るまで反復して計算せよという部分がある。表計算ソフトの1セルには書けないのだ。回転楕円体の表面の最短距離を計算するのはなぜこんなに複雑なのか。近似値ではない値を求めようとしても単純にはいかないということには驚かされる。前の記事:地球上の緯度経度1秒の距離を計算する:表計算ソフトでも簡単に計算できる・GPSにも応用できる緯線に沿った距離、あるいは経線に沿った距離を求めるというのであれば、こちらの記事の計算では回転楕円体として計算しているので精度が高い。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。