GPS設備定位的經緯度偏移轉換

最近在做公司的一個項目中,通過終端設備上傳的經緯度數據在手機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就是下圖中的安全碼
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章