這里再來聊一聊關(guān)于手繪地圖導航的智能糾偏問題。
其實這個問題,在《手繪地圖制作的關(guān)鍵點之“實時導航”》一文中,已經(jīng)有過簡述,這里再來細聊一下。本文純屬方案探討,也是景運管家手繪地圖智慧導覽系統(tǒng)的導航功能的具體實現(xiàn),但不作為技術(shù)標準。
作者:景運管家 ● 輕輕的煙霧(z281099678)

一、智能糾偏的原因
1.設(shè)備因素
終端導航設(shè)備(一般是手機)的定位,不可能達到十分精確。即便是軍用,也會有一個誤差區(qū)間,而民用當然誤差會更大一些。其中原因大體上可能為如下幾類:
一是出于安全、保密等因素,不允許民用設(shè)備定位過于精準;
二是出于成本因素,要達到高精度的定位,不單對于終端設(shè)備(手機)的性能要求很高,對于定位衛(wèi)星的要求也很高;
三是技術(shù)原因,目前的技術(shù)從根本上來說,不可能達到分米、厘米級別的精度。當然,從這個角度來說,“精度”本身也是一個模糊的概念,達到十米級、米級算是高精度嗎,到底精度要達到多少才是所謂的“高精度”?這就已經(jīng)不是一個技術(shù)問題了。
而換個角度來說,對于民用,過高的定位精度需求其實并無多大意義。比如最常用的導航使用場景來說,定位精度達到了幾米甚至十幾米,完全幾乎不影響正常使用。比如導航到某個飯店、某個學校大門等,絕大部分目的地,使用者都可以在幾米、十幾米甚至幾十米之外發(fā)現(xiàn),而過于精確的定位在這時其實就幾乎沒有實質(zhì)意義了(這里強調(diào)的過于精確,如精確到米級甚至更高)。
2.常見原因
而一些常見的因素,更會放大設(shè)備因素導致的誤差,比如設(shè)備本身的性能千差萬別、當?shù)匦盘柕膹娙酢⑻鞖鉅顩r、是否有高大遮擋物等情況。因此導致設(shè)備的定位,不會是一個固定的值,而是在一個區(qū)間范圍內(nèi)不停的變化。
因此,如果按照手機返回的經(jīng)緯度來定位,則用戶會非??焖俚脑谝欢ǚ秶鷥?nèi)不停跳躍。這容易讓人感覺非常不解,當然也很影響體驗,嚴重降低實用效果。
因此,智能糾偏就顯得至關(guān)重要,需要設(shè)計方案來進行處理。
設(shè)備沒有移動,但是系統(tǒng)返回的經(jīng)緯度一直在不停的變化
二、智能糾偏的現(xiàn)象
既然設(shè)備不能做到穩(wěn)定而高精準的定位,那在導航軟件的使用上,有沒有什么證據(jù)可以證明也使用了智能糾偏嗎?我個人認為答案是肯定的。比如說這些現(xiàn)象:
1.位置初始化
當打開導航軟件的時候,在初始化的時候,經(jīng)常能看到自己的位置會做幾次跳躍。
2.導航路線切換
當使用導航模式的時候,特別是駕車時,經(jīng)常會有這樣的場景:本來正常路線是向右上高架,但是駕駛?cè)俗咤e道而直行了。這時候?qū)Ш杰浖⒉粫⒓窗l(fā)現(xiàn),而是顯示定位跟隨著正常的路線向右上高架,一直要偏離到較遠的距離時,導航軟件好像才“如夢初醒”一樣反應過來,重新規(guī)劃切換路線。
這一點表現(xiàn),特別的說明智能糾偏的現(xiàn)象。在最開始駕駛?cè)俗咤e路線的時候,導航軟件會認為這是設(shè)備的定位出現(xiàn)了“正常的偏差”,因此智能的糾偏到了“正確的路線”上。只不過這種時刻,智能糾偏反而是真正的出錯了。
三、智能糾偏的技術(shù)方案
智能糾偏既然是“勢在必行”的方案,那具體如何實現(xiàn)智能糾偏呢?我認為,這是一個比較復雜的問題。需要綜合考慮。大致會有這幾個方面因素:
1.地圖平臺系統(tǒng)預置的路線
當用戶定位初始化完成后,地圖系統(tǒng)會判斷用戶當前位置最近的路線,而用戶規(guī)劃了導航路線之后,系統(tǒng)就會尋找最近的路線的點位,當用戶處于導航狀態(tài)而且開始移動之后, 地圖就會把用戶的位置自動“鎖定”到系統(tǒng)預置的路線點位之上。
2.用戶的前進方向、速度、海拔、地形等因素
雖然系統(tǒng)把導航狀態(tài)的用戶位置“鎖定”到了路線點位上,但是用戶在路線上的位置的更新和移動,還需要結(jié)合用戶的設(shè)備本身定位及當前前進速度來計算。
比如設(shè)備偶爾會出現(xiàn)定位誤差較大的點,對于這樣的異常狀況,系統(tǒng)算法會識別出來,并做過濾及糾偏處理。不會讓用戶感覺到自己突然“飛”到一個很遠的地方去了。而具體如何糾偏,就需要結(jié)合用戶當前的各種狀態(tài):
根據(jù)用戶是前進方向,判斷當前的移動方位;根據(jù)用戶的速度,結(jié)合用戶所在的海拔、地形等因素,計算當前移動的距離,再通過用戶上次的位置,就能綜合計算出當前應該所在的位置,把用戶的位置控制在真實而友好的位置。
當然,對于確實偏移過大的情況,也不能強行糾偏。因為這種情況,我們其實是不知道到底是用戶確實已經(jīng)偏離太大,還是手機定位出現(xiàn)的較大誤差。這時可以根據(jù)實際情況提示用戶已經(jīng)偏移路線,或者待手機定位自動恢復正常。
四、智能糾偏的效果
通過智能糾偏,清洗過濾掉異常定位,增加了定位精度,加強了定位的穩(wěn)定度,極大的提升了用戶體驗。甚至可以說,沒有智能糾偏,定位就無法真正的投入使用,無法產(chǎn)生真正的實用價值。因此智能糾偏的效果,可以說從根本上決定和發(fā)揮了定位的真正使用價值。
下面兩個對比圖,可以明顯的看出,定位的誤差已經(jīng)達到米級其實(這是一個小學的門口,注意看地上的交叉的標線)。