您的位置:首页 > 其它

GPS设备定位的经纬度偏移转换

2017-01-05 17:56 337 查看
最近在做公司的一个项目中,通过终端设备上传的经纬度数据在手机APP上通过百度地图显示给用户,可是发现一只有偏差,后来查找资料发现是国家测绘局对地理位置进行了加密导致的。

国际经纬度坐标标准为WGS-84,为了符合国家测绘局对地理信息保密要求,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。例如百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。

在各种web端平台,或者高德、腾讯、百度上取到的坐标,都不是GPS坐标,都是GCJ-02坐标,或者自己的偏移坐标系。

比如,你在谷歌地图API,高德地图API,腾讯地图API上取到的,都是GCJ-02坐标,他们三家都是通用的,也适用于大部分地图API产品,以及他们的地图产品。

例外,百度API上取到的,是BD-09坐标,只适用于百度地图相关产品。

例外,搜狗API上取到的,是搜狗坐标,只适用于搜狗地图相关产品。

例外,谷歌地球,google earth上取到的,是GPS坐标,而且是度分秒形式的经纬度坐标。在国内不允许使用。必须转换为GCJ-02坐标。

所以把GPS定位的经纬度在百度地图上显示的时候,是需要将经纬度转换的,在各大平台都有提供相应的转换接口。

搜狗地图转换接口:http://map.sogou.com/api/documentation/javascript/api2.5/interface_translate.html

百度地图转换接口:http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition

高德地图转换接口:http://lbs.amap.com/api/webservice/guide/api/convert

百度提供的接口有一个参数没有说明,就是mcode,该mcode就是下图中的安全码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