以下の計算式では、地球を半径 6,378,137 m の球体と仮定し、それぞれの測定地点の高度は無視されています。
距離計算使用式半正矢関数
a=sin((lat2−lat1)/2)*sin((lat2−lat1)/2)+
cos(lat1)*cos(lat2)*sin((lng2−lng1)/2)*
sin((lng2−lng1)/2)
大圏距離(メートル)=6378137*2*
atan2(√a, √(1−a))
このページで以前は球面三角形の余弦定理
cosθ=sin(lat1)*sin(lat2)+
cos(lat1)*cos(lat2)*cos(lng2-lng1)
大圏距離(メートル)=6378137*acosθ
を使用していました。検証結果、両式に極近距離の計算を除いて、差がありません。
方角計算使用式
y=sin(lng2-lng1)*cos(lat2)
x=cos(lat1)*sin(lat2)- sin(lat1)*cos(lat2)*cos(lng2-lng1)
θ=atan2(y, x)
面積計算使用式
Google にお任せです。
参考
計算参考 - JavascriptやRuby、C++などの具体的プログラム方法がリンクされています。
緯度経度(0,0)と(0,180)を上部の検索フォームに入力して調べると、大圏距離20,037,508 メートルが得られました。地球一周40,075,016メートルですか。
東京から見ると、セネガルの首都ダカールはデンマークのコペンハーゲン、ドイツのベルリン、フランスのパリ、スペインのマドリッドなどを直線で結んだ、さらに、もっと先にあるなど、この測定道具を使い込むと、地球規模の土地勘が身につくと思います。
使いすぎによるメモリーリーク、また計算誤差等の問題はご容赦を。
使用位置データ
世界規模の大量の地理データは
GeoNamesから、一等三角点については
一等三角点探訪からそれぞれ、ダウンロードして使用しております。
また、球面三角法はイスラム科学の所産で、9世紀、アラブのアル バッターニーという天文学者によって発見、創始されています。メッカの方向、礼拝の方角キブラを求める必要性、盛んになった貿易航海を助けることになったと思います。日本の伊能忠敬など歴史からの観点で地図を見るのも面白いですね。
キブラを求めるページも作りました。
位置データを10進変換したり、また60進に戻したり出来ます。変換可能データの例題が入力されてます。すべての形式に対応できず、エラーが頻繁に起きます。テストの上、ご使用下さい。特にデータ区切りのコンマだけは必須です。
付録 角度単位変換道具 (10進 - 60進)