インターネット地図サービスには、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 というモジュールもあるようです。