Loading AI tools
来自维基百科,自由的百科全书
出于国家安全考虑,中华人民共和国对在中国大陆境内进行地理测绘有专门限制。在使用[原创研究?]中华人民共和国境内的数据之前,需要从国务院下属的中华人民共和国国家地理信息部门(现为中华人民共和国自然资源部地理资讯管理司、国土测绘司)获得相应的资质许可[1]。未经许可进行测绘者可能须承担行政或刑事责任,而未有依照相关规定的网站如OpenStreetMap等亦会遭到屏蔽。
![]() |
![]() | 此条目可能包含原创研究。 |
为防用户误触犯法律,部分带有全球定位系统(GPS)功能的相机在中国大陆会自动关闭照片地理标记的功能。除此之外,由于国测局要求电子地图提供商使用一种国测局特制的坐标系,一些未按此规范做相应适配的地图程序的卫星图与街道地图之间将存在一定偏移。[2]
按照《中华人民共和国测绘法》第7、26、40、42条,未经官方许可的私人测绘制图活动属于违法行为,严重的将构成犯罪。
擅自发布中华人民共和国领域和管辖的其他海域的重要地理信息数据的,给予警告,责令改正,可以并处十万元以下的罚款;对直接负责的主管人员和其他直接责任人员,依法给予处分;构成犯罪的,依法追究刑事责任。
— 中华人民共和国测绘法,61[1]
2006到2014年期间,中华人民共和国当局处理了近40多例非法测绘案件。[3]媒体也报道了一些非法测绘案件:
由于这一法规限制,松下、徕卡、富士、尼康、三星等厂商的相机都限制记录中国境内的地理数据。[9]
四川省测绘地理信息局于2016年8月警告称,未经许可使用测绘无人机可构成非法测绘。[10]
对于出版的地图,中华人民共和国也有各种规定:
中华人民共和国自然资源部曾表示,中国的“问题地图”主要有两种情况。一是地图存在“危害国家主权统一、领土完整等严重问题”,容易出错的地方则是中华人民共和国声称拥有主权的阿克塞钦地区,藏南地区、南海诸岛、台湾岛以及钓鱼岛、赤尾屿。其中,阿克塞钦地区,藏南地区在问题地图中主要表现为国界绘制错误;台湾岛底色与中国大陆不一致,则违背“一个中国”原则及中华人民共和国立场;南海诸岛和钓鱼岛、赤尾屿也容易出现被漏绘的情况。第二种表现是危害国家安全和发展利益,“违法标注一些涉密或敏感的信息”。[11]
2016年,中国“有关部门”在一次大规模检察中,发现“问题”纸质地图253种,“问题”在线地图1000站。[12]
中国大陆法规要求地图提供商使用一种称为GCJ-02的坐标系统。百度地图另外使用一种BD-09坐标系[13],似乎也是基于GCJ-02[14]。
(禁止)未经批准,在测绘活动中擅自采用国际坐标系统
— 中华人民共和国测绘法, 40 (1)
导航电子地图在公开出版、销售、传播、展示和使用前,必须进行空间位置技术处理。
— GB 20263―2006《导航电子地图安全处理技术基本要求》, 4.1
GCJ-02(官方称地形图非线性保密处理算法[15],俗称火星坐标系、国测局坐标)是一种基于WGS-84制定的大地测量系统,由中国大陆国家测绘地理信息局制定,国家科学技术进步奖一等奖得主李成名开发。[16][17]此坐标系所采用的混淆算法[18]会在经纬度中加入看似随机的偏移。[14][19]
使用GCJ-02记录下的地点在GCJ-02的地图中会显示在正确位置,然而换成WGS-84的地图或地点记录就可能造成100-700米不等的偏移。据测量,[2]Google.com的地图与真实坐标相差约50-500米,[8][a]而中国大陆区的Google.cn地图则与卫星图无偏差,[b]雅虎地图显示的街道图也与卫星图偏差不大。[c]MapQuest地图与众包测绘、不受限制的OpenStreetMap重合。[d]
虽然GCJ-02坐标系统本身保密,但是目前已有C#[20]、C、Go、Java、JavaScript、PHP[21]、Python[22]、R[14]、Ruby[23][24]等多种语言的开源转换实现。这些实现似乎都基于某份泄露出的WGS到GCJ加偏代码实现。 [25]根据泄露代码注释[20],GCJ-02在加偏时使用的是SK-42参考系统的椭球体参数。这些参数用于计算一根经/纬线上一度的弧长,由此将之前算出的偏移从米数转换为度数,与输入值相加。
除了直接获取加偏算法,也有人通过对谷歌中国大陆地图与卫星间的偏移做回归近似处理。[26]Wu Yongzheng使用傅里叶变换解出了与泄露代码类似的高频结构。[27]除了加偏之外,现在也有一些反向纠偏的实现。
BD-09是百度地图使用的地理坐标系,其在GCJ-02上多增加了一次变换,号称“有助保护用户隐私”。[28][29]百度提供从 WGS-84、GCJ-02、BD-09、mapbar、51 地图坐标系(经纬度或墨卡托米制)转换到 BD-09 或 GCJ-02 坐标系(经纬度或墨卡托米制)的API[13],但“根据相关法律规定”,不支持从任何坐标系转换到 WGS-84 坐标系[30]。
和GCJ-02的情况类似,虽然没有转换为WGS-84的官方API,但却存在R[14]等多种语言[21]写成的开源版本。
数学上,BD-09 变换将 GCJ 坐标当作直角坐标转成极坐标后加噪音,在变回直角坐标之后再加入一个度数恒定的偏移量。
由于GCJ-02大量使用正弦函数制造高频噪音,形成了一个超越方程,导致基本不可能获得解析解。不过由于GCJ加偏前后的坐标相差并不太大,且其单调性和局部线性特性也较好[31],大部分开源实现都通过类似这样的算法实现反向纠偏:[14]
称要求的“好”坐标为 good。令“加偏函数”为 worsen,“坏坐标”为 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米的来回转换精度[21][32],而精确算法则可以在两个迭代内获得“厘米级”精度。[33][31]由于经纬度加偏坐标大多都具有前述的两个特性,这种纠偏方法适用于多种混淆方式。BD转回GCJ的代码正是在移除了20弧秒左右的固定经纬偏移后使用了类似于粗略算法的反向代入估计。[14]
中国大陆地图偏移问题指的是由GCJ-02与WGS-84之间的偏差引致的一系列问题。GPS的经纬度坐标使用的是标准WGS-84,画到使用GCJ-02的中国大陆路网图上时会造成距离在500m左右不等的显著偏移。国测局授权提供位置和地图服务的厂商,例如高德地图、NavInfo,都需要特别购买一个“纠偏”算法,将GPS坐标转为和地图一致的坐标系。[34][15]Google.com和Bing的卫星图不受此影响。开放街图由用户通过GPS采集坐标,所以也不会出现偏移问题。
Here地图和百度地图等地图服务商选择将卫星图一同偏移,以和GCJ-02路网保持一致。[e]
谷歌自2006年以来就从高德公司处获取地图信息。[35]Google.cn(中国区)的地图对于街道[f]和卫星[g]图都使用GCJ-02坐标系。全球版的谷歌地图(Google.com)使用GCJ-02的街道图,但出于不明原因保留了普通的WGS-84卫星图。[h]谷歌地球的卫星图使用的是WGS-84坐标。[36]
在全球版(.com)Google地图上使用API将GPS轨迹和街道图重叠显示会造成一样偏差的问题,这是因为GPS轨迹所使用的路径点使用的都是WGS-84坐标,不同于街道图使用的GCJ-02。自2009年来,这个问题已由用户在Google的产品论坛上屡次报告,[37]现在也有用于修正错误的第三方应用程式。[38]在算法泄出之前,一度有人销售各大城市坐标偏移量的数据集。[39]这个问题最早于2008年发现,但当时原因未知。
由于实施一国两制,香港、澳门这两个特别行政区的地图虽不受测绘法限制,但也有一定偏移问题。在这两地和中国大陆边境附近,网络地图提供的道路形状会因为偏移而互相断开。
例如,截至2018年4月[update],非中国大陆版本的谷歌地图上深圳境内的深圳地铁4号线的福田口岸站延伸进了香港境内[40]。
而澳门方面,截至2023年2月,珠三角环线高速(加林山隧道至港珠澳大桥珠海口岸段,往加林山隧道方向)的路线穿过澳门境内,另一方向则没有同类问题[41]。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.