2005年11月30日

Google Maps が狂っている

よそに書くだけではなくて自分のところにも書いておきましょうということで:
日本付近での Google Maps の準拠測地系がころころ変わっています。11月25日前後に変更が入った後はすばらしく変てこな(はっきり言って間違った)測地系になっています。

先におさらい。
日本で使われることのある主要な測地系は三つあります。このうち GPS が利用する WGS84 と測量法により2002年4月1日以降公式に使用されている JGD2000 は歴史的には異なっていますが現状ではほぼ同じものになっており、多くの文章ではまとめて「世界測地系」と呼ばれています(が、実は正しい意味での世界測地系はいくつもあって、日本が採用したものはそのうちの一つであるに過ぎません)。この記事ではこれを JGD2000 と呼びます。もう一つは国土地理院が準拠してきた旧日本測地系(Tokyo97)で、2002年3月までに発行された国土地理院の地図はこちらに則っています。
Tokyo97 は地球を近似する楕円体の選択と原点(どこを経度0とするかなど)の選択が JGD2000 とは異なっています。
また Tokyo97 は主に三角測量と天文観測によって日本の国土にメッシュを引いたもので、どうしても誤差が生じます。このため期待される「正しい」メッシュにはなっていません。一方、現行の JGD2000 は GPS などを使った高精度の測量方法によっていますので、こうした歪みはありません。

ところで。
従来までの膨大な測量成果はすべて Tokyo97 で記載されていますから、今後これを活用して行くためににこれを JGD2000 での記述に変換する必要があります。上に書いた Tokyo97 と JGD2000 との食い違いは 1. 楕円体選択 2. 原点の違い 3. メッシュの歪み の三つの原因で生じています。このうちの 1. と 2. は計算式で相互に変換することができます。この計算式はきちんとパラメータを設定すれば日本中どこの緯度経度でも同じものを使えます。しかし 3. の歪みは場所によって違いますから、これを反映しようとすると場所ごとに何らかの表を参照して変換するしかありません。
実はここで困ったことが起きています。日本で使われることのある測地系は三種類と書きました。ところがここにもう一つ変テコな測地系があるのです。JGD2000 で記述された位置を、3. の歪みを忘れて 1. と 2. だけ反映する計算で「日本測地系」と称するものに戻したものです。これをやると、歪みのせいで沖縄の離島などでは実際の位置とのあいだに数百メートル以上の食い違いが生じてしまいます。にもかかわらず、日本で売られていたりオンライン利用可能になっている数値地図にはこの変テコな測地系で記述されているものが少なくありません。いろいろな人が独自に名前を付けていますが、ここでは Tokyo3p と呼ぶことにします。

さて。
Google Maps は何をやらかしたのでしょう?
Google Maps が採用しているゼンリンの地図は、ゼンリンデータコムが公開しているオンライン地図サービス いつもガイド を見る限り Tokyo3p で記述されていたようです。世界測地系と日本測地系のあいだをうろうろしている Google Maps は、11月25日前後に WGS84 に準拠することにしたようです。彼らが手元に持っているゼンリンの地図は変換時に考慮するべきもののうち 3. を反映していませんから、素直に変換式 fTokyo3p→JGD2000 に突っこむべきでした。ところがなぜか彼らはこの地図を 3. の歪みを考慮した方法 fTokyo97→JGD2000 で変換してしまったようです。

いま、緯度 B, 経度 L として JGD2000 で記述された場合 BJGD2000, LJGD2000、Tokyo3p で記述された場合 BTokyo3p, LTokyo3p と記述することにします。

fTokyo3p→JGD2000(BTokyo3p, LTokyo3p) = BJGD2000, LJGD2000

になります。しかし Google Maps は

fTokyo97→JGD2000(BTokyo3p, LTokyo3p) = B?,L?

というわけのわからない計算をしています。困ったことで…。

この問題を考慮して緯度経度を指定すれば、Google Maps でたとえば石垣島上の位置を正しく指示できることを確認しています。私は Google Maps API は叩いていませんがどうやらこちらでも同じ問題を起こしていそう。
Posted by rainbow7 at 07:46  |Comments(0)TrackBack(4) | このブログの読者になる | 更新情報をチェックする

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

http://blogs.dion.ne.jp/rainbow7/tb.cgi/2397853
※半角英数字のみのトラックバックは受信されません。
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
Google Maps の準拠測地系のイカレっぷりを書いたら、翌日には直ったらしい…。 情報源: ash 掲示板 見てたのね? (たぶんちがう)
Google Maps が直っている…【古今東西右往左往】 at 2005年12月02日 07:02
Google Maps が狂っている -古今東西右往左往- Tokyo97 と JGD2000 との食い違いは 1. 楕円体選択 2. 原点の違い 3. メッシュの歪みの三つの原因で生じていま..
旧日本測地系(TOKYO97)<->世界測地系(WGS84)変換はメッシュを考慮しないと歪む【ここギコ!】 at 2005年12月04日 11:59
Google API v2が2.36になってかなり新しいメソッドが増えたようである。 公式BLOGはこちら API v1はそれなりに使っていたのだが、v2は初めてなのでこのBlogでテスト! Goo..
MovableTypeとGoogle API v2【批評.com】 at 2006年02月12日 15:32
Google Mapsで中国の地図を表示してみてください。 表...
Googleの中国地図は、中国谷歌地図と世界Googleの路線図が同じ座標系で、世界Googleの衛星だけが別座標系【ここギコ!】 at 2010年10月02日 05:45