世界測地系から日本測地系に変換する

ruby_map_service.001

また性懲りもなくMAP系サービスの開発ネタなんですが、この世には
世界測地系 と 日本測地系
なる2つの緯度・経度が存在する事を知ってしまいました。
というわけで今回もお勉強ノート。

2016/5/5 追記: 日本測地系→世界測地系の時のガチ計算Verを追加でエントリ投稿しました。
日本測地系から世界測地系に変換する(けっこうガチで計算するVer)

測地系??

明治時代の人が頑張って日本全国津々浦々の緯度経度を測量した時に使った系が日本測地系らしいのですが、これはあくまで日本国内を測ればOKでという事で地球全体の測量には適していなかったようです。
細かい話はよくわからんのですが、ベッセル楕円体というのを測定の基準(ものさし)に使っていたが、現在はこれは使われないんですって。
ちなみに現在の世界測地系は1984年に改定されたらしくてWGS84と言うそうです。
そうです。私が生まれた年です。(だから?)

現在世の中に出回ってるスマホやらアプリやらで現在地を緯度経度で取得しようとすると、世界測地系で取得されると思います。
実際にiPhoneアプリ開発でCLLocationManagerが扱っている緯度経度は世界測地系です。
これを日本測地系にしか対応していない地理データに当てはめて住所情報を呼び出すには、変換が必要なので今回はそれのメモです。

世界測地系から日本測地系に変換する

ちなみにこの変換の方法は調べたところ、めっちゃたくさんあるらしかったのですが一番手っ取り早くやりたいと思います。
(なんか、計算方法変えても実際の誤差は10m以内とかそれくらいのレベルらしーよー)
それが以下の近似式。

Lat_jp = Lat_w * 1.000106961 – Lng_w * 0.000017467 – 0.004602017
Lng_jp = Lng_w * 1.000083049 + Lat_w * 0.000046047 – 0.010041046

※ Lat_w:世界測地系 緯度、Lng_w:世界測地系 経度
Lat_jp:日本測地系 緯度、Lng_jp:日本測地系 経度

ちなみに、ふたつめの式の途中で+があるのが注意。
それ意外はマイナス(ー)だから、間違えてマイナスで誤植してハマった

ちなみに、世界測地系→日本測地系に計算したところ、これくらいの差が出ます。

世界緯度:42.16851583
日本緯度:42.16593046886964

世界経度:142.76812000
日本経度:142.7718774372463

地図に、測地系を間違えてデータを与えるとどれくらいの誤差がでるんだろう・・ と思って2つの測地系のデータを両方入れた所こうなりました。
日本の場所にもよるようですが、関東で450m前後の誤差がでるそうなので、だいたいそんな感じっぽいのが伺えますね!

481379970067

余談

ちょうどまさに今、フランスからフェルメールが書いた天球儀・地球儀が日本にきていて、五反田のDNPさんで見れるらしいですよ!
http://ima.goo.ne.jp/column/article/4101.html

2016-04-03 | Posted in 技術的なポエムNo Comments » 


関連記事

Comment





Comment



*