手機是如何實現(xiàn)定位的——基站、Wi-Fi、GPS

一、常見定位技術(shù)

1.基站定位

每個手機基站都有一個ID標識符,插上sim卡的手機或其他終端可以搜集周圍所有收到信號的基站和其ID,查詢定位服務器可知基站位置。再通過計算基站信號傳播到終端的角度、時間和強度等信息,就可以確定終端的位置。基站定位速度快,但準確度較低,精度為平均200米左右,視運營商基站覆蓋范圍而定。

無網(wǎng)基站定位:傳統(tǒng)的基站定位需要連接云端服務器,產(chǎn)生網(wǎng)絡(luò)流量,蘋果在iOS 4開始對其進行了優(yōu)化,預先將一些重要基站提前存儲在iOS系統(tǒng)中,在無網(wǎng)情況下,不用上網(wǎng)也能通過這些本地基站信息定位到用戶位置,但這個誤差范圍更大,在10公里到50公里。

2.Wi-Fi定位

每一個Wi-Fi熱點都有一個獨一無二的MAC地址,智能手機等設(shè)備開啟Wi-Fi后就會自動掃描附近熱點并上傳它們的地理位置信息,這樣就建立了一個龐大的熱點位置數(shù)據(jù)庫。反過來講,如果你的設(shè)備連上了某個Wi-Fi熱點,那么就可以調(diào)用服務器或離線數(shù)據(jù)中附近所有熱點的地理位置信息,而服務器會參考每個熱點的信號強弱計算出設(shè)備的大致地理位置,最后再返回給用戶。Wi-Fi定位精度為20米左右。

無網(wǎng)WIFI定位:傳統(tǒng)的WIFI定位需要網(wǎng)絡(luò),但是iOS對其進行了優(yōu)化,在設(shè)備有網(wǎng)絡(luò)連接時,會大致定位出設(shè)備的位置,并自動下載所在地區(qū)周圍(幾個街區(qū)寬度或者更多)所有的WIFI熱點的信息到本地。之后,當設(shè)備在周圍移動并進行WIFI定位的時候,即使沒有網(wǎng)絡(luò),iOS照樣可以利用之前下載的WIFI熱點信息定位出設(shè)備的位置。

3.GPS定位

GPS定位需要GPS硬件支持,直接和衛(wèi)星交互來獲取當前經(jīng)緯度與準確時間。接收機在戶外接收到天上的定位衛(wèi)星發(fā)射出來的信號,得到衛(wèi)星的位置,推算出接收機到每顆衛(wèi)星的距離,進而推算出手機的位置。通過GPS方式定位準確度是最高的(10米左右,取決于芯片),但是從GPS模塊啟動到獲取第一次定位數(shù)據(jù)(冷啟動),可能需要比較長的時間,并且GPS模塊耗電量大,且在室內(nèi)幾乎無法使用。

4.AGPS定位(Assisted?GPS)

AGPS利用網(wǎng)絡(luò),首先將基站定位或者WIFI定位獲得的大概位置發(fā)到遠程服務器,有服務器進行查詢和計算,得出這個位置下當前衛(wèi)星信息,反饋給設(shè)備,設(shè)備就可以直接用這些信息來接受衛(wèi)星信號,不用等待漫長的衛(wèi)星軌道信息廣播完畢后,才能知道衛(wèi)星的位置,大大縮短搜星時間。GPS解決方案的優(yōu)勢主要體現(xiàn)在其定位精度上,在室外等空曠地區(qū),其精度在正常的GPS工作環(huán)境下,可以達到10米左右,堪稱目前定位精度最高的一種定位技術(shù)。該技術(shù)的另一優(yōu)點為:首次捕獲GPS信號的時間一般僅需幾秒,不像GPS的首次捕獲時間可能要2~3分鐘。

二、iOS與Android的定位實現(xiàn)

1.iOS的定位實現(xiàn)

iOS定位使用都是Core Location框架,然后用CLLocationManager類來實現(xiàn)定位,系統(tǒng)會自動分配使用哪種定位方式,并且還會有緩存。

iOS設(shè)備能提供3種不同途徑進行定位:Wi-Fi、蜂窩式移動電話基站、GPS衛(wèi)星(包括AGPS)。

iOS不像Android系統(tǒng)在定位服務編程時,可以指定采用哪種途徑進行定位。iOS的API把底層這些細節(jié)屏蔽掉了,開發(fā)人員和用戶并不知道現(xiàn)在設(shè)備是采用哪種方式進行定位的,iOS系統(tǒng)會根據(jù)設(shè)備的情況和周圍的環(huán)境,采用一套最佳的解決方案。如果能夠接收GPS信息,那么設(shè)備優(yōu)先采用GPS定位,否則采用Wi-Fi或蜂窩基站定位。在Wi-Fi和蜂窩基站之間優(yōu)先使用Wi-Fi,如果無法連接Wi-Fi才使用蜂窩基站定位。

2.Android的定位實現(xiàn)

