日本測地系 ⇒ Google Local緯度経度URL変換式

ajax を利用した“グリグリ型”地図サイトが増えてきて、便利になりました。

Google Local  http://maps.google.co.jp/
Goo 地図    http://map.goo.ne.jp/
Yahoo!地図情報 http://map.yahoo.co.jp/beta/  ※スクロール地図(ベータ版)
マピオン    http://www.mapion.co.jp/bb/   ※MapionBB

ただ、Google Local は緯度経度を『度.小数点以下』の形式の浮動小数点数で
表記するのに対し、他のサイトでは『度.分.秒.千分率』の形式で表記します。
ちなみに、1度=60分、1分=60秒になります。
それだけでなく、世界測地系を採用する Google Local (Google Maps)に対して、
他のサイトでは日本測地系を採用しているようです。
このため、URL に記述されている緯度経度の数値で相互に互換性がありません。

【緯度経度の変換式を考えてみる】

書籍や街中の看板などで緯度経度の数字が記載されていても、
Google Local でURL数値指定でその場所の地図を見ることはできないので、
他のサイトを使う必要があります。

例えば、北緯 AA度BB分CC秒DDD/東経 SSS度TT分UU秒VVV の地図を表示させると、
各サイトの地図 URL は以下のようになります。
http://map.goo.ne.jp/map.php?ZM=9&MAP=ESSS.TT.UU.VVVNAA.BB.CC.DDD
http://map.yahoo.co.jp/beta/?lat=AA.BB.CC.DDD;lon=SSS.TT.UU.VVV;sc=2
http://www.mapion.co.jp/c/f?uc=1&grp=MapionBB&scl=10000&nl=AA/BB/CC.DDD&el=SSS/TT/UU.VVV

しかし、Google Local の表記は、AA.XXXXXX/SSS.YYYYYY の形式になっています。
http://maps.google.co.jp/maps?spn=0.01,0.01&ll=AA.XXXXXX,SSS.YYYYYY
(小数点以下6桁の精度とした場合。小数点以下の桁数は任意のようです)

http://ja.wikipedia.org/wiki/%E4%B8%96%E7%95%8C%E6%B8%AC%E5%9C%B0%E7%B3%BB
東京付近では、おおむね、日本測地系の数値から、北緯に12秒加え、
東経に12秒減ずると、世界測地系の数値が得られる。

とのことですから、以下のような変換式がなりたちます。
XXXXXX = ( BB * 60000 + (CC+12) * 1000 + DDD ) / 3.6 )
YYYYYY = ( TT * 60000 + (UU-12) * 1000 + VVV ) / 3.6 )

計算結果が5桁以下になってしまった場合は、先頭に0を足して6桁に揃えます。
パラメタ +12 と -12 が、日本測地系と世界測地系の補正値になります。
地域によって、この補正値が若干異なるようですが、東京付近については、
この計算式である程度の精度で変換できるようです。

【六本木ヒルズで試してみる】

例えば、Yahoo! MAPS デフォルトの六本木ヒルズの緯度経度は、北緯 35度 39分 26.212秒
  東経 139度 43分 57.529秒のようですから、
AA = 35
BB = 39
CC = 26
DDD = 212
SSS = 139
TT = 43
UU = 57
VVV = 529
XXXXXX = ( 39 * 60000 + (26+12) * 1000 + 212 ) / 3.6 = 660614
YYYYYY = ( 43 * 60000 + (57-12) * 1000 + 529 ) / 3.6 = 729313
と計算できます。

実際に、各サイトでアクセスしてみると、六本木ヒルズが表示されました。
http://maps.google.co.jp/maps?spn=0.01,0.01&ll=35.660614,139.729313
http://map.goo.ne.jp/map.php?ZM=9&MAP=E139.43.57.529N35.39.26.212
http://map.yahoo.co.jp/beta/?lat=35.39.26.212;lon=139.43.57.529;sc=2;mode=map
http://www.mapion.co.jp/c/f?uc=1&grp=MapionBB&scl=10000&nl=35/39/26.212&el=139/43/57.529

Google Local ⇒ 日本測地系への逆方向の計算式は、mod の計算が必要なので
電卓ではちょっと面倒ですね。エクセルとか使えばできるかな?


《追記》↑のような簡易式でなくて、より正確な変換式はこちら↓を参照してみて下さい。
http://blog.gpso.info/2006/08/post_2.html
 

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 13

なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)
驚いた
面白い 面白い
ナイス
ガッツ(がんばれ!) ガッツ(がんばれ!)
かわいい かわいい かわいい

この記事へのコメント

beginner
2006年02月08日 14:47
>“グリグリ型”地図サイトが増えてきて
ホントだ。
gooのは知ってたけど、Yahoo!でもできるようになったんですね。
gooやYahoo!の地図で、サブマップてのはわかりやすい~。
(あれっ、gooのサブマップって、前からあったっけ?)

座標系の変換情報、参考になりまーす。
ひらの
2007年02月10日 23:14
ありがとうございます。

google ⇔ mapionの変換ができなくて
悩んでいました。

本当に参考になります


この記事へのトラックバック

  • [Google]Google Mapsを利用してホームページにスクロール地図を設置してみた

    Excerpt: 先日「Ajax Google Mapsを自サイトに設置する - [JavaScript]All About」という記事を読んで、Google Maps様がずいぶん近くに来たものだなと思えた。 A.. Weblog: 非営業マンのD.T.P.・ビジネス勉強部屋 racked: 2006-04-06 12:50
  • [技術]GPSに関連した説明に関して・・・

    Excerpt: 昨日は「foma携帯とGoogleMAPのGPS測位表示のコツについて」というえらそうな説明を書いてましたが。結局は「度・分・秒」表記で区切ってgoogleMAPに値を入力するとちゃんとした検索がで.. Weblog: 大阪在住、BAJAで行こう!! racked: 2007-05-06 15:48