中国の法律では、中華人民共和国における地理情報 の使用は、国務院傘下の測量・地図作成行政部門から特別な許可を得た組織に限定されている。[ 1 ]この制限の結果、無許可の測量に対する罰金、 GPSチップが中国国内の位置を検出した際に多くのカメラでジオタグ情報が欠落すること、さまざまなアプリケーションで道路地図と衛星地図の位置合わせが不正確になることなどが生じる。[ 2 ]
中国の議員らは、これらの制限は「中国の地理情報の安全を守るため」だと述べている。[ 3 ]国家測量製図局の宋朝志氏は、「中国国内で地図作成や測量作業を行いたい外国組織は、国家機密に触れたり、国家の安全を脅かしたりしないことを明確にしなければならない」と述べた。[ 3 ]中国国外の批評家は、これらの法律が中国経済の重要な部門を外国企業に閉鎖し、反対意見の取り締まりを助長していると指摘している。[ 3 ]
中華人民共和国測量地図作成法第7条、第26条、第40条、第42条によれば、中国本土では2002年以来、私的な測量地図作成活動は違法となっている。同法は以下を禁止している。[ 4 ]
中華人民共和国の管轄下にある領空、陸地、水域、およびその他の海域に関する重要な地理情報およびデータを、許可なく公表すること。
—中国国家測量地図地理情報局、中華人民共和国測量地図法
第1条には次のように書かれている。
この法律は、測量および地図作成事業の管理を強化し、その発展を促進し、国民経済の発展、国防の構築、社会の進歩に貢献することを確保するために制定されたものである。[ 5 ]
罰金は10,000~500,000人民元( 1,550~77,519米ドル)です。調査を実施したい外国人個人または団体は、中国と外国の合弁会社を設立する必要があります。[ 1 ]
2006年から2011年の間に、当局は約40件の違法な地図作成と測量事件を追及した。[ 6 ]メディアは、その他の違法な測量事件についても報道している。
その結果、パナソニック、ライカ、富士フイルム、ニコン、サムスンなどの主要デジタルカメラメーカーは、中国国内での位置情報を制限している。[ 12 ]
世界地図を作成するクラウドソーシングプロジェクトであるOpenStreetMapは、 「中国では私的な測量や地図作成活動は違法である」と警告している。 [ 13 ]
中国の法律および規制は、発行される地図の内容についても規定している。
2016年、中国の法執行機関による大規模な調査で、253種類の問題のある紙の地図と1000のオンライン地図ウェブサイトが発見され、そのほとんどは台湾と九段線の描写に関するものであった。[ 17 ]

