777精品久无码人妻蜜桃,国产日本精品视频在线观看 ,国产亚洲99久久精品熟女av,brazzersvideosex欧美最新版,人人爽人人人爽人人爽

2025全球時(shí)空智能大會(huì)
5月21-22日 北京
開(kāi)幕在即!WGDC25全球時(shí)空智能大會(huì)完整日程公布
即刻注冊(cè)  鎖定席位
分享
Scan me 分享到微信

我們經(jīng)常用到的手機(jī)定位的原理到底是什么?

用了這么久的手機(jī)定位,你知道原理嗎?

  本文作者:chuanming。更多內(nèi)容請(qǐng)關(guān)注:Map_technology。

       手機(jī)定位的價(jià)值

  目前智能手機(jī)的使用已經(jīng)越來(lái)越普遍,手機(jī)定位也是手機(jī)上的一個(gè)核心基礎(chǔ)功能。舉一個(gè)常見(jiàn)的應(yīng)用如叫車(chē),司機(jī)需要知道你在哪里,同時(shí)打車(chē)軟件也需要基于司機(jī)和乘客的位置規(guī)劃一條路線,讓司機(jī)更高效的行駛到用戶(hù)這里。這就是典型的定位服務(wù)的應(yīng)用。當(dāng)然,除去這種應(yīng)用,用戶(hù)位置本身的展示,也是地圖產(chǎn)品中不可缺少的。

  那么問(wèn)題就來(lái)了,作為app的用戶(hù),你可能會(huì)好奇這個(gè)app是如何知道你的位置;而作為app的開(kāi)發(fā)者,是如何在程序中得到設(shè)備當(dāng)前的準(zhǔn)確位置的呢?

  這個(gè)問(wèn)題說(shuō)來(lái)話長(zhǎng),我們還是先從定位原理上來(lái)解釋吧!

  可用于無(wú)線定位的信號(hào)

  很顯然,一個(gè)功能正常的手機(jī),總是能夠受到各種無(wú)線信號(hào),這些無(wú)線信號(hào)的“局部唯一性”,是該設(shè)備能定位的關(guān)鍵前提。什么叫局部唯一性?我們?cè)侔堰@些具體的信號(hào)來(lái)展開(kāi)解釋下你就知道了:

  基站信號(hào):

  一個(gè)手機(jī)能夠接打電話、收發(fā)短信,說(shuō)明該手機(jī)能與附近基站發(fā)起交互,收發(fā)信號(hào)。特別地,對(duì)于智能手機(jī),還可以通過(guò)系統(tǒng)的接口得到基站ID。正常情況下,每個(gè)基站ID是全球唯一的,這樣如果掃到了某個(gè)基站ID,我們又知道該基站的位置,便能粗略估計(jì)設(shè)備的位置。做出這個(gè)推測(cè)的前提就是一個(gè)基站的信號(hào)發(fā)射范圍是有限的,正常的手機(jī),不可能在相距這個(gè)基站很遠(yuǎn)的時(shí)候,還收到這個(gè)基站的信號(hào)。

  在無(wú)線通信相關(guān)的教科書(shū)里,講到基站定位,總是會(huì)談到三角定位,也就是下圖描述的原理。下圖是很容易理解的,一個(gè)手機(jī)能掃描到三個(gè)基站的信號(hào),因此其必然在三個(gè)基站的共同覆蓋范圍內(nèi),從而推算的范圍就大大縮小。但現(xiàn)實(shí)是很骨感的,在現(xiàn)在的智能手機(jī)上,只有極少數(shù)的手機(jī)可以獲取到多個(gè)周?chē)幕綢D,而且也無(wú)法反算出和這些基站的距離,所以這個(gè)算法除非電信運(yùn)營(yíng)商自己可以試試,對(duì)于別人是沒(méi)有實(shí)戰(zhàn)價(jià)值的。在實(shí)戰(zhàn)中,只能是退而求其次,基于單個(gè)基站來(lái)定位。

  WIFI信號(hào):

  現(xiàn)在的智能手機(jī)都支持wifi上網(wǎng)了,而我們連接的每個(gè)wifi路由器(包括手機(jī)做移動(dòng)熱點(diǎn)的那種),都有全球唯一的MAC地址。更重要的是,wifi路由器的部署成本低,因而非常普遍,在一個(gè)樓層里就會(huì)有很多個(gè)wifi熱點(diǎn)。因而不難想到,一旦我們有了這個(gè)全球每個(gè)路由器的實(shí)際位置,那么我們就可以基于用戶(hù)手機(jī)掃描到的周?chē)鷚ifi熱點(diǎn),確定用戶(hù)當(dāng)前的位置。

  說(shuō)到這里,有的朋友會(huì)問(wèn),如果一個(gè)人帶著手機(jī),開(kāi)著移動(dòng)熱點(diǎn)到處行走,還有那種地鐵、高鐵、公交車(chē)上的移動(dòng)wifi,豈不是就會(huì)引起定位的錯(cuò)誤?答對(duì)了,確實(shí)是這樣,而且根據(jù)統(tǒng)計(jì),這種情形還在愈演愈烈。因此,如何想辦法來(lái)迅速過(guò)濾這種移動(dòng)熱點(diǎn),是個(gè)值得研究的問(wèn)題。

  GPS信號(hào):

  如果手機(jī)在室外或者窗邊,那么就可以接收到天上的定位衛(wèi)星發(fā)射出來(lái)的信號(hào),基于這種信號(hào),可以推算手機(jī)到每顆衛(wèi)星的距離、衛(wèi)星位置,進(jìn)而推算出手機(jī)的位置來(lái)。需要注意的是,這個(gè)解算是在GPS芯片中完成的,在手機(jī)操作系統(tǒng)層面上,可以直接通過(guò)API接口得到解算的結(jié)果和誤差半徑。

  對(duì)于GPS的原因我們不多解釋?zhuān)谡{(diào)用時(shí)要注意兩點(diǎn)。第一就是GPS的初始定位是很耗時(shí)間的,對(duì)于老一些的芯片,可能要耗費(fèi)幾分鐘才能冷啟動(dòng)定位成功;第二是GPS精度并非是完全可依賴(lài)的,在一些地方達(dá)到幾百米都有可能。

  其他:

  以上三種是最常用的定位方式,此外還有藍(lán)牙/IP/地磁場(chǎng)等手段,對(duì)于它們的優(yōu)缺點(diǎn),我們匯總?cè)缦拢?/p>

  對(duì)于這些定位方法的詳細(xì)原理以及適用范圍,我們會(huì)在以后的介紹中,細(xì)致展開(kāi)。

  開(kāi)發(fā)者如何實(shí)現(xiàn)定位能力

  了解了這些定位方式的“開(kāi)發(fā)者實(shí)現(xiàn)方式”,開(kāi)發(fā)者恐怕要渾身冒汗了,千千萬(wàn)萬(wàn)的app難道者都如上述說(shuō)的,“自行維護(hù)基站、WIFI數(shù)據(jù)庫(kù)”嗎?

  答案當(dāng)然是否定的,在實(shí)際的工程實(shí)踐中,主流的做法是兩種:

  手段之一:調(diào)用系統(tǒng)級(jí)定位能力

  無(wú)論哪個(gè)系統(tǒng)(IOS、安卓、WP)都提供了一套系統(tǒng)級(jí)定位能力,這樣的定位能力,對(duì)應(yīng)著是一套系統(tǒng)級(jí)API,這個(gè)API一般來(lái)說(shuō),總是會(huì)有如下幾個(gè)精度的選項(xiàng):

  高精度:能搜到GPS衛(wèi)星,則使用GPS定位,否則,則使用WIFI定位,如果WIFI和GPS都無(wú)法定位成功,只能根據(jù)基站來(lái)給出定位結(jié)果了。

  平衡功耗:禁用GPS(因?yàn)樗浅:碾?,優(yōu)先使用WIFI,如果WIFI不可用,則用基站來(lái)進(jìn)行定位。

  低功耗(被動(dòng)定位):根據(jù)不同系統(tǒng)的規(guī)定,實(shí)現(xiàn)方式也不同,但大體上都是共享其他app的定位結(jié)果,即其他app以高精度、平衡功耗的方式得到位置,那么這個(gè)位置也一并推送給當(dāng)前使用“低功耗定位”的app,也就是該app不消耗額外的能耗,就完成了定位。

  當(dāng)然,這種系統(tǒng)級(jí)定位能力是有著軟肋的,軟肋在于以下兩點(diǎn)

  在基站、WIFI定位能力上,系統(tǒng)定位能力取決于系統(tǒng)自己在這方面投入數(shù)據(jù)收集推算的能力,這個(gè)是參差不齊的。舉個(gè)簡(jiǎn)單的例子,百度和高德在中國(guó)采集了成百上千個(gè)公共場(chǎng)所的室內(nèi)定位信息,使之能達(dá)到米級(jí)的室內(nèi)定位,蘋(píng)果做了嗎?谷歌做了嗎?微軟做了嗎?他們?cè)趺春蛧?guó)內(nèi)的服務(wù)商拼效果?居然還有人說(shuō)蘋(píng)果定位和谷歌地圖在國(guó)內(nèi)定位準(zhǔn),我真是醉了。

  在中國(guó),google的服務(wù)不可用,考慮到基站、WIFI定位必須連接服務(wù)端發(fā)請(qǐng)求,因而Android的系統(tǒng)級(jí)定位能力的可用性也會(huì)有很大的影響,至少那些“水貨”手機(jī),在中國(guó)基本就沒(méi)法調(diào)用系統(tǒng)定位服務(wù)了,而行貨手機(jī),相應(yīng)的廠商會(huì)改造這個(gè)API接口的實(shí)現(xiàn),使得其重定向?yàn)檎?qǐng)求國(guó)內(nèi)某些定位服務(wù)商,從而使得這個(gè)接口重新變得可用(對(duì)開(kāi)發(fā)者來(lái)說(shuō),他并不需要知道這個(gè)API是如何實(shí)現(xiàn)的)。

  但是,我們不得不承認(rèn),在IOS和WP系統(tǒng)上,因?yàn)镺S沒(méi)有開(kāi)放出讀取基站和WIFI的接口,因此實(shí)際上操作系統(tǒng)的定位能力已經(jīng)形成了壟斷,開(kāi)發(fā)者也就無(wú)法實(shí)現(xiàn)自主的定位能力。這也會(huì)導(dǎo)致在蘋(píng)果和WP手機(jī)上,所有的app在同一時(shí)刻的定位誤差,都是一樣的。

  手段之二:調(diào)用第三方定位SDK

  對(duì)于可以公開(kāi)讀取基站、WIFI信息的Android手機(jī)系統(tǒng),國(guó)內(nèi)的百度、高德等地圖廠商自行實(shí)現(xiàn)了定位SDK,該定位SDK的作用就是通過(guò)系統(tǒng)接口讀取到原始定位信息,然后借助于各家自行部署維護(hù)的數(shù)據(jù)庫(kù),查詢(xún)到當(dāng)前掃描到的基站、WIFI的位置,最終計(jì)算出更準(zhǔn)確的定位結(jié)果,通過(guò)SDK的接口,返回給開(kāi)發(fā)者。這么做的好處,在于能夠讓app的定位能力脫離對(duì)手機(jī)系統(tǒng)的依賴(lài)。

  舉個(gè)例子,一個(gè)app他如果只是調(diào)用系統(tǒng)定位接口,那么在行貨手機(jī),由于手機(jī)廠商已經(jīng)把定位的網(wǎng)絡(luò)服務(wù)器重定向?yàn)閲?guó)內(nèi)定位服務(wù)商,所以肯定可以定位,但是在水貨手機(jī)上因?yàn)橄到y(tǒng)底層是直接連google服務(wù)器的,就會(huì)無(wú)法定位。但用戶(hù)就是上帝,出現(xiàn)了這個(gè)事情在用戶(hù)看來(lái),就是不能接受的,為了保證app在所有手機(jī)上都可以定位,開(kāi)發(fā)者就會(huì)不得不使用第三方的獨(dú)立定位SDK。

  結(jié)束語(yǔ)

  在本文中,我們討論了手機(jī)定位的價(jià)值、各種定位方式的原理與開(kāi)發(fā)者實(shí)現(xiàn)定位的工程化手段,希望大家讀完本文后,可以結(jié)合提示,給出下列問(wèn)題的回答。

  在蘋(píng)果手機(jī)上,微信的定位準(zhǔn)、微博的定位不準(zhǔn)!(蘋(píng)果手機(jī)上的應(yīng)用定位能力是誰(shuí)提供的?)

  我們公司搬家了,我在新的公司定位到了老的地方!(先看看你是不是把路由器都帶過(guò)來(lái)了?)

  在最新的Nexus6手機(jī)上,谷歌地圖居然無(wú)法定位!(谷歌地圖為什么會(huì)無(wú)法定位?)

  在家里居然給我定位到幾百米以外了,我都搞不清是xx地圖太爛還是手機(jī)太爛了,不是說(shuō)好GPS精度5米嗎?(家里的話GPS可以定位成功嗎?)

  用陌陌,在三個(gè)位置,對(duì)同一個(gè)好友計(jì)算三次距離,即可用“三角定位”鎖定好友的位置(如果對(duì)方在室內(nèi),用的是什么定位?他的定位精確度是多少?你認(rèn)為這個(gè)精度可以做三角定位,還精確到對(duì)方的家嗎?)

     如果您對(duì)您所在行業(yè)有很深認(rèn)知,也想在我們的平臺(tái)上說(shuō)點(diǎn)什么,我們歡迎您來(lái)投稿!

喜歡您正在閱讀的內(nèi)容嗎?歡迎免費(fèi)訂閱泰伯每周精選電郵。 立即訂閱

參與評(píng)論

【登錄后才能評(píng)論哦!點(diǎn)擊

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回復(fù){{item.replynum}}
    {{child.username}} 回復(fù) {{child.to_username}}:{{child.content}}

更多精選文章推薦