百度地图坐标转换为gps_同一个坐标,谷歌、高德、百度地图居然指向了三个不同的地方。。。...

3e0f4ea4e21a11ff2bb5aa21c6c3d978.gif

今天世超逛知乎的时候,刷到一个很有趣的问题。

3b8811fad3857df5565b503b34ac813f.png

caf851c5b4ea333a258e48371c8fca83.png 把百度地图上搜的经纬度导入高德地图上,陆地变海洋了?

无独有偶,有人在百度地图上获取了坐标,往腾讯地图里一放,也产生了约一公里的误差。

24bfd376c9337e1fd0250906b17193a9.png

呃,这是咋回事?

049abe8465b2ee85885856a86b7d3a10.png  平时瞅着自己用的地图也没这么大的问题啊。

咱们今天就来说说坐标偏移这小破事~

这个事情呢,还要从 GPS ( 全球定位系统 )开始说起。

28eef954adb9db9a1f55df474b3de27d.png

早在 20 世纪 70 年代,美国为了情报搜集、应急通讯等目的,搞出了一套能在全球范围内实时进行定位、导航的系统 —— GPS 。

4cba295f3dda8ceb1c25c0b42fce597c.png 现在,从行车记录仪到智能穿戴,大家的生活已经离不开 GPS 。

扯回来,有了全球性的定位导航系统,你也要配套一个全球性的坐标系统才能用不是?

于是, WGS84 坐标体系诞生了,它随 GPS 通用,能正确套到现在大部分基于这套坐标建立的卫星地图上。

它今天戏份不太重要,大家只需知道有这么个东西就好。

4d5afaeb60dd191bf67cffae31352833.png

如果,大家都老老实实用这一个坐标系的话,就不会有今天这篇文章了。。。

有一些国家会使用各自的坐标系,不过跟 WGS-84 都还挺接近的。

6ec7a7bceaa6976fc2a24447a97a7aaf.png 基于各种各样的原因,我国也采用了自己的坐标系,还跟 WGS-84 差别还挺大。。。

咱们自家的坐标系是国测局坐标系 ( GCJ-02 )。又称 “ 火星坐标系 ” 。

1716390558a28e482e6a100228fa6079.png

并且我国要求,任何一个地图产品至少要使用  “ GCJ-02 ” 进行首次加密,不允许直接使用原始坐标体系。高德、腾讯等都是用的这个坐标系。

4cba295f3dda8ceb1c25c0b42fce597c.png 这个 “ GCJ-02 ” 又是什么呢?

简单来说,它是一个算法,通过一定的公式,对真实坐标系统进行人为加偏处理,将真实的坐标加密成虚假的坐标,将一张地图 “ 换 ” 成了另一张地图。

转换完成后,地图上的点会发生几十到几百米的偏移。

也就是说,你在手机地图上的 GPS ,可能跟你真实的 GPS 坐标有好几百米的误差。

6ec7a7bceaa6976fc2a24447a97a7aaf.png 别以为这事这样就完了。。。

本来大家都加上这个 “ GCJ-02 ” 就都能用了。

嗯,本来。。。

事实上,到了不同的地图公司,这事又发生了变化。

1d62037df4329e7421dc96c7baeedf61.png

部分公司会在 GCJ-02 的基础上再次加密。而且自己加密出来的坐标并不通用,只适用于特定公司的地图。

像百度,就偏要再骚一下,在 GCJ-02 要求加密的基础上,又通过自己的加密算法 BD-09 又对坐标加密了一次。

说到这里,大家都知道开头乌龙的原因了吧?

同一个坐标,在百度地图是陆地,到了高德地图可能就跑到了海里,再往谷歌地图里一放,跟前两个点都有好几百米误差。

4e6e4b026014228930236a9203cef612.png 同一坐标在不同地图上产生了偏移,并非是地图出了问题,而是不同的地图采用了不同的坐标系。

到这里,可能还有些差友还没反应过来。。。

cb629c3b7f4c14dee62dc976950bea75.png 地图是偏移的,但是为毛用手机地图的时候根本没感觉到呢?!

因为除了对手机地图加偏外,用户的定位也被加偏处理后再显示在地图上。相关坐标都被同一算法给加偏后,两者完全匹配, GPS 也就可以正常工作。

好了,以后大家身边的人遇到这样的事情。

caf851c5b4ea333a258e48371c8fca83.png 可以小小的装一波 X 给他们解释一下了。

参考资料

https://blog.csdn.net/jiang117/article/details/48031927

图片来源

谷歌

知乎

“ 今天一天尽研究这玩意了。

7d4988bc96966ba6fa91868e75ff70a1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值