我花了整整两天的时间来了解中国臭名昭著的GPS转换的本质。经过噪声筛选后,出现了两个反复出现的症状:


GPS坐标(WGS-84)在中国地图上的绘制不佳,偏移范围为50至1000米。 >中国的Google和Apple Maps的街道地图与卫星图像之间存在严重偏差(实时示例)


各种消息来源相互矛盾:


出于安全考虑,冷战时期的法规强制要求在GPS芯片中引入随机偏移量。
保护主义措施旨在偏爱中国制造的GPS设备

中国只是使用了不同的投影系统,偏移量不是随机的
中国制造的GPS芯片偏移它们返回的坐标,以便匹配必须遵循GCJ-02基准的批准的中国地图。

实际情况是什么?这看起来像是应在Wikipedia页面上普及的问题类型,但是我还没有找到任何权威的方法。

建议的两个问题可能是重复的,但并不能完全回答原因是;而是描述症状。

评论

@Chris:正如PolyGeo重命名的那样,这个问题似乎不太可能比关于城市峡谷的虚假线索更好地表达出来?

我不会不同意。我可能会说,最合适的答案应该移到这里,因为法律法规等等。谈论偏移量并不能解决获取任何信号和技术性能的实际问题。我之所以投票,是因为我知道答案已经存在,并且最近已经进行了讨论。 gis.stackexchange.com/questions/59931(在上述答案中引用)可能是标记为重复的更好的候选者。或者,将两者都保留为打开状态,通过评论链接它们,然后在两个地方都放入答案(对于这个问题,您的措辞肯定更好)。

您使用不同的投影系统链接到有关中国的页面,与您观察到的行为无关。

@DevdattaTengshe:这表明了我对情况的困惑,这就是为什么我要求对此进行澄清。您可以投票重新提出问题吗?

@DanDascalescu:您可以解释为什么gis.stackexchange.com/a/59936/442无法澄清您的困惑吗?我将尝试扩大答案以涵盖这些要点

#1 楼

尽管每天都有成千上万的人受到影响,但英语权威人士对此问题的记录却很少。我花了两天的时间来了解情况,并且创建了一篇Wikipedia文章,内容涉及中国地图的限制以及中国GPS偏移问题。以下是我的研究回答这一问题的部分。

问题的根源是中国国务院对有关中国的空气,土地和水域的地理数据施加了严格的限制。测绘工作只能在得到国务院授权的情况下进行,外国人必须组建合资企业才能获得调查许可。对违反本(咳嗽保护主义和孤立主义咳嗽)法律的个人和公司处以罚款的例子很多。

提供中国街道地图的在线地图提供者必须获得国务院的批准。这些地图必须使用GCJ-02基准,而不是世界上大多数国家使用的WGS-84。这会导致WGS-84坐标(例如来自常规GPS芯片的坐标)无法正确绘制在GCJ-02地图上。



google.com/maps和google.cn/maps所显示的街道地图均使用GCJ-02坐标。这可以通过获取已知地标的GPS(WGS-84)坐标来证明,例如位于上海31.24427 N,121.48695 E的上海市人民英雄纪念碑:



Terraserver卫星图像-参考

相同坐标的Google China街道地图和卫星图像显示的位置距西北约500米。要查找地标,您必须使用GCJ-02的位置,即31.2423 N,121.4914 E


中国的Google.com街道地图也弄错了,并且还需要GCJ- 02坐标正确地在地标上归零。

Google.com Maps卫星图像使用WGS-84坐标,这会导致严重的不匹配:




我尚不清楚GPS是否在中国制造的芯片会直接返回GCJ-02坐标,或者如果它们返回WGS-84坐标,则可以将认可的地图软件转换为GCJ-02。

评论


我浏览了Android源代码,却没有发现这种转变。这使我相信GPS本身会给出转换后的值。鉴于大多数消费类电子产品都是在中国生产的,因此它们的固件可能会在GCJ-02中产生结果

–德夫达塔(Devdatta Tengshe)
2015年4月10日下午5:28

您可以共享在地图上绘制红线的GPX吗?

–德夫达塔(Devdatta Tengshe)
2015年4月10日下午5:29

@DevdattaTengshe:不幸的是我没有日志-我在这里找到了情节。但是,我们可以肯定知道中国地图是使用GCJ-02制作的。在OpenLayers中平移到上海,然后在OSM,Bing Aero和Google Streets之间切换。

– Dan Dascalescu
2015年4月10日6:55



那么Google卫星图像是否正确?我问是因为使用Google Maps API时,Google地形和Google路演与卫星地图(以及指向纪念碑的坐标)相比,地图的位置有所变化。哪一个是正确的?

– Zetah
16-8-26在10:32



#2 楼

@ Devdatta Tengshe
Google Maps应用程序给出了转换后的值以与GCJ-02地图匹配。在您的手机上打开Goog​​le地图网页,找到后,您会发现您的手机为您提供了与GCJ-02地图不匹配的正确WGS-84坐标。
因此,它与硬件,固件或Android,是想要满足其中国客户或在中国花费大量时间的客户进行的应用程序,它们将从WGS-84转换为GCJ-02坐标。
请查看以下内容:
http:/ /www.sinosplice.com/life/archives/2013/07/16/a-more-complete-ios-solution-to-the-china-gps-offset-problem

评论


您怎么知道自己得到正确的坐标?您将它们与什么进行比较?

–德夫达塔(Devdatta Tengshe)
15年9月22日在10:22

我有Google Earth,从技术上讲,它不是地图,它总是可以提供正确的WGS-84坐标。

–访客
15年9月23日在8:16

@Devdatta Tengshe显然我在中国,并且确实进行过检查。我在办公室旁边输入了著名建筑物的WGS-84坐标,在Google地图网页上我就位于其旁边,而我们俩都在GCJ-02地图上的错误位置,但在WGS-84上卫星图像(Google Maps应用程序提供了GCJ-02地图和WGS-84卫星图像,它们当然彼此不匹配)。像Google这样的大公司为获得其地图应用程序付费,将WGS-84坐标转换为GCJ-02。所谓的安全问题是荒谬的,这是一项业务。

–访客
2015年9月23日上午8:51

#3 楼

我刚从上海回来。在iPhone 6+上使用Google Maps,我向实际位置的西北方向移动了约500m。 Apple Map工作正常。

我的一个朋友在她的Android手机上与Google Maps进行了核对,发现位置正确。