今天世超逛知乎的时候,刷到一个很有趣的问题。
把百度地图标注上搜的经纬度导入高德地图标注上,陆地变海洋了?
无独有偶,有人在百度地图标注上获取了坐标,往腾讯地图标注里一放,也产生了约一公里的误差。
呃,这是咋回事?
平时瞅着自己用的地图标注也没这么大的问题啊。
咱们今天就来说说坐标偏移这小破事~
这个事情呢,还要从GPS(全球定位系统)开始说起。
早在20世纪70年代,美国为了情报搜集、应急通讯等目的,搞出了一套能在全球范围内实时进行定位、导航的系统——GPS。
现在,从行车记录仪到智能穿戴,大家的生活已经离不开GPS。
扯回来,有了全球性的定位导航系统,你也要配套一个全球性的坐标系统才能用不是?
于是,WGS84坐标体系诞生了,它随GPS通用,能正确套到现在大部分基于这套坐标建立的卫星地图标注上。
它今天戏份不太重要,大家只需知道有这么个东西就好。
如果,大家都老老实实用这一个坐标系的话,就不会有今天这篇文章了。。。
有一些国家会使用各自的坐标系,不过跟WGS-84都还挺接近的。
基于各种各样的原因,我国也采用了自己的坐标系,还跟WGS-84差别还挺大。。。
咱们自家的坐标系是国测局坐标系(GCJ-02)。又称“火星坐标系”。
并且我国要求,任何一个地图标注产品至少要使用“GCJ-02”进行首次加密,不允许直接使用原始坐标体系。高德、腾讯等都是用的这个坐标系。
这个“GCJ-02”又是什么呢?
简单来说,它是一个算法,通过一定的公式,对真实坐标系统进行人为加偏处理,将真实的坐标加密成虚假的坐标,将一张地图标注“换”成了另一张地图标注。
转换完成后,地图标注上的点会发生几十到几百米的偏移。
也就是说,你在手机地图标注上的GPS,可能跟你真实的GPS坐标有好几百米的误差。。。
别以为这事这样就完了。。。
本来大家都加上这个“GCJ-02”就都能用了。
嗯,本来。。。
事实上,到了不同的地图标注公司,这事又发生了变化。
部分公司会在GCJ-02的基础上再次加密。而且自己加密出来的坐标并不通用,只适用于特定公司的地图标注。
像百度,就偏要再骚一下,在GCJ-02要求加密的基础上,又通过自己的加密算法BD-09又对坐标加密了一次。
说到这里,大家都知道开头乌龙的原因了吧?
同一个坐标,在百度地图标注是陆地,到了高德地图标注可能就跑到了海里,再往谷歌地图标注里一放,跟前两个点都有好几百米误差。
同一坐标在不同地图标注上产生了偏移,并非是地图标注出了问题,而是不同的地图标注采用了不同的坐标系。
到这里,可能还有些差友还没反应过来。。。
地图标注是偏移的,但是为毛用手机地图标注的时候根本没感觉到呢?!
因为除了对手机地图标注加偏外,用户的定位也被加偏处理后再显示在地图标注上。相关坐标都被同一算法给加偏后,两者完全匹配,GPS也就可以正常工作。
好了,以后大家身边的人遇到这样的事情。
可以小小的装一波X给他们解释一下了。。。
如何把自己的门店或公司标注到地图里面。其实很简单:
1、先准备好门店或公司的门脸照片、名称及地址信息
2、然后使用微信扫描下面的二维码,按照要求提交资料
3、提交资料后,客服会联系您进行数据审核,最快2小时内上线