中国の規制では、中国で承認された地図サービスプロバイダーは、GCJ-02(通称火星座標)と呼ばれる特定の座標系を使用することが義務付けられています。Baidu Mapsは、 GCJ-02に基づいていると思われるBD-09という別の座標系を使用しています。 [ 18 ] [ 19 ] [ 20 ]
電子航海地図は、発行、販売、再配布、および使用に先立ち、技術的な空間処理を施す必要がある。
— GB 20263-2006「電子航海図の基本セキュリティ手順」、4.1
GCJ-02(中国語:地形図非線形保密处理算法、ピンイン:Dìxíng tú fēixiànxìng bǎomì chǔlǐ suànfǎ、直訳:地形図非線形機密アルゴリズム)[21]は、中国国家測量製図局が使用する測地基準系であり、WGS-84に基づいています。[ 22 ]これは、国家安全保障の向上を目的として、緯度と経度の両方に一見ランダムなオフセットを追加する難読化アルゴリズム[ 23 ]を使用しています。 [ 20 ] [ 24 ]中国では、この必須アルゴリズムの使用にはライセンス料がかかります。[ 21 ]
GCJ-02 座標を持つマーカーは、GCJ-02 マップ上で正しい位置に表示されます。ただし、オフセットにより、WGS-84 マーカー (GPS 位置など) を GCJ-02 マップ上に配置し、またはその逆を行った場合、実際の位置から 100 ~ 700 メートルの誤差が生じる可能性があります。Googleマップのストリート マップは、衛星画像から 50 ~ 500 メートルオフセットされています。[ 11 ] [ 25 ] Yahoo! マップも、衛星画像と比較した場合、大きな誤差なくストリート マップを表示しました。[ 26 ] MapQuest も OpenStreetMap データを完璧に重ね合わせます。[ 27 ]
GCJ-02 の難読化に関する秘密主義にもかかわらず、C# [ 28 ] C、Go、Java、JavaScript、PHP [ 29 ] Python [ 30 ] R [ 20 ]およびRuby [ 31 ] [ 32 ]などの言語でGCJ-02とWGS-84 間の変換を提供するオープンソース プロジェクトがいくつか存在する。これらは WGS から GCJ への部分の流出したコードに基づいているようだ。 [ 33 ]変換の他の解決策には、 Google 中国のデータセットと衛星画像の座標からの回帰に基づいて座標を補間することが含まれる。[ 34 ] Wu Yongzheng による高速フーリエ変換分析を使用した試みは、流出したコードとよく似た結果をもたらした。[ 35 ]
流出したコードから、[ 28 ] [ 36 ] GCJ-02はSK-42参照システムのパラメータを使用している。これらのパラメータは緯度と経度の1度の長さを計算するために使用され、以前に計算されたメートル単位のオフセットをWGS-84入力座標の度数に変換できる。
BD-09 はBaidu Mapsで使用される地理座標系で、GCJ-02 にさらに難読化を追加して「ユーザーのプライバシーをより良く保護する」ものです。[ 37 ] [ 19 ] Baidu は、Google または GPS (WGS-84)、GCJ-02、BD-09、MapBarまたは51ditu座標から Baidu または GCJ-02 座標に変換する API コールを提供しています。[ 38 ] [ 18 ]現地法の要件により、[ 38 ] WGS-84 に変換する API はありませんが、R [ 20 ]やその他のさまざまな言語[ 29 ]でオープンソースの実装が存在します。
GCJ-02は、次のような複数の高周波ノイズを使用しているようです。これにより、超越方程式が生成され、解析解が排除されます。ただし、オープンソースの「逆」変換では、変換された座標がWGS-84からそれほど離れておらず、対応するWGS-84座標とほぼ単調な関係にあるというGCJ-02の特性を利用しています。[ 39 ] [ 20 ]
from typing import Callable# 簡略化のため、座標を複素数で表現しますcoords = complex # 座標から座標への変換関数C2C = Callable [[ coords ], coords ]def rev_transform_rough ( bad : coords , worsen : C2C ) -> coords : """``worsen``変換を大まかに反転します。 ``bad = worsen(good)`` は ``good`` に近いので、 ``worsen(bad) - bad`` を使って ``bad - good`` を近似することができます。 最初にeviltransformで見られました。 """ return bad - ( worsen ( bad ) - bad )def rev_transform ( bad : coords , worsen : C2C ) -> coords : """より正確には ``worsen`` 変換を反転します。 ``rev_transform_rough``と同様に、 ``worsen(a) - worsen(b)``は``a - b``を近似するために使用できます。 geoChina/R/cst.R (caijun 2014) で初めて確認されました。 反復のみのバージョン (粗い初期化なし) は fengzee-me/ChinaMapShift (2013 年 11 月) 以来知られています。 """ eps = 1e-6 wgs = bad improvement = 99 + 99 j # ダミー値while abs ( improvement ) > eps : improvement = worsen ( wgs ) - bad wgs = wgs - improvement return wgs粗い方法では wgs2gcj に対して 1~2 メートル程度の精度が得られると報告されているが、[ 29 ]正確な (固定小数点反復) 方法では、forward 関数を 2 回呼び出すだけで「センチメートル精度」が得られる。[注 1 ] [ 40 ] [ 39 ] BD-to-GCJ コードは、粗い方法とほぼ同じように動作するが、まず両方の座標に明示的に適用された約 20 秒角の定数シフトを取り除き、forward 関数と同様に極座標で動作する。[ 20 ]
双方向の有効な変換方法が確立されたことで、以下に述べる偏差に関するデータセットはほぼ不要になった。[ 41 ]

