end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

座標(緯度経度)の表示方法と変換方法

インターネット地図サービスには、googleやyahoo、Mapion、MapFan、ゼンリン等がありますが、緯度(latitude)や経度(longitude)の表示方法も各地図サービスでバラバラです。

今回は、緯度経度の表示方法(測地系,書式)と変換方法を書き留めておきます。

書式の変換

座標の書式には、度(D),分(M),秒(S)等を用いて、次のものがあります。

書式名
D.M.S 35.39.26.180
D/M/S 35/39/26.180
Degree 35.657272
Second 504177980


書式の変換とは、10進法<->60進法である為、特に難しくはありません。ここでは、Degreeへの場合のみを記載しておきます。

Second→Degree Degree = Second/3600
DMS→Degree Degree = D + M/60 + S/3600

日本測地系(Tokyo Datum)<->世界測地系(WGS84)の変換

測地系の解説は、例えば、次のurlが参考になります。

http://www.gsi.go.jp/LAW/G2000/g2000-h3.htm

日本測地系(Tokyo Datum)と世界測地系(WGS84)の変換は、次のurlに紹介されていました。

http://blog.gpso.info/2006/08/post_2.html

日本→世界:緯度 lat_w = lat_t -lat_t*0.00010695 +lon_t*0.000017464 +0.0046017
日本→世界:経度 lon_w = lon_t -lat_t*0.000046038 -lon_t*0.000083043+0.010040
世界→日本:緯度 lat_t = lat_w +lat_w*0.00010696 -lon_w*0.000017467 -0.0046020
世界→日本:経度 lon_t = lon_w +lat_w*0.000046047 +lon_w*0.000083049 -0.010041

「なぜ、この式になるのか?」は別の機会に調べます。

また、perlを使用する場合、Geo::Coordinates::Converter というモジュールもあるようです。

http://search.cpan.org/perldoc?Geo::Coordinates::Converter

日本測地系2000(JGD2000)≒世界測地系(WGS84)

国土交通省国土計画局では、様々なgisデータを公開していますが、測地系日本測地系2000(JGD2000)を採用しているものが多いようです。

http://www.mlit.go.jp/kokudokeikaku/gis/index.html

いくつかのサイトを調べてみましたが、日本測地系2000(JGD2000)と世界測地系(WGS84)の差は数cm程度である為、JGD2000=WGS84と扱って問題なさそうです。