原文地址: https://www.imooc.com/article/23512node
作過地圖相關開發的同窗確定會遇到這樣一個問題:一樣的經緯度座標,在百度地圖和高德地圖上位置不同。ios
關於座標系算法
咱們一般用經緯度來表示一個地理位置,可是因爲一些緣由,咱們從不一樣渠道獲得的經緯度信息可能並非在同一個座標系下。安全
不一樣的座標系之間可能有幾十到幾百米的偏移,因此在開發基於地圖的產品,或者作地理數據可視化時,咱們須要修正不一樣座標系之間的誤差。ui
WGS-84(World Geodetic System, WGS)是使用最普遍的座標系,也是世界通用的座標系,GPS設備獲得的經緯度就是在WGS84座標系下的經緯度。一般經過底層接口獲得的定位信息都是WGS84座標系。加密
GCJ-02(G-Guojia國家,C-Cehui測繪,J-Ju局),又被稱爲火星座標系,是一種基於WGS-84制定的大地測量系統,由中國國測局制定。此座標系所採用的混淆算法會在經緯度中加入隨機的偏移。3d
國家規定,中國大陸全部公開地理數據都須要至少用GCJ-02進行加密,也就是說咱們從國內公司的產品中獲得的數據,必定是通過了加密的。絕大部分國內互聯網地圖提供商都是使用GCJ-02座標系,包括高德地圖,谷歌地圖中國區等。blog
導航電子地圖在公開出版、銷售、傳播、展現和使用前,必須進行空間位置技術處理。— GB 20263―2006《導航電子地圖安全處理技術基本要求》,4.1接口
BD-09(Baidu, BD)是百度地圖使用的地理座標系,其在GCJ-02上多增長了一次變換,用來保護用戶隱私。從百度產品中獲得的座標都是BD-09座標系。開發