看到很多網友討論iOS設備定位的問題,這裡將我們所了解的關於iPhone、iPad、iPod等的定位原理做詳細的介紹,希望能為大家增加知識,減少誤區,更好地使用iOS設備。
介紹之前,先聲明一下關於地圖加加的“偏移修正”功能,地圖加加可以對齊中國地區(地點、線路和照片的)坐標和中國地圖之間的偏移,這個是我國測繪法規要求的一個數學意義的偏移,每個地方的偏移是固定的,法定的,和當前定位的方式、定位的精度與准確度沒有任何關系。即地圖加加只對齊偏移,並不能提升、降低或者改變iOS定位的速度、精度和規則,也沒有任何App可以做到或者說允許去做。
下文所有的定位誤差、定位偏移、定位精度等描述都是針對iOS定位硬件而言,和地圖加加或者任何一個app無關, 也適合iOS上所有的地圖App的定位邏輯,包括蘋果自帶的地圖app。
內容很長, 但是鑒於打字比看貼更辛苦, 大家就體諒一下, 鼓起勇氣, 慢慢看噢. (轉載請注明出處及秒酷-地圖加加 官方論壇和網址.)
---------------------------------------------------------------------------------------
iOS設備都可以使用哪些方式進行定位?
最早期的iPhone只支持 手機基站定位, 之後通過iOS軟件升級引入了 WIFI定位, 而從iPhone 3G開始, iPhone手機就通過內置GPS處理芯片, 支持 GPS衛星定位 (准確地說, 應該是AGPS, 即:輔助GPS). 從iPhone 4開始,GPS換用了精確度更高,耗電更少的,靈敏度更高的芯片,而從iPhone4s和new iPad 3G版開始,增加了支持俄羅斯GLONASS衛星定位系統的支持。
下面詳細列舉了所有的設備和支持定位的情況:
定位模式有3種:
1、衛星定位
(1)GPS衛星定位:iPhone 3G/3GS/4/5,3G/4G版的iPad 支持
(2)GLONASS衛星定位:iPhone 4/5,3G/4G版的iPad 3/4/Mini 支持
2、手機基站定位
同1.1GPS衛星定位,即iPhone 3G/3GS/4/5,3G/4G版的iPad 支持
3、WIFI定位
所有iOS設備,包括Mac電腦也支持。
下面分別介紹下三種定位方式以及蘋果在iOS系統中對其的優化:
手機基站定位:
原理:
每個手機基站都有一個標識符,iPhone或3G iPad可以搜集周圍所有收到信號的基站和它們的標識符,通過聯網發送到蘋果雲端服務器,再由服務器根據這些基站的的位置信息查詢並計算出當前位置,然後返回給手機。因為基站信號輻射范圍大,所以誤差也大,在500米 ~ 幾公裡.
特點:定位速度最快, 耗電最少,誤差幾百上千米.
iOS優化:
無網基站定位:
傳統的基站定位需要連接雲端服務器,產生網絡流量,iOS 4對其進行了優化,可以在沒有網絡連接時支持無網定位,因為蘋果預先已經將一些重要基站(幾十公裡選一個)提前存儲在iOS系統中,在無網情況下,不用上網也能通過這些本地基站信息定位到用戶位置,但這個誤差范圍更大,在10公裡到50公裡。
無網基站定位的前提是:您的手機能接受到內置在手機中的那些“重要基站”的信號,不一定是您手機所屬運營商,只要能收到信號就可以了。
下圖為iOS 4支持的全球無網絡連接基站定位的基站:
WIFI定位:
原理
和基站定位原理差不多, iOS設備(或者Mac電腦)通過無線網卡手機周圍所有的WIFI熱點(不需要連接上,只需要有信號就行),獲得它們的MAC地址,然後到蘋果雲端服務器查詢這個熱點是否已經登記,登記的話它的位置是多少,最後通過計算(多個熱點折中)得到當前位置並返回給用戶。只要收到手機信號的地方都可以基站定位,所以室內室外一樣。
特點:WIFI定位速度、耗電和精度都介於基站和GPS之間,精度大概在幾十米。(注意,WIFI定位的支持范圍沒有基站定位廣,但是蘋果的雲端服務器一直在不斷增加新的熱點信息,使得熱點定位支持的地區越來越多)
下圖是iOS 4所有支持WIFI定位的地區:
iOS優化:
無網WIFI定位:
傳統的WIFI定位需要網絡,但是iOS對其進行了優化,可以實現無網WIFI定位。原理時iOS設備在您有網絡連接時,會大致定位出您的位置,並自動下載您所在地區周圍(幾個街區寬度或者更多)所有的WIFI熱點的信息到本地。之後,當您在周圍行走並WIFI定位的時候,即使沒有網絡,iOS照樣可以利用之前下載的WIFI熱點信息定位出您的位置。
這也是為什麼有人號稱WIFI無網可定位的原因,但注意:無網WIFI定位的前提是您在這個區域附近曾經成功上過網,如果初次到一個陌生的地方,是無法定位的哦。
關於自動下載的熱點個數和范圍,這個是蘋果根據當地熱點的密度動態決定的,當地熱點很多時(如市中心),可能只下載幾條街道范圍的所有熱點,當地熱點密度很小時(例如海濱城市),可能會下載整個城市的所有熱點。
下圖是iOS自動在高密度地區下載周圍熱點信息的一個大概范圍說明:
GPS定位:
(GLONASS原理與此類似,不做額外介紹)
原理
這個是美國軍方搞的, 軍民兩用, 但仍然完全受軍方控制(比如可以隨時隨地設置某個地區收到的信號與否及其精度), 其原理就是:利用天上的衛星(共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設備上,上述定位方式會綜合應用,一般地,可能先按照最快的“無網基站定位”返回一個位置,當有網絡連接時,在用有網基站定位更新位置,然後,利用AGPS上網查詢衛星星圖,最後,在能收到GPS信號的情況下,轉為使用GPS定位。
根據當前信號情況和網絡環境,iOS可能在上述方式之間反復迭代,不一定一致特定步驟或者方式,而且隨著iOS升級,定位順序和規則可能改變。
----------------------------------------------------------------------------------------------------
常見問題:
1. 為什麼我iPhone當前定位誤差有幾百或者上千米?
iPhone初始定位都是用基站或者無網基站定位,誤差幾百或幾公裡。之後,如果無法搜索到WIFI信號,或者無法搜索到衛星信號,就會一直是這個精度。
您可以打開WIFI功能(不用連上,只需要打開即可),或者到窗戶邊,或者戶外以便收到衛星信號;
解決方法: 多等一會兒,開啟數據流量(定位之後即可關閉),或者到戶外去。
2. 為什麼我的位置總是變來變去?
iOS根據當前網絡環境,會不斷調整和修正定位方式,可能您所處地區基站和WIFI信號太復雜或者太微弱,比如一會兒連上這個基站,一會兒連上另一個基站,導致iOS計算位置的時候不穩定。
解決方法: 打開WIFI功能,開啟數據流量(定位之後即可關閉),或者到戶外去。
3. 無手機信號可以定位嗎?無數據流量可以定位嗎?
對於iPhone或者3G/4G版iPad
情況1:【沒有手機信號,沒有WIFI信號,沒有上網】則定位只能在戶外利用GPS進行,初次定位時間可能很長,可能需要數分鐘,之後定位正常。
情況2:【沒有手機信號, 有WIFI信號,沒有上網】如果之前在周圍上過網,下載了附近的熱點,則利用無網WIFI定位可以找到位置,否則,和情況1一樣。
情況3:【沒有手機信號, 有WIFI信號,可以上網】利用WIFI定位找到位置,並且在定位時還會下載大量的周圍很大一個區域的所有WIFI熱點信息,用於今後無網WIFI定位。
情況4:【有手機信號, 沒有WIFI信號,沒有上網】如果能收到iOS內置的“重要基站”的信號,則使用這些基站進行無望基站定位,否則,無法定位。
情況5:【有手機信號, 沒有WIFI信號,可以上網】使用基站定位聯網查詢進行定位,同時可能會更新本地“重要基站”信息。
.......
對於iPad WIFI版:
情況1:【沒有WIFI信號,沒有上網】無法定位
情況2:【有WIFI信號,沒有上網】如果之前在周圍上過網,則利用無網WIFI定位可以找到位置,否則,無法定位
情況3:【有WIFI信號,可以上網】利用WIFI定位,並且在定位時還會下載周圍很大一個區域的所有WIFI熱點信息,用於今後無網WIFI定位