08 January 2014

我们伟大的祖国是个神奇的地方。你越了解它,就会越觉得不可思议。今天要说的是中国大陆地区独特的地图偏移问题。 如果你用过国外的GPS相关软件,会发现它们中的大多数都无法在地图上准确地定位。读完本文,你就明白为什么了。

GPS,全称是Global Positioning System,即全球定位系统。它的作用是为地球上每个点设置一个坐标。通过与GPS卫星通信,设备可以获取自己所在地的坐标,也就是知道了自己在地球上的哪一个点。 但这时它还不知道自己具体是在哪个行政区,周围都有啥。要知道这些需要借助地图。

地图,英文是Map,也就是映射。它本质上是一种对应关系,也就是把地球上每个点的坐标和这个点具体是什么(比如海淀区某大楼啊,某街道啊)关联起来。地图本身可以提供相对位置关系,比如这条路尽头是什么,这幢楼旁边有什么,等等。 但更重要的是,它与GPS结合可以进行绝对定位和导航,也就是可以让你知道你在哪儿,走在哪条路的哪个位置等等。相信不少人已经在使用相关的服务了,只是没有仔细区分开GPS和地图而已。

GPS数据是公共的,每台设备都可以通过公开的接口与GPS卫星通信来获取坐标。但地图数据却是由少数几个单位(如国家测绘部门)或公司(如高德地图)收集来的,别的公司一般直接使用它们提供的数据。而一个惊人的事实是:在中国,地图公司提供的地图数据都是错的!所谓错,是指这些地图并没有真实反映实际坐标与实际物体的对应关系。这错误乃是人为引入的:按照国家规定,地图测绘公司发布给公众的地图数据不能使用国际通用的GPS坐标,必须将GPS坐标按照某种算法变换一下,然后采用按变换后的新坐标(这个坐标被网友戏称为“火星坐标”)。公共地图数据采用“火星坐标”是出于国家安全的考虑,相应的变换算法也是保密的,只能由国家测绘部门提供的“保密插件”来完成。

由于设备从卫星那里获得的GPS坐标是国际通用坐标,而从地图公司获得地图数据采用的是变换后的“火星坐标”,偏差是必然的。要想在这些地图上正确的显示结果,应该先将GPS坐标转换成“火星坐标”,这需要向国家测绘局申请“保密插件”。国内合法的定位和导航公司就是这样做的。但大多数国外的GPS相关软件却没有这样的保密插件,于是只能用国际通用坐标去查询国内地图公司的地图数据,显示的结果便是不准确的。按照有关部门的想法,这样就保证了国家安全。

如果不想转换GPS坐标,就需要使用正确的地图。但在中国大陆,正确的地图是不开放给公众的,网上出现的经过纠偏的正确地图,只能被归为非法的行列。这是多么讽刺的一件事!无论作为一个GPS软件的使用者,还是作为一个着眼于未来的公民,我都希望中国大陆这种毫无意义的地图偏移能早日消除。当然,在此之前,我只能指望国外这些软件入乡随俗,早日用上“保密插件”了。否则我每天从实验室去食堂的路线,在Moves里的地图上都显示为从学校内跑到了学校外,这让人情何以堪!

最后指出一点,本文说的地图偏移只存在于行政区图上,卫星地图的数据由于是直接拍摄的(而且国内大多使用国外公司拍摄的结果),不受上述人为因素的影响。