中国でGoogleマップがずれて見える理由 — GCJ-02とBD-09を理解する
中国でGPS座標を開いて地図ピンが数百mずれていたことがあるなら、それは中国の国家座標難読化規格GCJ-02によるものです。中国大陸のすべての地図サービスは法律でこのオフセットを適用する義務があり、Baiduマップはさらに独自の第2層を重ねています。fastool.ioの座標変換ツールはこのズレを瞬時に直します。ズレが存在する理由と計算のしくみを理解することは、開発者、GIS専門家、中国でGPSナビを使うすべての人に不可欠です。
WGS84(世界のGPS標準)を理解する
WGS84(世界測地系1984)は、GPS衛星と大半の国際地図(中国国外のGoogleマップ、OpenStreetMap、Apple Maps)が使う座標系です。(39.9042, 116.4074)というWGS84座標は天安門広場を指します。WGS84は世界で数m以内の精度があり、「真」の基準です。ここで説明する他の座標系はすべてWGS84を意図的に歪めたものです。
GCJ-02(火星座標)のオフセットを適用する
中国の法律(測絵法)では、中国大陸で公開されるすべてのデジタル地図にGCJ-02の使用が義務付けられ、WGS84座標に非線形で位置依存のオフセットが加えられます。ズレは100〜700mで場所によって変わります。(39.9042, 116.4074)のWGS84座標はGCJ-02ではおおよそ(39.9085, 116.4121)となり、ピンが約500m東へ移動します。中国でGPS軌跡が道路を外れて見えるのはこのためです。fastool.ioの座標変換ツールは、標準化された逆変換アルゴリズムで中国内の任意地点を補正します。
Baidu向けにGCJ-02とBD-09を変換する
BaiduマップはGCJ-02の上にBD-09という独自の暗号化層をさらに加えています。GCJ-02座標はさらに50〜150mずらされ、BaiduのAPIが受け付けるBD-09座標になります。中国国内で座標を表示するアプリを作る場合の変換チェーンは、GPS値(WGS84)→GCJ-02(Gaode/Amap、Tencentマップ)→BD-09(Baiduマップ)です。fastool.ioの座標変換ツールは、この3座標系の正逆すべての変換をワンクリックで処理します。
既知の基準点で変換精度を検証する
変換後は必ず既知の基準点で答えを確認してください。北京の故宮には(39.9163, 116.3972)というWGS84座標が記録されており、GCJ-02ではおおよそ(39.9205, 116.4018)です。WGS84値を変換ツールに入れ、WGS84→GCJ-02を選び、結果が期待されるGCJ-02値と±5m以内で一致するか確認します。BD-09の検証は、同じランドマークについてBaiduマップが表示する座標と比較します。10mを超えてずれる場合は入力精度を再確認してください。緯度0.0001度の誤差は地上で約11mに相当します。本ツールはオープンソースのEvilTransformリファレンス実装と照合した標準GCJ-02アルゴリズムを使用し、民間利用でサブメートル精度を確保しています。
FAQ
- なぜ中国はWGS84ではなくGCJ-02を使うのですか?
- 中国の2002年測絵法は、国家安全上の理由から国内のすべての地図サービスに座標の難読化を義務付けています。その義務的規格がGCJ-02(通称「火星座標」)です。Googleマップのような国際サービスも、中国国内の地図表示にはGCJ-02を適用しなければなりません。中国大陸の外ではGoogleマップは標準WGS84を使うため、同じ座標でも中国の内外で地図上の位置が変わって見えます。
- このGPSズレはWeChatやDiDiのようなアプリにも影響しますか?
- はい。中国国内のアプリはすべて内部でGCJ-02またはBD-09を使っています。WeChat(GCJ-02)で共有した位置ピンを、中国国外のGoogleマップ(WGS84)で開くと、ピンは100〜700mずれます。fastool.ioの座標変換ツールで直せます。GCJ-02→WGS84を選んでWeChatの座標を入力すると、外部地図用の正しいWGS84位置が得られます。
- 衛星画像を使えばズレを回避できますか?
- 回避できません。中国の地図プロバイダー(Baidu、Gaode、Tencent)が配信する衛星画像タイルもGCJ-02に合わせてあり、画像自体がずれています。生のGPS軌跡をGCJ-02の衛星画像に重ねると、軌跡が建物を通るように見えます。確実な方法は地図化の前に座標を変換することだけです。中国の地図に重ねるならGPS(WGS84)→GCJ-02、中国地図の座標を国際ツールへ渡すならGCJ-02→WGS84です。
関連ガイド
参考文献
- [1]Wikipedia — Restrictions on Geographic Data in China (GCJ-02 origin)— Wikipedia
- [2]Baidu Maps Open Platform — BD09 Coordinate System— Baidu Maps
- [3]OpenStreetMap Wiki — GCJ-02 Coordinate Offset Challenge— OpenStreetMap Foundation
- [4]NASG — National Administration of Surveying, Mapping and Geoinformation of China (Surveying and Mapping Law)— National Administration of Surveying, Mapping and Geoinformation (NASG)