中華人民共和國地理數據限制

出於國家安全考慮，中華人民共和國對在中國大陸境內進行地理測繪有專門限制。在使用中華人民共和國境內的數據之前，需要從國務院下屬的中華人民共和國國家地理資訊部門（現為中華人民共和國自然資源部地理資訊管理司、國土測繪司）獲得相應的資質許可。未經許可進行測繪者可能須承擔行政或刑事責任，而未有依照相關規定的網站如OpenStreetMap等亦會遭到封鎖。

為防使用者誤觸犯法律，部分帶有全球定位系統（GPS）功能的相機在中國大陸會自動關閉照片地理標記的功能。除此之外，由於國測局要求電子地圖提供商使用一種國測局特製的坐標系，一些未按此規範做相應適配的地圖程序的衛星圖與街道地圖之間將存在一定偏移。

## 法律規定

### 測繪

按照《中華人民共和國測繪法》第7、26、40、42條，未經官方許可的私人測繪製圖活動屬於違法行為，嚴重的將構成犯罪。

擅自發布中華人民共和國領域和管轄的其他海域的重要地理資訊數據的，給予警告，責令改正，可以並處十萬元以下的罰款；對直接負責的主管人員和其他直接責任人員，依法給予處分；構成犯罪的，依法追究刑事責任。

2006到2014年期間，中華人民共和國當局處理了近40多例非法測繪案件。媒體也報導了一些非法測繪案件：

- 2005年：日本人新疆非法測繪事件。
- 2007年3月7日：日韓學者受罰款。威海一合資企業未經許可僱傭外國測繪人員。
- 2008年3月25日：國家測繪地理資訊局取締中國大陸境內共10000多地圖網站中的某些地圖網站，大多是因為擅自發布地圖數據。
- 2009年1月6日：英國學生因「非法製圖活動」受罰款。
- 2010年：中國政府取締其境內42000地圖服務商中部分未經註冊、非法運營的服務商，其注重點在於消除錯誤信息、保護國家機密。新發布的地圖服務標準要求地圖服務商將儲存地圖數據的伺服器置於中國境內。
- 2014年3月14日：可口可樂公司被指非法測繪。

由於這一法規限制，松下、徠卡、富士、尼康、三星等廠商的相機都限制記錄中國境內的地理數據。

四川省測繪地理資訊局於2016年8月警告稱，未經許可使用測繪無人機可構成非法測繪。

### 地圖內容

對於出版的地圖，中華人民共和國也有各種規定：

- 《公開地圖內容表示若干規定》（測繪局，2003）禁止表示機場（在一個《關於公布可在公開地圖上表示的機場的通知》上的除外）、軍事建築、水路深度。《若干規定》對爭議領土的命名和表示，以及對俄國割占的中國領土的命名也有要求。
- 《公開地圖內容表示補充規定》（測繪局，2009）額外禁止了一些做法，以下是選列：
- 位置精度超過50m、高程模型網格小於100m
- 顯示重要基礎設施（電力設施、水利設施、氣象站）和公安設施（監獄、強制戒毒所）的位置
- 顯示機場和輪渡碼頭的內部結構
- 顯示公路、橋梁、隧道的限高、限寬、限重；顯示路面材料。
- 《地圖管理條例》（國務院，2015）額外規定網際網路地圖必須把數據保存在中國。《條例》對保護國家安全也有一些敘述，並且規定了一些懲罰。

中華人民共和國自然資源部曾表示，中國的「問題地圖」主要有兩種情況。一是地圖存在「危害國家主權統一、領土完整等嚴重問題」，容易出錯的地方則是中華人民共和國聲稱擁有主權的阿克塞欽地區，藏南地區、南海諸島、台灣島以及釣魚島、赤尾嶼。其中，阿克塞欽地區，藏南地區在問題地圖中主要表現為國界繪製錯誤；台灣島底色與中國大陸不一致，則違背「一個中國」原則及中華人民共和國立場；南海諸島和釣魚島、赤尾嶼也容易出現被漏繪的情況。第二種表現是危害國家安全和發展利益，「違法標註一些涉密或敏感的資訊」。

2016年，中國「有關部門」在一次大規模檢察中，發現「問題」紙質地圖253種，「問題」在線地圖1000站。

## 坐標系實現

<image>

中國大陸法規要求地圖提供商使用一種稱為GCJ-02的坐標系統。百度地圖另外使用一種BD-09坐標系，似乎也是基於GCJ-02。

導航電子地圖在公開出版、銷售、傳播、展示和使用前，必須進行空間位置技術處理。

### GCJ-02

GCJ-02（官方稱地形圖非線性保密處理演算法，俗稱火星坐標系、國測局坐標）是一種基於WGS-84制定的大地測量系統，由中國大陸國家測繪地理資訊局制定，國家科學技術進步獎一等獎得主李成名開發。此坐標系所採用的混淆算法會在經緯度中加入看似隨機的偏移。

使用GCJ-02記錄下的地點在GCJ-02的地圖中會顯示在正確位置，然而換成WGS-84的地圖或地點記錄就可能造成100－700米不等的偏移。據測量，Google.com的地圖與真實坐標相差約50－500米，而中國大陸區的Google.cn地圖則與衛星圖無偏差，雅虎地圖顯示的街道圖也與衛星圖偏差不大。MapQuest地圖與眾包測繪、不受限制的OpenStreetMap重合。

雖然GCJ-02坐標系統本身保密，但是目前已有C#、C、Go、Java、JavaScript、PHP、Python、R、Ruby等多種語言的開源轉換實現。這些實現似乎都基於某份洩露出的WGS到GCJ加偏代碼實現。根據洩露代碼注釋，GCJ-02在加偏時使用的是SK-42參考系統的橢球體參數。這些參數用於計算一根經/緯線上一度的弧長，由此將之前算出的偏移從米數轉換為度數，與輸入值相加。

