GPS座標の変換方法 — WGS84、GCJ02、BD09を解説
中国でGPSピンが実際の位置からずれて表示される理由とその修正方法を学びます。WGS84、GCJ02、BD09間の座標変換を、開発者、GISアナリスト、地図ユーザー向けの実例付きでステップバイステップで解説します。
GPS座標の変換方法 — WGS84、GCJ02、BD09を解説
上海でスマートフォンのGPSウェイポイントを記録しました:北緯31.2304°、東経121.4737°。それをBaidu Mapsに貼り付けます。するとピンは黄浦江の真ん中 — あなたの立っている場所から500メートルも離れた場所 — に落ちました。何が起きたのでしょう?
2つの座標系を混在させてしまったのです。あなたのスマートフォンはWGS84(世界標準GPS)で位置を記録しましたが、Baidu MapsはBD09(独自のオフセット方式)を要求します。修正は簡単です:表示前に座標を変換すること。このガイドで知っておくべきすべてを説明します。
3つの座標系
WGS84 — 普遍的なGPS言語
WGS84(World Geodetic System 1984、EPSG:4326)はGPS衛星が放送するものです。中国本土以外のGoogle Maps、世界中のApple Maps、OpenStreetMap、そしてほぼすべての国際地図APIで使用されています。天安門広場でスマートフォンが「39.9042, 116.4074」と表示するとき、それはWGS84です — 意図的なオフセットのない、地理的に正確な値です。
GCJ02 — 中国の義務的オフセット(火星座標)
GCJ02は、開発者から「火星座標」と呼ばれ、中国本土で公開されるすべての地図に対して中国国家標準GB/T 17278で義務付けられています。非線形の暗号化オフセットを適用し、座標を100〜500メートルずらします — 方向と大きさは場所によって異なります。アルゴリズムはリバースエンジニアリングを防ぐために意図的に難読化されています。
GCJ02を使用するプラットフォーム:
- AutoNavi(高徳地図) — 中国最大のナビゲーションアプリ
- Tencent Maps(腾讯地図) — WeChatに統合
- Apple Maps — 中国本土から閲覧した場合
中国市場向けアプリを開発する場合、座標はWGS84で保存し、中国地図上に表示するときのみGCJ02に変換する必要があります。
BD09 — Baiduの二重オフセット
BD09はGCJ02に第二の独自オフセット層を追加します。つまり、WGS84座標はまずGCJ02のずれ(約100〜500m)を受け、さらにBaidu独自のずれが加わり — 本来のGPS位置から最大約700メートルの総オフセットになります。
Baidu Mapsは中国で最も使われているプラットフォームの一つであり、LBSYUN開発者SDKがBD09仕様を文書化しています。Baiduで座標がずれて見える場合、ほぼ確実にWGS84またはGCJ02データを渡しています。
座標変換ツールが必要なとき
- あなたが開発者で、中国の地図API(AutoNavi、Tencent、Baidu)を統合しており、APIレスポンスをデータベース用にWGS84に正規化する必要がある
- あなたがGISアナリストで、中国向けの規制提出書類を準備している — GCJ02はGB/T 17278で必須
- あなたがデバッグ中で、ピンが100〜700メートルずれて表示される地図を調査している
- 中国でGPS機器を使用しており、WGS84出力を現地の地図アプリに表示する必要がある
変換方法 — ステップバイステップ
- 座標を入力 — 緯度/経度のペアを入力(例:
39.9042, 116.4074)、またはGPSボタンでデバイスから自動入力 - 元の座標系を選択 — 入力が使用しているものを選択:GPS/Google MapsならWGS84、AutoNavi/TencentならGCJ02、BaiduならBD09
- 変換先の座標系を選択 — 出力に必要な座標系を選択
- 「変換」をクリック — 結果は即座に表示されます。中国本土以外ではGCJ02 ≈ WGS84 — オフセットは適用されません
プライバシー:座標がデバイスから出ることはありません
位置情報をインターネット経由で送信するサーバーサイド変換ツールとは異なり、この計算機は完全にブラウザ内で動作します。座標はオープンソースアルゴリズムを使ってローカルで処理され、データがアップロード、保存、または第三者と共有されることは一切ありません。