iOS中三種定位方式

手機基站定位

原理

每個手機基站都有一個標識符,iPhone或3G iPad可以蒐集周圍所有收到信號的基站和它們的標識符,通過聯網發送到蘋果雲端服務器,再由服務器根據這些基站的的位置信息查詢並計算出當前位置,然後返回給手機。因爲基站信號輻射範圍大,所以誤差也大,在500米 ~ 幾公里.

特點

定位速度最快, 耗電最少,誤差幾百上千米.

iOS優化

傳統的基站定位需要連接雲端服務器,產生網絡流量,iOS 4對其進行了優化,可以在沒有網絡連接時支持無網定位,因爲蘋果預先已經將一些重要基站(幾十公里選一個)提前存儲在iOS系統中,在無網情況下,不用上網也能通過這些本地基站信息定位到用戶位置,但這個誤差範圍更大,在10公里到50公里。
無網基站定位的前提是:您的手機能接受到內置在手機中的那些“重要基站”的信號,不一定是您手機所屬運營商,只要能收到信號就可以了。

WIFI定位

原理

和基站定位原理差不多, iOS設備(或者Mac電腦)通過無線網卡手機周圍所有的WIFI熱點(不需要連接上,只需要有信號就行),獲得它們的MAC地址,然後到蘋果雲端服務器查詢這個熱點是否已經登記,登記的話它的位置是多少,最後通過計算(多個熱點折中)得到當前位置並返回給用戶。只要收到手機信號的地方都可以基站定位,所以室內室外一樣。

特點

WIFI定位速度、耗電和精度都介於基站和GPS之間,精度大概在幾十米。(注意,WIFI定位的支持範圍沒有基站定位廣,但是蘋果的雲端服務器一直在不斷增加新的熱點信息,使得熱點定位支持的地區越來越多)

iOS優化

無網WIFI定位:傳統的WIFI定位需要網絡,但是iOS對其進行了優化,可以實現無網WIFI定位。原理時iOS設備在您有網絡連接時,會大致定位出您的位置,並自動下載您所在地區周圍(幾個街區寬度或者更多)所有的WIFI熱點的信息到本地。之後,當您在周圍行走並WIFI定位的時候,即使沒有網絡,iOS照樣可以利用之前下載的WIFI熱點信息定位出您的位置。

這也是爲什麼有人號稱WIFI無網可定位的原因,但注意:無網WIFI定位的前提是您在這個區域附近曾經成功上過網,如果初次到一個陌生的地方,是無法定位的哦。

關於自動下載的熱點個數和範圍,這個是蘋果根據當地熱點的密度動態決定的,當地熱點很多時(如市中心),可能只下載幾條街道範圍的所有熱點,當地熱點密度很小時(例如海濱城市),可能會下載整個城市的所有熱點。

GPS定位

原理

這個是美國軍方搞的, 軍民兩用, 但仍然完全受軍方控制(比如可以隨時隨地設置某個地區收到的信號與否及其精度), 其原理就是:利用天上的衛星(共24顆)不斷地廣播信號, 地面的GPS接收設備收到信號後, 通過分析多個衛星信號,就可以計算出地球座標, GPS保證全球任何一個地方(98%)都可以同時收到至少4個衛星的信號, 從而可以準確確定您的經緯度以及海拔位置. GPS定位精度可達10米以內, 不過這是美國軍方控制的, 戰爭時期可能變的不穩定或者誤報. (不過我國也有自己的系統, 北斗系統, 目前已經亞洲的覆蓋, 還在推廣中)

衛星定位必須要能收到衛星信號,因爲衛星信號都是很微弱的,雖然iPhone 4開始提升了GPS硬件的靈敏度,但仍然需要在窗戶旁,或者戶外使用,才能確保衛星信號的強度和穩定性。

特點

與基站定位和WIFI定位相比,GPS耗電最大,速度最慢,但是精度最高。

而iPhone的GPS與純粹的GPS定位不同, 稱爲A-GPS, 即輔助GPS.(比GPS更優,不過GPS也分芯片和性能的,不是說所有的AGPS比所有的GPS都好)

因爲GPS定位中最耗時、最耗電的就是獲取當前天上的衛星信息,哪些衛星可見、在什麼位置、時鐘是多少等等,這個過程可能花費數十秒甚至幾分鐘,而AGPS就是利用網絡,首先將基站定位或者WIFI定位獲得的大概位置發到遠程服務器,有服務器進行查詢和計算,得出這個位置下當前衛星信息,反饋給iOS設備,iOS設備就可以直接用這些信息來接受衛星信號,不用自己去掃描分析了。這樣可以極大提高定位速度,將初次定位時間縮短到1~2秒完成。

A-GPS優點是定位快,缺點是需要網絡,但也只是在初次定位時需要網絡,因爲一旦衛星信息返回,在有限時間和範圍內,這些信息無須改變,之後的GPS定位就不再需要聯網,都是直接用這些衛星參數接受信息了。

總結

可見iOS定位依然有三種方式,但是一般使用都是Core Location框架,然後用CLLocationManager類來實現定位,那到底內部是用的哪種定位方式呢?還是系統自己分配?

系統會自動分配的 而且還會有緩存

iOS設備能提供3種不同途徑進行定位:Wifi, 蜂窩式移動電話基站, GPS衛星
iOS 不像Android系統在定位服務編程時,可以指定採用哪種途徑進行定位。iOS的API把底層這些細節屏蔽掉了,開發人員和用戶並不知道現在設備是採用 哪種方式進行定位的,iOS系統會根據設備的情況和周圍的環境,採用一套最佳的解決方案。這個方案是這樣的,如果能夠接收GPS信息,那麼設備優先採用 GPS定位,否則採用Wifi或蜂窩基站定位,在Wifi和蜂窩基站之間優先使用Wifi,如果無法連接Wifi才使用蜂窩基站定位。

總體來說GPS定位優點是準確、覆蓋面廣闊,缺點是不能被遮擋(例如:在建築物裏面收不到GPS衛星信號)、GPS開啓後比較費電。蜂窩基站不僅誤差比較大,而且會耗費用戶流量費。而Wifi定位是最經濟實惠的。

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