師匠の散歩

きままにPerlでも

測地線計算GEO

2013年版世界測地線計算式をPerlで実装する/ subDistanceGEO.cgi

国土地理院のホームページにて、与えられた2地点の経緯度から測地線距離および方位角を求める計算式があります。もともとVBAで構築していたものをperlに変更したものを紹介します。

日本国内の2地点ではゾーン1しか現れないようなので、本スクリプトではゾーン1のみの計算を行い、その他のゾーンでは「ゼロ」を返すようにしています。

http://vldb.gsi.go.jp/sokuchi/surveycalc/bl2stf.html
つくば 360602,1400528
東京  353918,1394441
初期値: 360602 / 1400528 / 353918 / 1394441
度変換: 36.1005555555556 / 140.091111111111 / 35.655 / 139.744722222222Perlでの計算結果     = 58501.8725523318 [m] / 方位角 = 212.423830573434 
国土地理院の計算結果 = 58501.873        m
エクセルの計算結果  = 58501.8725523385 m
36.306450,139.371545 // 36.306468,139.371547
計算結果 2.00542524746181 [m]
-57.45560558,-5.499742219,-14.70484435,100.755699
9582633.38770221 / 111.548416111038

48.88666286,-123.4951148,-84.4367767,10.46583414 15830693.4055582 / 173.393878124925

17.59785228,43.24783544,58.85868723,-145.8870414 11489533.854586 / 4.86647887235225

単独で問題ない精度で構築できたので、今後はMaplib.pmに移植し、makeMap関数から呼び出せるようにする予定です。


subDistanceGEO.cgi // Topに戻る // indexに戻る
Copyright(C) 2009-2021 Grandmaster Last up : 2020/09/18