Android系統(tǒng)API提供基站ID和WIFI的mac地址獲取接口,開發(fā)者自行維護基站、mac數(shù)據(jù)庫,自行查詢推算位置。而GPS定位信息則可以直接調(diào)用系統(tǒng)API獲得。

除了自行維護數(shù)據(jù)庫之外,也可以使用百度、高德等地圖廠商自行實現(xiàn)的定位SDK。該定位SDK的作用就是通過系統(tǒng)接口讀取到原始定位信息,然后借助于各家自行部署維護的數(shù)據(jù)庫,查詢到當前掃描到的基站、WIFI的位置,最終計算出更準確的定位結(jié)果,通過SDK的接口,返回給開發(fā)者。

在中國,Google服務器不可用,這會造成一定的問題。一個app如果只是調(diào)用系統(tǒng)定位接口,那么在行貨手機,由于手機廠商已經(jīng)把定位的網(wǎng)絡(luò)服務器重定向為國內(nèi)定位服務商,所以肯定可以定位,但是在水貨手機上因為系統(tǒng)底層是直接連google服務器的,就會無法定位。為了保證app在所有手機上都可以定位,開發(fā)者就會不得不使用第三方的獨立定位SDK。

三、坐標信息

1.坐標偏移

WGS84是GPS全球定位系統(tǒng)使用的坐標系統(tǒng),GPS設(shè)備直接返回的坐標即為WGS84。GCJ02則是由中國國家測繪局制定的地理信息系統(tǒng)的坐標,也叫“火星坐標”,國內(nèi)出版的各種地圖坐標系統(tǒng)(包括電子地圖),必須至少采用GCJ02對WGS84進行首次加密。高德和搜狗等使用GCJ02,百度地圖會再加密一層,編碼系統(tǒng)叫BD09。

iOS系統(tǒng)上通過定位服務CLLocation相關(guān)接口獲取定位信息時,獲取的經(jīng)緯度坐標系是WGS84地球坐標,如果直接將該坐標系在iOS系統(tǒng)地圖中打點,會發(fā)現(xiàn)存在偏移,因為iOS系統(tǒng)地圖查看國內(nèi)時使用的是高德地圖數(shù)據(jù),因此只接受GCJ02火星坐標。如果在國內(nèi)iOS系統(tǒng)地圖中獲取當前位置,那么獲取到的坐標系是GCJ02火星坐標系。

Android系統(tǒng)上通常使用高德或者百度定位SDK獲取定位信息。高德SDK沒有坐標系參數(shù)設(shè)定,在大陸和港澳地區(qū)獲取的坐標系即為GCJ02坐標系,在臺灣和海外地區(qū)都是WGS84坐標系;百度SDK可以自行設(shè)定坐標系參數(shù),即返回WGS84坐標系,還是GCJ02坐標系或者BD09坐標系(注意BD09坐標系只適用于百度地圖),如果設(shè)定的是GCJ02坐標系,它在大陸+港澳臺地區(qū)獲取的坐標系都是GCJ02坐標系。如果沒有調(diào)用第三方地圖API,而是使用android.location獲取的經(jīng)緯度,或者是通過手持或車載的GPS終端獲取的經(jīng)緯度,那就是屬于WGS84的真實的地理坐標,這時候,直接在百度或者高德地圖上顯示是會出現(xiàn)偏移的。

因此,若想獲取到準確的坐標位置,需要對從設(shè)備獲取的坐標信息進行修正。

2.坐標信息

從設(shè)備獲取到的定位信息統(tǒng)一格式:經(jīng)度在前,維度在后,經(jīng)緯度間以“,”分隔,經(jīng)緯度小數(shù)點后精確到6位數(shù)。

坐標轉(zhuǎn)換代碼:https://github.com/googollee/eviltransform


——部分內(nèi)容整理自網(wǎng)絡(luò)——

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內(nèi)容

  • 今天來總結(jié)一下蘋果原生的地圖和現(xiàn)在各種流行的集成地圖! 1.基礎(chǔ)知識 a.經(jīng)緯度 經(jīng)緯度是經(jīng)度與緯度的合稱組成一個...
    馬小悅閱讀 894評論 1 0
  • 大家都知道iPod Touch是沒有電話和GPS模塊的, 那么它是如何實現(xiàn)定位的呢?其實它使用的是Wi-Fi定位技...
    Bourbon閱讀 466評論 0 3
  • 在某種意義上,莫奈這一生只畫過一個女人,那就是他的第一任妻子卡米爾。 在曾經(jīng)艱難相守的日子里,莫奈一幅又一幅地畫著...
    4bcc8b333c81閱讀 2,670評論 0 1
  • 買買買的時候很開心,買到傾家蕩產(chǎn)時很惆悵,收到快遞時很高興,拿回去時很麻煩,相信很多“剁手黨”們深有體會,每次都喊...
    隱仕傳媒閱讀 534評論 0 0
  • 文/索拉 1 上午,我收到支付寶提示,有筆款到賬。 這是第一次剛交稿就收到稿費。 從大學正式開始寫作,我遇到不少拖...
    索拉說閱讀 754評論 2 5