中国の GPS シフト (またはオフセット) 問題は、 GCJ-02とWGS-84測地系の違いに起因する一連の問題です。全地球測位システム (GPS) の座標は WGS-84 標準を使用して表現され、GCJ-02 座標に従う中国の道路地図にプロットすると、大きく変動する量 ( 500 メートル [1,600フィート]を超えることが多い) でずれて表示されます。位置情報サービスやデジタル地図 ( AutoNavi、NavInfo、Apple Maps [ 42 ]など) の認可されたプロバイダーは、地図上に GPS 位置を正しくプロットできるようにする「シフト補正」アルゴリズムを購入する必要があります。[ 41 ]衛星画像やOpenStreetMapなどのユーザーが提供した道路地図データセットも、GPS デバイスを使用して収集されているため (技術的には違法ですが)、正しく表示されます。
Hereなどの一部の地図プロバイダーは、GCJ-02の道路地図に合わせるために衛星画像レイヤーをオフセットすることも選択しています。[ 43 ]
Google は 2006 年以来、中国の位置情報サービス プロバイダーAutoNaviと協力して、中国で地図データを取得しています。[ 44 ] Google はストリート マップに GCJ-02 データを使用していますが、衛星画像レイヤーは変更されておらず、引き続き WGS-84 座標を使用しています。[ 45 ]これにより、WGS-84 の位置を衛星画像に正しく重ね合わせることができます (ただし、ストリート マップには重ね合わせられません)。Google Earth も衛星画像の表示に WGS-84 を使用しています。[ 46 ]
GPS トラックをGoogle マップや Google.com の API を介して取得したストリート マップに重ね合わせると、GPS トラックは WGS-84 を使用し、Google マップは GCJ-02 を使用するため、同様の表示オフセットの問題が発生します。この問題は 2009 年以降 Google プロダクト フォーラムで何度も報告されており[ 47 ]、それを修正するサードパーティ アプリケーションが登場しています[ 48 ]中国の都市の大規模なリストのオフセットを含むデータセットが販売されていました[ 49 ]この問題は 2008 年という早い時期に確認されており、原因は不明で、輸入された GPS チップが座標の誤った報告を引き起こすコードで改ざんされているという (誤った) 憶測がありました[ 50 ] 。
「一国二制度」の下では、中国本土の法律は香港特別行政区とマカオ特別行政区には適用されず、特別行政区には同様の制限はありません。したがって、GPS シフトの問題は適用されません。しかし、特別行政区と中国本土の境界では、Google マップなどのオンライン マップ[ 51 ]に表示されるデータが、シフトされたデータと正しいデータが重なる箇所で壊れています。これは、特にこの問題を知らない訪問者など、国境を越えて旅行するユーザーにとって問題となります。
wgs -= worsen(wgs) - badwgsbad第7条、第26条、第40条、第42条
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)李成名怀着「国家為為為、百姓為点為為」の信念、带领团队研制出地形图非線セキュリティ保護処理アルゴリズムは、「新しい」シリーズの車両を発表し、民生用のセキュリティ保護の成果を効果的に解決しました。[
...] しかし、李成名とその仲間は、「新しい地形」のアイコンを、単にお金を受け取るだけでなく、各城市に提供する必要があると信じていた。彼はチームを率いて地形図の非線形機密性アルゴリズムと「新しい地図」ソフトウェアスイートの研究開発を行い、それによって測量結果の機密性と民間利用の間の矛盾を効果的に解決した。しかし、李成万とそのチームは「新しい地図」ソフトウェアを都市に原価または無料で提供することを決定した。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)関連する法律の規定に従って、WGS84 タイプへのいかなる座標系の変換もサポートされていません。