除了直接獲取加偏演算法，也有人通過對谷歌中國大陸地圖與衛星間的偏移做回歸近似處理。Wu Yongzheng使用傅立葉變換解出了與洩露代碼類似的高頻結構。除了加偏之外，現在也有一些反向糾偏的實現。

### BD-09

BD-09是百度地圖使用的地理坐標系，其在GCJ-02上多增加了一次變換，號稱「有助保護使用者隱私」。百度提供從 WGS-84、GCJ-02、BD-09、mapbar、51 地圖坐標系（經緯度或墨卡托米制）轉換到 BD-09 或 GCJ-02 坐標系（經緯度或墨卡托米制）的API，但「根據相關法律規定」，不支持從任何坐標系轉換到 WGS-84 坐標系。

和GCJ-02的情況類似，雖然沒有轉換為WGS-84的官方API，但卻存在R等多種語言寫成的開源版本。

數學上，BD-09 變換將 GCJ 坐標當作直角坐標轉成極坐標後加噪音，在變回直角坐標之後再加入一個度數恆定的偏移量。

### 反向糾偏

由於GCJ-02大量使用正弦函數製造高頻噪音，形成了一個超越方程，導致基本不可能獲得解析解。不過由於GCJ加偏前後的坐標相差並不太大，且其單調性和局部線性特性也較好，大部分開源實現都通過類似這樣的演算法實現反向糾偏：

稱要求的「好」坐標為 good。令「加偏函數」為 worsen，「壞坐標」為 1=bad = worsen(good)。一個「混淆」坐標系有以下性質：

- 前後相差不大：worsen(a) ≈ a。
- 局部線性：如果 a ≈ b，那麼 worsen(a) - worsen(b) ≈ a - b。

粗略法: 由性質 1 和 2, worsen(good) - worsen(bad) ≈ good - bad。解方程可得 good ≈ 2 bad - worsen(bad)。

精確法（不動點迭代）: 取粗略法得到的結果 g。按照性質 2，將 worsen(g) 與輸入的 bad 對比，以估計剩餘的偏差。用估計出的剩餘偏差修正 g。重複迭代，酌情結束。

開源實現者稱，「粗略」演算法能提供1~2米的來迴轉換精度，而精確算法則可以在兩個迭代內獲得「厘米級」精度。由於經緯度加偏坐標大多都具有前述的兩個特性，這種糾偏方法適用於多種混淆方式。BD轉回GCJ的代碼正是在移除了20弧秒左右的固定經緯偏移後使用了類似於粗略演算法的反向代入估計。

## 中國大陸地圖偏移問題

<image>

中國大陸地圖偏移問題指的是由GCJ-02與WGS-84之間的偏差引致的一系列問題。GPS的經緯度坐標使用的是標準WGS-84，畫到使用GCJ-02的中國大陸路網圖上時會造成距離在500m左右不等的顯著偏移。國測局授權提供位置和地圖服務的廠商，例如高德地圖、NavInfo，都需要特別購買一個「糾偏」演算法，將GPS坐標轉為和地圖一致的坐標系。Google.com和Bing的衛星圖不受此影響。開放街圖由使用者通過GPS採集坐標，所以也不會出現偏移問題。

Here地圖和百度地圖等地圖服務商選擇將衛星圖一同偏移，以和GCJ-02路網保持一致。

谷歌自2006年以來就從高德公司處獲取地圖資訊。Google.cn（中國區）的地圖對於街道和衛星圖都使用GCJ-02坐標系。全球版的谷歌地圖（Google.com）使用GCJ-02的街道圖，但出於不明原因保留了普通的WGS-84衛星圖。谷歌地球的衛星圖使用的是WGS-84坐標。

在全球版（.com）Google地圖上使用API將GPS軌跡和街道圖重疊顯示會造成一樣偏差的問題，這是因為GPS軌跡所使用的路徑點使用的都是WGS-84坐標，不同於街道圖使用的GCJ-02。自2009年來，這個問題已由使用者在Google的產品論壇上屢次報告，現在也有用於修正錯誤的第三方應用程式。在演算法泄出之前，一度有人銷售各大城市坐標偏移量的數據集。這個問題最早於2008年發現，但當時原因未知。

### 香港及澳門

由於實施一國兩制，香港、澳門這兩個特別行政區的地圖不受測繪法限制，但偏移問題卻導致這兩地跟中國大陸接壤的邊境附近顯示錯誤，網路地圖提供的道路形狀會因為偏移而互相斷開。這類問題給跨境旅客帶來一定麻煩，更讓對其不了解的人士感到十分奇怪。

例如，非中國大陸版本的谷歌地圖上深圳境內的深圳地鐵4號線的福田口岸站延伸進了香港境內；一些跨境口岸和道路如羅湖口岸、落馬洲口岸等港方和深方不對接。

而澳門方面，截至2023年2月，珠三角環線高速（加林山隧道至港珠澳大橋珠海口岸段，往加林山隧道方向）的路線穿過澳門境內，另一方向則沒有同類問題。此外，也存在港珠澳大橋珠澳口岸人工島整個偏移，港珠澳大橋橋本體部分偏移。

除了兩地邊境地區外，香港和澳門其餘地區沒有偏移問題，使用一般的手機GPS功能可以在谷歌地圖、開放街圖上準確顯示位置。

## 參見

- 日本人新疆非法測繪事件
- 電視劇《親愛的，熱愛的》地圖事件