摘要:如何從GPS轉到谷歌?如何從百度轉到高德?這些都是小case。咱們還提供,如何將基站cell_id轉換爲GPS座標?html
-----------------------------------------------------------------------------------------算法
第一部分 各類座標系詳解api
用來表述地球上點的位置的一種地區座標系統。它採用一個十分近似於地球天然形狀的參考橢球做爲描述和推算地面點位置和相互關係的基準面。一個大地座標系統必須明肯定義其三個座標軸的方向和其中心的位置。一般人們用旋轉橢球的短軸與某一規定的起始子午面分別平行乾地球某時刻的平均自轉軸和相應的真起始子午面來肯定座標軸的方向。若使參考橢球中心與地球平均質心重合,則定義和創建了地心大地座標系。它是航天與遠程武器和空間科學中各類定位測控測軌的依據。若橢球表面與一個或幾個國家的局部大地水準面吻合最好,則創建了一個國家或區域的局部大地座標系。大地座標系中點的位置是以其大地座標表示的,大地座標均以橢球面的法線來定義。其中,過某點的橢球面法線與橢球赤道面的交角爲大地緯度;包含該法線和大地子午面與起始大地子午面的二面角爲該點的大地經度;沿法線至橢球面的距離爲該點的大地高。大地緯度、大地經度和大地高分別用大寫英文字母B、L、H表示。數組
國內的互聯網公司,都不會使用GPS座標,由於這不符合國家政策。因此你們都會使用GCJ-02座標系。網絡
國家保密插件,也叫作加密插件或者加偏或者SM模組,其實就是對真實座標系統進行人爲的加偏處理,按照幾行代碼的算法,將真實的座標加密成虛假的座標,而這個加偏並非線性的加偏,因此各地的偏移狀況都會有所不一樣。而加密後的座標也常被人稱爲火星座標系統。ide
目前使用火星座標系的地圖商:網站
騰訊搜搜地圖阿里雲
搜狐搜狗地圖編碼
阿里雲地圖加密
高德MapABC地圖
靈圖51ditu地圖
全部的電子地圖全部的導航設備,都須要加入國家保密插件。第一步,地圖公司測繪地圖,測繪完成後,送 到×××,將真實座標的電子地圖,加密成「火星座標」,這樣的地圖纔是能夠出版和發佈的,而後纔可讓GPS公司處理。第二步,全部的GPS公司,只要須要汽車導航的,須要用到導航電子地圖的,通通須要在軟件中加入國家保密算法,將COM口讀出來的真實的座標信號,加密轉換成國家要求的保密的座標,這樣,GPS導航儀和導航電子地圖就能夠徹底匹配,GPS也就能夠正常工做。
國內互聯網公司,都必須使用GCJ-02座標系。
百度座標對火星座標系進行了一次加密,造成了百度座標系.
目前使用百度座標系的地圖商:
百度Baidu地圖
少部分公司會在GCJ-02的基礎上再進行一次加密,但這樣的座標不通用,只適於特定公司的地圖。
圖吧是百度座標乘以10000的結果。
目前使用圖吧座標系的地圖商:
圖吧MapBar地圖
少部分公司會在GCJ-02的基礎上再進行一次加密,但這樣的座標不通用,只適於特定公司的地圖。
移動基站採用小區制,覆蓋範圍幾KM;而聯通基站採用大區制,能夠覆蓋幾十KM;輻射的頻率大小和能量決定覆蓋範圍。從另外一角度來看,從能量守恆的角度來分析:手機輻射大的其基站輻射小(GSM),反之手機輻射小的其基站輻射大(CDMA) 。
聯通聯通基站格式 MNC MCC LAC CELLID
MNC(Mobile Network Code,移動網絡號碼),用於識別移動客戶所屬的移動網絡。
MCC(Mobile Country Code,移動國家號碼),用於惟一地標識移動客戶屬於的國家。它由三位十進制數組成(000-999),例如我國的MCC爲460。
LAC(Location Area Code, 移動位置區碼),是爲尋呼而設置的一個區域,覆蓋一片地理區域,初期通常按行政區域劃分(一個縣或一個區),如今很靈活了,按尋呼量劃分。當一個LAC下的尋呼量達到一個預警門限,就必須拆分。 爲了肯定移動臺的位置,每一個GSMPLMN的覆蓋區都被劃分紅許多位置區,位置區碼(LAC)則用於標識不一樣的位置區。 位置區碼(LAC)包含於LAI中,由兩個字節組成,採用16進制編碼。可用範圍爲0x0000-0xFFFF,碼組0x0000和0xFFFE不可使用(參見GSM規範03.0三、04.08和11.11)。一個位置區能夠包含一個或多個小區。
CELLID(Cell Tower ID,移動基站號),單元是指一個DVB-T信號覆蓋的地理區域,這個信號是由一個或者多個發射機使用單一頻率傳輸的,每一個發射機能夠發射特定的傳輸流。單元也能夠包括中繼器所覆蓋的區域。兩個相鄰的單元之間能夠有重疊的區域。在一個用原始網絡標識符(original_network_id)標識的網絡裏面,標識一個單元的單元標識符(cell_id)是惟一的。
六、電信基站格式
SID NID BID
SID和NID肯定你如今使用的那裏的網絡,看你是否漫遊,BID主要是肯定你是用的哪一個基站。
2、座標如何轉換
GPS轉谷歌地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY& 功能手機
type=wgs2gcj&lng=116.420817&lat=39.906987
GPS轉到高德地圖:同上
GPS轉百度地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=wgs2bd&lng=116.420817&lat=39.906987
GPS轉圖吧地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=wgs2mb&lng=116.420817&lat=39.906987
谷歌地圖轉GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=gcj2wgs&lng=116.420817&lat=39.906987
谷歌地圖轉百度地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=gcj2bd&lng=116.420817&lat=39.906987
百度地圖轉GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=bd2wgs&lng=116.420817&lat=39.906987
百度地圖轉谷歌地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=bd2gcj&lng=116.420817&lat=39.906987
百度地圖轉高德地圖:同上
圖吧地圖轉GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=mb2wgs&lng=116.420817&lat=39.906987
基站轉GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=cellid2wgs&lac=4340&cellid=13178
基站轉谷歌地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=cellid2gcj&lac=4340&cellid=13178
基站轉到高德地圖:同上
基站轉百度地圖 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=cellid2bd&lac=4340&cellid=13178
經緯度轉地址(大地:lnglat2address-wgs,火星:lnglat2address-gcj,百度:lnglat2address-bd) http://ditujiupian.com/service/api.ashx?key=您的KEY&type=lnglat2address-wgs&lng=116.420817&lat=39.906987
以上服務由座標糾偏網站提供,更多細節能夠訪問網站,申請key。http://ditujiupian.com/
我申請了一個試用key:08145a5c5d2b487db7adeeac4a90f12a
3、百度座標轉到高德座標的算法
一、線性轉換
var TO_GLNG = function(lng){return lng-0.0065;};var TO_GLAT = function(lat){return lat-0.0060;};
二、球面座標轉換
#include <math.h> x_pi = 3.14159265358979324 * 3000.0 / 180.0 bd_decrypt( bd_lat, bd_lon, &gg_lat, & x = bd_lon - 0.0065, y = bd_lat - 0.006 z = sqrt(x * x + y * y) - 0.00002 * sin(y * theta = atan2(y, x) - 0.000003 * cos(x *= z *= z *
三、網絡接口
http://ditujiupian.com/service/api.ashx?key=您的KEY&type=bd2gcj&lng=116.420817&lat=39.906987
----------------------------------------------------------
另一篇關於座標轉換的文章,《爲什麼您的座標不許?》