中国における地理的データの制限
本項では、中華人民共和国における安全保障上の理由による地理情報データの利用の制限について記述する。
中華人民共和国国内における地理情報データの利用は、安全保障上の理由により、国務院の下位機関である国家測量製図地理情報局から特別な許可を得た者のみに制限されている 。
その結果、多くの地図アプリケーションにおいて、中国国内の道路地図における道路と衛星地図情報が一致せず、オープンストリートマップなどのクラウドソーシングを利用した地図作成に関する活動が、非合法状態となっている。
2002年以降、中華人民共和国測量法 第7,26,40,42条により、中国本土における個人の測量・地図作成が非合法化された。この法律が禁止しているのは、
罰金は最低1万人民元、最高50万人民元。測量を中国国外の個人や組織が行う場合、中国内の資本と外国の資本による中外合弁事業の形態を取らなければならない。
2006年から2011年の間に当局は約40の測量・地図作成に関する非合法な事例を追跡した。マスメディアが報道したそれ以外の非合法な事例について以下に記述する。
これらの結果として、Panasonic、ライカ、フジフィルム、ニコン、サムスン電子といった大手デジタルカメラメーカーは中国国内における位置情報を制限した。
クラウドソーシングで全世界の地図を作成するプロジェクトであるOpenStreetMapは「中国国内において個人的な測量および地図作成活動は非合法である」との勧告を出している。
中国の規制においては、当局から認可された地図サービスはGCJ-02座標系を用いるよう指定している。百度地図はBD-09座標系を用いているが 、これもGCJ-02を元とした座標系である。
GCJ-02 (別名 火星座標系)は国家測量製図地理情報局により計算された測地系で、WGS84に基いている。 安全保障上の理由と思われる、ランダムなずれを経度と緯度の両方に付加するための難読化されたアルゴリズムが明らかに用いられている。
GCJ-02座標系におけるマーカーはGCJ-02座標系の地図上では正確な位置に表示される。しかし、GPSなどで測位したWGS-84座標系によるマーカーをGCJ-02座標系の地図上に置くと、100～700mの誤差がその「ランダムなずれ」のために発生し、逆もまた然りである。Google.comの道路地図では現実と50～500mのずれが発生するが、Google.cnの地図ではそのずれは発生しない。 MapQuestもOpenStreetMapのデータを衛星画像に完全に重ね合わせている。
GCJ-02は難読化されているにも関わらず、GCJ-02座標系とWGS-84座標系の換算機能を提供するオープンソースプロジェクトが C#, C、Go、Java、JavaScript、PHP、 Python、 R、Rubyといったプログラミング言語で提供されている。それらのプロジェクトは流出したWGS84をGCJ-02座標系に変換するコードを元にしていると思われる。その他の換算方法として、Google Chinaの地図と衛星画像を元に回帰分析に基づいて補間するというものもある。 Wu Yongzhengによる高速フーリエ変換を用いた解析は流出したコードによる結果に非常に近かった。
流出したコードによれば GCJ-02座標系はWGS-84座標系による入力に「ずれ」を付加する際にSK-42参照系を用いているように思われる。
BD-09座標系は百度地図に用いられている測地系で、すでに暗号化されているGCJ-02座標系に「ユーザのプライバシーをより保護するために」更に暗号化が付加されている。百度はGoogleMapやGPSで用いられているWGS-84座標からBD-09座標に変換するためのAPIを提供している。GCJ-02座標系と同様に、他の座標系に変換するためのAPIは存在しないが、Rなど様々な言語の実装がオープンソースで公開されている。
GCJ-02座標系にはformula_1の形で表される複数の高周波のノイズが用いられており、効果的に超越関数を作り、解析的解法を排除することが出来る。しかし、オープンソースで公開されている逆変換ではGCJ-02座標系の特性である局所的な線形性と単調性を活用しており、変換した座標はWGS84座標系からそれほどずれたものではない。
from typing import Callable
coords = complex
C2C = Callable[[coords], coords]
def rev_transform_rough(bad: coords, worsen: C2C) -> coords:
def rev_transform(bad: coords, worsen: C2C) -> coords:
略算的な方法でも1～2m程度の精度でWGS-84座標系による座標が得られ、より精度を上げた方法では2回の反復でセンチメートルレベルの精度が得られる これら2つの特性は座標系のいくつかの基本的な機能を保証しているため、この逆変換の方法は新しい座標系でも変わることなく適用できる。BD-09座標系からGCJ-02座標系に変換するプログラムは上記の略算法では、明らかに付加された20秒程度の定数のずれをまず取り除く。
中国国内でGPSがずれる問題とは[[#GCJ-02|GCJ-02]]座標系と[[WGS84]]座標系の違いに起因する問題である。[[GPS]]による座標はWGS-84座標系を用いている一方、中国の道路地図はGCJ-02座標系に基づいており、その差は500m近くある上に場所によって異なる。認可された位置情報サービス事業者（AutoNavi、NavInfoなど）はGPSによる位置を地図上に正しく配置するシフト補正アルゴリズムを入手する必要がある。
OpenStreetMapなどユーザの投稿した道路地図と衛星画像は正確に表示できる。これはGPS機器を用いてデータを収集しているためである (ただし法的には非合法である [[#法律]]を参照)。
Hereなどの地図事業者はGCJ-02座標系の道路地図に一致させるために、衛星画像にもずれを導入している。
Googleは中国の地図情報サービス事業者AutoNaviと2006年から提携し地図情報を得ている。
google."cn"/mapsは道路地図と衛星画像の両方がGCJ-02座標系である。しかし、ブラウザから送信されるWGS-84座標系による座標は誤った位置に描画されてしまう。反対に、google."com"/mapsは道路地図にはGCJ-02座標系を用いているが、衛星画像はWGS-84座標系を用いているため、WGS-84座標系の座標が正確に衛星画像上では描画できるという利点がある（ただし道路地図上ではずれが生じる）。Google Earthも衛星画像の表示にはWGS-84座標系を用いている。
GPSによる軌跡をGoogleMapの地図上に重ねて描画する際、Google.comの地図はGCJ-02座標系を用いているがGPSはWGS-84座標系であるため、同様にずれが生じる。この現象は2009年以降何度もGoogleフォーラムに投稿されており、サードパーティ製のアプリケーションを使用することで解決できる。中国の都市におけるずれの一覧の販売も行われている。こういった問題は2008年にはみられ、当時原因が不明とされ、GPSチップが改ざんされており誤った座標を出力するといった推測をする人もいた。
[[一国二制度]]により、中国本土の法律が適用されない[[香港]]、[[マカオ]]といった[[特別行政区]]内においては同様の規制は存在しない。従って、GPSのずれに関する問題は適用されない。しかし、特別行政区と中国本土の境界においては、ずれたデータと正しいデータが重なってオンライン地図のデータが壊れているように見える。この問題は国境をまたがって移動する旅行者にとって問題となるため、とくにこの問題を認識していない旅行者は注意しなければならない。
[[Category:中華人民共和国の政治的抑圧]]
[[Category:地図]]
[[Category:測地学]]
[[Category:中国の検閲制度]]