本發(fā)明涉及導(dǎo)航定位技術(shù)領(lǐng)域,具體涉及導(dǎo)航時(shí)的偏航處理,特別是涉及一種偏航識(shí)別方法和裝置。
背景技術(shù):
在導(dǎo)航定位領(lǐng)域中,為了保證導(dǎo)航準(zhǔn)確性,終端在導(dǎo)航時(shí)需要判斷當(dāng)前位置是否偏離了規(guī)劃的導(dǎo)航路線,稱為偏航識(shí)別,如果確認(rèn)發(fā)生偏航就需要重新規(guī)劃導(dǎo)航路線。
目前的一種偏航識(shí)別方法,是從終端當(dāng)前的定位位置起回溯入口節(jié)點(diǎn),基于該入口節(jié)點(diǎn),才可以確認(rèn)可能的路線走向,通過判斷定位位置實(shí)際與哪條可能的路線走向匹配,從而判斷是否發(fā)生偏航。
然而,目前的偏航識(shí)別方法,在平行路場(chǎng)景下偏航識(shí)別響應(yīng)慢,而在復(fù)雜路口的場(chǎng)景下偏航識(shí)別錯(cuò)誤率高,需要改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對(duì)目前偏航識(shí)別在平行路場(chǎng)景下偏航識(shí)別響應(yīng)慢且在復(fù)雜路口的場(chǎng)景下偏航識(shí)別錯(cuò)誤率高的技術(shù)問題,提供一種偏航識(shí)別方法和裝置。
一種偏航識(shí)別方法,所述方法包括:
獲取當(dāng)前的定位位置;
確定覆蓋所述定位位置的候選區(qū)域;
獲取所述候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),并根據(jù)獲取的路網(wǎng)數(shù)據(jù)生成多個(gè)路段樹型結(jié)構(gòu);
獲取所述定位位置與各所述路段樹型結(jié)構(gòu)中各路段分支的匹配權(quán)值;
根據(jù)所述匹配權(quán)值確定與所述定位位置匹配的路段分支;
若匹配的路段分支不屬于規(guī)劃的導(dǎo)航路線,則判定發(fā)生偏航。
一種偏航識(shí)別裝置,所述裝置包括:
定位模塊,用于獲取當(dāng)前的定位位置;
候選區(qū)域確定模塊,用于確定覆蓋所述定位位置的候選區(qū)域;
路段樹型結(jié)構(gòu)生成模塊,用于獲取所述候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),并根據(jù)獲取的路網(wǎng)數(shù)據(jù)生成多個(gè)路段樹型結(jié)構(gòu);
匹配權(quán)值獲取模塊,用于獲取所述定位位置與各所述路段樹型結(jié)構(gòu)中各路段分支的匹配權(quán)值;
路段分支匹配模塊,用于根據(jù)所述匹配權(quán)值確定與所述定位位置匹配的路段分支;
偏航判定模塊,用于若匹配的路段分支不屬于規(guī)劃的導(dǎo)航路線,則判定發(fā)生偏航。
上述偏航識(shí)別方法和裝置,確定覆蓋當(dāng)前的定位位置的候選區(qū)域后,獲取該候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),獲得多個(gè)路段樹型結(jié)構(gòu),從而基于多個(gè)路段樹型結(jié)構(gòu)來進(jìn)行偏航識(shí)別。由于是直接利用覆蓋當(dāng)前的定位位置的候選區(qū)域來構(gòu)建多個(gè)路段樹型結(jié)構(gòu),無需為了構(gòu)建一個(gè)路段樹型結(jié)構(gòu)而回溯到入口節(jié)點(diǎn)。在平行路場(chǎng)景下,平行的路段會(huì)給構(gòu)建成獨(dú)立的路段樹型結(jié)構(gòu),避免了因搜索入口節(jié)點(diǎn)而導(dǎo)致的響應(yīng)慢的問題。在復(fù)雜路口的場(chǎng)景下,可以避免因?yàn)檫x錯(cuò)入口節(jié)點(diǎn)而導(dǎo)致偏航識(shí)別錯(cuò)誤,降低了偏航識(shí)別錯(cuò)誤率。
附圖說明
圖1為一個(gè)實(shí)施例中導(dǎo)航系統(tǒng)的應(yīng)用環(huán)境圖;
圖2為一個(gè)實(shí)施例中用于實(shí)施一種偏航識(shí)別方法的終端的內(nèi)部結(jié)構(gòu)示意圖;
圖3為一個(gè)實(shí)施例中偏航識(shí)別方法的流程示意圖;
圖4為一個(gè)實(shí)施例中在平行路場(chǎng)景下的路網(wǎng)局部示意圖;
圖5為一個(gè)實(shí)施例中在如圖4所示的路網(wǎng)局部示意圖中劃定覆蓋定位位置的候選區(qū)域的示意圖;
圖6為一個(gè)實(shí)施例中在復(fù)雜路口場(chǎng)景下的路網(wǎng)局部示意圖;
圖7為一個(gè)實(shí)施例中獲取定位位置與各路段樹型結(jié)構(gòu)中各路段分支的匹配權(quán)值的步驟的流程示意圖;
圖8為一個(gè)實(shí)施例中偏航識(shí)別裝置的結(jié)構(gòu)框圖;
圖9為一個(gè)實(shí)施例中偏航識(shí)別裝置中的匹配權(quán)值獲取模塊的結(jié)構(gòu)框圖;
圖10另為一個(gè)實(shí)施例中偏航識(shí)別裝置中的匹配權(quán)值獲取模塊的結(jié)構(gòu)框圖;
圖11為另一個(gè)實(shí)施例中偏航識(shí)別裝置中的匹配權(quán)值獲取模塊的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,在一個(gè)實(shí)施例中,提供了一種導(dǎo)航系統(tǒng),包括終端110和服務(wù)器120。其中終端110包括移動(dòng)終端和車載導(dǎo)航設(shè)備,移動(dòng)終端包括手機(jī)、平板電腦、智能手表或者個(gè)人數(shù)字助理(pda)等中的至少一種。服務(wù)器120可以是獨(dú)立的物理服務(wù)器也可以是物理服務(wù)器集群。
如圖2所示,在一個(gè)實(shí)施例中,提供了一種用于實(shí)現(xiàn)一種偏航識(shí)別方法的終端110,包括通過系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、內(nèi)存儲(chǔ)器、網(wǎng)絡(luò)接口、顯示屏、定位裝置和輸入設(shè)備。其中處理器具有計(jì)算功能和控制終端110工作的功能,該處理器被配置為執(zhí)行一種偏航識(shí)別方法。非易失性存儲(chǔ)介質(zhì)包括磁存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)和閃存式存儲(chǔ)介質(zhì)中的至少一種。非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng),還存儲(chǔ)有偏航識(shí)別裝置。該偏航識(shí)別裝置用于實(shí)現(xiàn)一種偏航識(shí)別方法。網(wǎng)絡(luò)接口用于連接到服務(wù)器120。輸入設(shè)備可以是物理按鍵或者與顯示屏重疊的觸控層,觸控層和顯示屏構(gòu)成觸控屏。定位裝置可以是gps(globalpositioningsystem,全球定位系統(tǒng))芯片、北斗衛(wèi)星導(dǎo)航定位裝置或者基于其它定位系統(tǒng)的定位裝置。定位裝置用于獲取終端110的定位信息。
如圖3,在一個(gè)實(shí)施例中,提供了一種偏航識(shí)別方法,該方法可應(yīng)用于上述圖1中的終端110和服務(wù)器120,本實(shí)施例以該方法應(yīng)用于上述圖1和圖2中的終端110來舉例說明,終端110上運(yùn)行有導(dǎo)航應(yīng)用程序,通過該導(dǎo)航應(yīng)用程序 實(shí)施該偏航識(shí)別方法。該方法具體包括如下步驟:
步驟302,獲取當(dāng)前的定位位置。
具體地,終端可在確定起點(diǎn)和終點(diǎn)之后,規(guī)劃出導(dǎo)航路線,并依據(jù)該導(dǎo)航路線進(jìn)行導(dǎo)航。終端可在導(dǎo)航過程中,通過內(nèi)置的定位裝置獲取終端當(dāng)前的定位位置。終端可定期執(zhí)行步驟302及其后續(xù)步驟,以動(dòng)態(tài)地進(jìn)行偏航識(shí)別。定位位置可以用當(dāng)前位置的經(jīng)度和緯度構(gòu)成的坐標(biāo)來表示。
步驟304,確定覆蓋定位位置的候選區(qū)域。
其中,候選區(qū)域是電子地圖中包含當(dāng)前的定位位置的區(qū)域,候選區(qū)域覆蓋定位位置是指定位位置在候選區(qū)域的范圍之內(nèi)。
在一個(gè)實(shí)施例中,步驟304包括:以定位位置為幾何中心,按照預(yù)設(shè)尺寸劃定預(yù)設(shè)形狀的候選區(qū)域。
具體地,終端可從定位位置起,朝橫向以及縱向的四個(gè)正方向分別延伸,獲得覆蓋定位位置的矩形的候選區(qū)域。候選區(qū)域的形狀是預(yù)先設(shè)定的,除了可以是矩形,還可以是圓形、橢圓形或者三角形等具有幾何中心的規(guī)則圖形。比如終端可從定位位置起,朝橫向以及縱向的四個(gè)正方向分別延伸固定距離,獲得邊長(zhǎng)為固定距離的2倍的矩形候選區(qū)域。預(yù)設(shè)尺寸的大小可根據(jù)需要設(shè)定,比如若候選區(qū)域?yàn)榫匦危瑒t候選區(qū)域的邊長(zhǎng)可以是500米到10千米。
本實(shí)施例中,定位位置在確定的候選區(qū)域的幾何中心,后續(xù)在生成多個(gè)路段樹型結(jié)構(gòu)時(shí)可充分參考定位位置周圍的路網(wǎng)數(shù)據(jù),可降低偏航識(shí)別錯(cuò)誤率。
在一個(gè)實(shí)施例中,候選區(qū)域的幾何中心可以在候選區(qū)域覆蓋定位位置的前提下偏離定位位置,比如朝定位位置的方向的反向偏離。這樣終端在生成路段樹型結(jié)構(gòu)時(shí)會(huì)著重參考定位位置朝向幾何中心處的路網(wǎng)數(shù)據(jù),若幾何中心朝定位位置的方向的反向偏離,則終端會(huì)更多地參考終端歷史的行走路線,在同樣尺寸的候選區(qū)域下,計(jì)算量相近,但偏航識(shí)別錯(cuò)誤率會(huì)進(jìn)一步減少。
步驟306,獲取候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),并根據(jù)獲取的路網(wǎng)數(shù)據(jù)生成多個(gè)路段樹型結(jié)構(gòu)。
其中,獲取的路網(wǎng)數(shù)據(jù)包括候選區(qū)域?qū)?yīng)的路段以及路段之間的連接關(guān)系,還可以包括路段方向。一個(gè)路段表示一段可行走的道路,路段之間的連接表示 相應(yīng)道路的連通。路段樹型結(jié)構(gòu)是指具有連接關(guān)系的路段所組織成的樹型結(jié)構(gòu),若獲取的路網(wǎng)數(shù)據(jù)中的一條路段與其它任意路段都沒有交點(diǎn),則該路段可作為一個(gè)獨(dú)立的路段樹型結(jié)構(gòu)。不同的路段樹型結(jié)構(gòu)之間在候選區(qū)域內(nèi)一般沒有連接關(guān)系。
在一個(gè)實(shí)施例中,終端可從服務(wù)器拉取候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),從而根據(jù)拉取的路網(wǎng)數(shù)據(jù)中各路段的連接關(guān)系構(gòu)成路段樹型結(jié)構(gòu)。終端也可以從終端本地緩存中獲取候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù)。
在一個(gè)實(shí)施例中,終端可遍歷路網(wǎng)數(shù)據(jù)中的路段拓?fù)浣Y(jié)構(gòu),篩選出處于候選區(qū)域范圍內(nèi)的所有路段,再分析篩選出的路段之間的拓?fù)浣Y(jié)構(gòu),從而將篩選出的路段按照相應(yīng)的拓?fù)浣Y(jié)構(gòu)組合成多個(gè)路段樹型結(jié)構(gòu)。
舉例說明,如圖4所示的路網(wǎng)局部示意圖,若終端當(dāng)前的定位位置為l,相對(duì)于定位位置l的入口節(jié)點(diǎn)為路段a和路段b的上一交叉點(diǎn)x1,入口節(jié)點(diǎn)x1距離定位位置l很遠(yuǎn),查找入口節(jié)點(diǎn)比較耗時(shí),而實(shí)際應(yīng)用中的路網(wǎng)更加復(fù)雜,平行的路段很多,路段之間平行的部分可能非常長(zhǎng),這種情況下查找入口節(jié)點(diǎn)的耗時(shí)是用戶可感知的,會(huì)造成偏航識(shí)別響應(yīng)慢的問題。
再參照?qǐng)D5,對(duì)于圖4所示的路網(wǎng)局部示意圖,若采用本實(shí)施例提供的偏航識(shí)別方法,根據(jù)定位位置l,劃定預(yù)設(shè)尺寸的矩形候選區(qū)域501。在候選區(qū)域501中,路段a與其它路段都不相交,路段b和路段c則在節(jié)點(diǎn)x2處相交,則可以生成兩個(gè)路段樹型結(jié)構(gòu),其中一個(gè)路段樹型結(jié)構(gòu)僅包括路段a,另一個(gè)路段樹型結(jié)構(gòu)則包括相交的路段b和路段c。這樣就不再需要為生成一個(gè)路段樹型結(jié)構(gòu)而去回溯入口節(jié)點(diǎn),避免了因搜索入口節(jié)點(diǎn)而導(dǎo)致的響應(yīng)慢的問題。
再參照?qǐng)D6,在復(fù)雜路口的場(chǎng)景下,入口節(jié)點(diǎn)比較多,回溯入口節(jié)點(diǎn)容易出錯(cuò),但采用本實(shí)施例提供的偏航識(shí)別方法,在劃定矩形的候選區(qū)域601后,可以生成三個(gè)路段樹型結(jié)構(gòu),其中一個(gè)包括相交的路段d和e,另一個(gè)包括路段a,最后一個(gè)包括相交的路段b和c。這樣也不會(huì)因?yàn)榛厮莸藉e(cuò)誤的入口節(jié)點(diǎn)而導(dǎo)致偏航識(shí)別錯(cuò)誤。
步驟308,獲取定位位置與各路段樹型結(jié)構(gòu)中各路段分支的匹配權(quán)值。
其中,匹配權(quán)值是定位位置與各路段樹型結(jié)構(gòu)中各路段分支匹配程度的度 量值,用來尋找定位位置實(shí)際對(duì)應(yīng)的路段分支。匹配權(quán)值可以用定位位置偏離相應(yīng)路段分支的度量值來表示,此時(shí)匹配權(quán)值越小,說明相應(yīng)路段分支與該定位位置越匹配。匹配權(quán)值也可以用定位位置與相應(yīng)路段分支相近程度的度量值來表示,此時(shí)匹配權(quán)值越大,說明相應(yīng)路段分支與該定位位置越匹配。路段樹型結(jié)構(gòu)中從一個(gè)節(jié)點(diǎn)到其子節(jié)點(diǎn)的連接線段表示一個(gè)路段分支。路段分支可以是直線,在必要時(shí)也可以是曲線或者折線。
步驟310,根據(jù)匹配權(quán)值確定與定位位置匹配的路段分支。
具體地,若匹配權(quán)值越小相應(yīng)路段分支與該定位位置越匹配,則終端可將具有最小匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。若匹配權(quán)值越大相應(yīng)路段分支與該定位位置越匹配,則終端可將具有最大匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。進(jìn)一步地,終端可在根據(jù)匹配權(quán)值確定與定位位置匹配的路段分支之前,先對(duì)獲取的各匹配權(quán)值按照升序或者降序排序,從而獲得最大或者最小的匹配權(quán)值,用以確定與定位位置匹配的路段分支。
步驟312,若匹配的路段分支不屬于規(guī)劃的導(dǎo)航路線,則判定發(fā)生偏航。
具體地,終端可判斷匹配的路段分支是否屬于規(guī)劃的導(dǎo)航路線,若判定屬于規(guī)劃的導(dǎo)航路線,則結(jié)束,等待下一次執(zhí)行步驟302及其后續(xù)步驟;若判定不屬于規(guī)劃的導(dǎo)航路線,則判定發(fā)生偏航,并進(jìn)行偏航處理。終端在判斷匹配的路段分支是否屬于規(guī)劃的導(dǎo)航路線時(shí),具體可判斷匹配的路段分支是否與當(dāng)前導(dǎo)航的路段分支一致,若不一致則判定發(fā)生偏航。
上述偏航識(shí)別方法,確定覆蓋當(dāng)前的定位位置的候選區(qū)域后,獲取該候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),獲得多個(gè)路段樹型結(jié)構(gòu),從而基于多個(gè)路段樹型結(jié)構(gòu)來進(jìn)行偏航識(shí)別。由于是直接利用覆蓋當(dāng)前的定位位置的候選區(qū)域來構(gòu)建多個(gè)路段樹型結(jié)構(gòu),無需為了構(gòu)建一個(gè)路段樹型結(jié)構(gòu)而回溯到入口節(jié)點(diǎn)。在平行路場(chǎng)景下,平行的路段會(huì)給構(gòu)建成獨(dú)立的路段樹型結(jié)構(gòu),避免了因搜索入口節(jié)點(diǎn)而導(dǎo)致的響應(yīng)慢的問題。在復(fù)雜路口的場(chǎng)景下,可以避免因?yàn)檫x錯(cuò)入口節(jié)點(diǎn)而導(dǎo)致偏航識(shí)別錯(cuò)誤,降低了偏航識(shí)別錯(cuò)誤率。
如圖7所示,在一個(gè)實(shí)施例中,步驟308具體包括以下步驟:
步驟702,遍歷各路段樹型結(jié)構(gòu)中的各路段分支。
具體地,終端可根據(jù)各路段樹型結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)來遍歷路段樹型結(jié)構(gòu)中的各路段分支,具體可從路段樹型結(jié)構(gòu)的根節(jié)點(diǎn)起逐層遍歷。終端也可以隨機(jī)地遍歷各路段樹型結(jié)構(gòu)中的各路段分支。終端在遍歷過程中執(zhí)行以下步驟704至步驟708。
步驟704,獲取定位位置與遍歷的路段分支的投影距離。
其中,投影距離是指將定位位置投影到路網(wǎng)所在電子地圖后與相應(yīng)路段分支之間的垂直距離。若定位位置與遍歷的路段分支的投影距離為0,說明定位位置投影后正好落在遍歷的路段分支上,若投影距離越大,則說明定位位置偏離路段分支的距離越遠(yuǎn)。具體在將定位位置進(jìn)行投影時(shí),可采用與將道路投影到電子地圖上相同的方式進(jìn)行投影,再計(jì)算投影后的定位位置與相應(yīng)路段分支的垂直距離獲得相應(yīng)的投影距離。
步驟706,獲取定位位置的方向與遍歷的路段分支的方向之間的方向差異值。
具體地,定位位置具有方向,該方向表示終端在定位位置處的運(yùn)動(dòng)方向,可根據(jù)定位位置處終端的速度方向來確定。路段分支也具有方向,該方向表示該路段分支允許的行進(jìn)方向。方向差異值則表示定位位置的方向與遍歷的路段分支的方向之間差異的度量值。方向差異值可以用定位位置的方向角度與遍歷的路段分支的方向角度之間的方向角度差來表示。
步驟708,根據(jù)投影距離與方向差異值計(jì)算定位位置與遍歷的路段分支的匹配權(quán)值。
具體地,終端可將投影距離和方向差異值按照相應(yīng)的非負(fù)權(quán)重求加權(quán)和,獲得定位位置與遍歷的路段分支的匹配權(quán)值,其中加權(quán)求和時(shí)投影距離的權(quán)重和方向差異值的權(quán)重均是非負(fù)系數(shù)。終端還可以單獨(dú)根據(jù)投影距離來計(jì)算定位位置與遍歷的路段分支的匹配權(quán)值,比如直接將投影距離作為匹配權(quán)值或者將投影距離加上或乘以非負(fù)系數(shù)作為匹配權(quán)值。終端在根據(jù)匹配權(quán)值確定與定位位置匹配的路段分支時(shí),具體可將具有最小匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。
本實(shí)施例中,根據(jù)投影距離和方向差異值來計(jì)算定位位置與遍歷的路段分支的匹配權(quán)值,使得計(jì)算出的匹配權(quán)值可以反映出定位位置在地理上偏離每個(gè)路段分支的程度,還可以反映出當(dāng)前的運(yùn)動(dòng)方向與每個(gè)路段分支的差異程度。這樣計(jì)算出的匹配權(quán)值可以更加準(zhǔn)確地反映定位位置與每個(gè)路段分支的匹配程度,進(jìn)而可以更加準(zhǔn)確地進(jìn)行偏航識(shí)別,降低偏航識(shí)別錯(cuò)誤率。
在一個(gè)實(shí)施例中,步驟708包括:獲取遍歷的路段分支的歷史方向差異值累積值;將投影距離、方向差異值以及歷史方向差異值累積值按照相應(yīng)的非負(fù)權(quán)重求加權(quán)和,獲得定位位置與遍歷的路段分支的匹配權(quán)值。步驟310包括:將具有最小匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。
其中,歷史方向差異值累積值反映的是歷史的定位位置與相應(yīng)路段分支的方向差異值的累積,可在每次計(jì)算出相應(yīng)的方向差異值后累加到歷史方向差異值累積值進(jìn)行更新。若歷史的定位位置與相應(yīng)路段分支存在差異的情況越多,則歷史方向差異值累積值越大。終端具體可根據(jù)以下公式(1)來計(jì)算匹配權(quán)值:
w=n*n+m*m+g*g(1)
其中,w是匹配權(quán)值,n、m和g是非負(fù)權(quán)重,n為投影距離,m為方向差異值,g為歷史方向差異值累積值。
根據(jù)上述公式(1),若w=0,說明定位位置與相應(yīng)的路段分支完美匹配,w越大則說明定位位置與相應(yīng)的路段分支的匹配越差。終端可將計(jì)算出的各匹配權(quán)值按照大小排序,從而找出最小的匹配權(quán)值,將該最小匹配權(quán)值對(duì)應(yīng)的路段分支確定為與定位位置匹配的路段分支。
本實(shí)施例中,在計(jì)算匹配權(quán)值時(shí)考慮了歷史方向差異值累積值,根據(jù)歷史記錄對(duì)匹配權(quán)值進(jìn)行修正。若歷史方向差異值累積值越大,說明相應(yīng)路段分支不是匹配的路段分支的可能性越大,從而可以進(jìn)一步準(zhǔn)確地反映出定位位置與每個(gè)路段分支的匹配程度,進(jìn)而可以更加準(zhǔn)確地進(jìn)行偏航識(shí)別,降低偏航識(shí)別錯(cuò)誤率。
在一個(gè)實(shí)施例中,該偏航識(shí)別方法還包括:在判定發(fā)生偏航后,將定位位置作為起點(diǎn),獲取規(guī)劃的導(dǎo)航路線的終點(diǎn),生成從所述起點(diǎn)到所述終點(diǎn)的新導(dǎo)航路線,并根據(jù)所述新導(dǎo)航路線進(jìn)行導(dǎo)航。
本實(shí)施例中,在發(fā)生偏航后,立即以定位位置為起點(diǎn),以規(guī)劃的導(dǎo)航路線的原終點(diǎn)為新終點(diǎn)重新規(guī)劃導(dǎo)航路線,并根據(jù)所述新導(dǎo)航路線進(jìn)行導(dǎo)航,可以即時(shí)地響應(yīng)用戶的偏航行為,重新生成有效的導(dǎo)航路線,以繼續(xù)提供導(dǎo)航服務(wù),提升導(dǎo)航應(yīng)用程序的用戶體驗(yàn)。
如圖8所示,在一個(gè)實(shí)施例中,提供了一種偏航識(shí)別裝置800,包括:定位模塊801、候選區(qū)域確定模塊802、路段樹型結(jié)構(gòu)生成模塊803、匹配權(quán)值獲取模塊804、路段分支匹配模塊805和偏航判定模塊806。
定位模塊801,用于獲取當(dāng)前的定位位置。
具體地,定位模塊801可在導(dǎo)航過程中,通過終端內(nèi)置的定位裝置獲取終端當(dāng)前的定位位置。定位模塊801可用于定期獲取當(dāng)前的定位位置,以動(dòng)態(tài)地進(jìn)行偏航識(shí)別。定位位置可以用當(dāng)前位置的經(jīng)度和緯度構(gòu)成的坐標(biāo)來表示。
候選區(qū)域確定模塊802,用于確定覆蓋定位位置的候選區(qū)域。
其中,候選區(qū)域是電子地圖中包含當(dāng)前的定位位置的區(qū)域,候選區(qū)域覆蓋定位位置是指定位位置在候選區(qū)域的范圍之內(nèi)。
路段樹型結(jié)構(gòu)生成模塊803,用于獲取候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),并根據(jù)獲取的路網(wǎng)數(shù)據(jù)生成多個(gè)路段樹型結(jié)構(gòu)。
其中,獲取的路網(wǎng)數(shù)據(jù)包括候選區(qū)域?qū)?yīng)的路段以及路段之間的連接關(guān)系,還可以包括路段方向。一個(gè)路段表示一段可行走的道路,路段之間的連接表示相應(yīng)道路的連通。路段樹型結(jié)構(gòu)是指具有連接關(guān)系的路段所組織成的樹型結(jié)構(gòu),若獲取的路網(wǎng)數(shù)據(jù)中的一條路段與其它任意路段都沒有交點(diǎn),則該路段可作為一個(gè)獨(dú)立的路段樹型結(jié)構(gòu)。不同的路段樹型結(jié)構(gòu)之間在候選區(qū)域內(nèi)一般沒有連接關(guān)系。
在一個(gè)實(shí)施例中,路段樹型結(jié)構(gòu)生成模塊803可從服務(wù)器拉取候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),從而根據(jù)拉取的路網(wǎng)數(shù)據(jù)中各路段的連接關(guān)系構(gòu)成路段樹型結(jié)構(gòu)。終端也可以從終端本地緩存中獲取候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù)。
在一個(gè)實(shí)施例中,路段樹型結(jié)構(gòu)生成模塊803可遍歷路網(wǎng)數(shù)據(jù)中的路段拓?fù)浣Y(jié)構(gòu),篩選出處于候選區(qū)域范圍內(nèi)的所有路段,再分析篩選出的路段之間的 拓?fù)浣Y(jié)構(gòu),從而將篩選出的路段按照相應(yīng)的拓?fù)浣Y(jié)構(gòu)組合成多個(gè)路段樹型結(jié)構(gòu)。
匹配權(quán)值獲取模塊804,用于獲取定位位置與各路段樹型結(jié)構(gòu)中各路段分支的匹配權(quán)值。
其中,匹配權(quán)值是定位位置與各路段樹型結(jié)構(gòu)中各路段分支匹配程度的度量值,用來尋找定位位置實(shí)際對(duì)應(yīng)的路段分支。匹配權(quán)值可以用定位位置偏離相應(yīng)路段分支的度量值來表示,此時(shí)匹配權(quán)值越小,說明相應(yīng)路段分支與該定位位置越匹配。匹配權(quán)值也可以用定位位置與相應(yīng)路段分支相近程度的度量值來表示,此時(shí)匹配權(quán)值越大,說明相應(yīng)路段分支與該定位位置越匹配。路段樹型結(jié)構(gòu)中從一個(gè)節(jié)點(diǎn)到其子節(jié)點(diǎn)的連接線段表示一個(gè)路段分支。路段分支可以是直線,在必要時(shí)也可以是曲線或者折線。
路段分支匹配模塊805,用于根據(jù)匹配權(quán)值確定與定位位置匹配的路段分支。
具體地,若匹配權(quán)值越小相應(yīng)路段分支與該定位位置越匹配,則路段分支匹配模塊805可將具有最小匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。若匹配權(quán)值越大相應(yīng)路段分支與該定位位置越匹配,則路段分支匹配模塊805可將具有最大匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。進(jìn)一步地,路段分支匹配模塊805可在根據(jù)匹配權(quán)值確定與定位位置匹配的路段分支之前,先對(duì)獲取的各匹配權(quán)值按照升序或者降序排序,從而獲得最大或者最小的匹配權(quán)值,用以確定與定位位置匹配的路段分支。
偏航判定模塊806,用于若匹配的路段分支不屬于規(guī)劃的導(dǎo)航路線,則判定發(fā)生偏航。
具體地,偏航判定模塊806可判斷匹配的路段分支是否屬于規(guī)劃的導(dǎo)航路線,若判定屬于規(guī)劃的導(dǎo)航路線,則結(jié)束;若判定不屬于規(guī)劃的導(dǎo)航路線,則判定發(fā)生偏航。
上述偏航識(shí)別裝置800,確定覆蓋當(dāng)前的定位位置的候選區(qū)域后,獲取該候選區(qū)域?qū)?yīng)的路網(wǎng)數(shù)據(jù),獲得多個(gè)路段樹型結(jié)構(gòu),從而基于多個(gè)路段樹型結(jié)構(gòu)來進(jìn)行偏航識(shí)別。由于是直接利用覆蓋當(dāng)前的定位位置的候選區(qū)域來構(gòu)建多個(gè)路段樹型結(jié)構(gòu),無需為了構(gòu)建一個(gè)路段樹型結(jié)構(gòu)而回溯到入口節(jié)點(diǎn)。在平行路 場(chǎng)景下,平行的路段會(huì)給構(gòu)建成獨(dú)立的路段樹型結(jié)構(gòu),避免了因搜索入口節(jié)點(diǎn)而導(dǎo)致的響應(yīng)慢的問題。在復(fù)雜路口的場(chǎng)景下,可以避免因?yàn)檫x錯(cuò)入口節(jié)點(diǎn)而導(dǎo)致偏航識(shí)別錯(cuò)誤,降低了偏航識(shí)別錯(cuò)誤率。
在一個(gè)實(shí)施例中,候選區(qū)域確定模塊802具體用于以定位位置為幾何中心,按照預(yù)設(shè)尺寸劃定預(yù)設(shè)形狀的候選區(qū)域。
具體地,候選區(qū)域確定模塊802可從定位位置起,朝橫向以及縱向的四個(gè)正方向分別延伸,獲得覆蓋定位位置的矩形的候選區(qū)域。候選區(qū)域的形狀是預(yù)先設(shè)定的,除了可以是矩形,還可以是圓形、橢圓形或者三角形等具有幾何中心的規(guī)則圖形。比如候選區(qū)域確定模塊802可從定位位置起,朝橫向以及縱向的四個(gè)正方向分別延伸固定距離,獲得邊長(zhǎng)為固定距離的2倍的矩形候選區(qū)域。預(yù)設(shè)尺寸的大小可根據(jù)需要設(shè)定,比如若候選區(qū)域?yàn)榫匦?,則候選區(qū)域的邊長(zhǎng)可以是500米到10千米。
本實(shí)施例中,定位位置在確定的候選區(qū)域的幾何中心,后續(xù)在生成多個(gè)路段樹型結(jié)構(gòu)時(shí)可充分參考定位位置周圍的路網(wǎng)數(shù)據(jù),可降低偏航識(shí)別錯(cuò)誤率。
在一個(gè)實(shí)施例中,候選區(qū)域的幾何中心可以在候選區(qū)域覆蓋定位位置的前提下偏離定位位置,比如朝定位位置的方向的反向偏離。這樣終端在生成路段樹型結(jié)構(gòu)時(shí)會(huì)著重參考定位位置朝向幾何中心處的路網(wǎng)數(shù)據(jù),若幾何中心朝定位位置的方向的反向偏離,則終端會(huì)更多地參考終端歷史的行走路線,在同樣尺寸的候選區(qū)域下,計(jì)算量相近,但偏航識(shí)別錯(cuò)誤率會(huì)進(jìn)一步減少。
如圖9所示,在一個(gè)實(shí)施例中,匹配權(quán)值獲取模塊804包括:投影距離獲取模塊804a、方向差異值獲取模塊804b和匹配權(quán)值計(jì)算模塊804c。
投影距離獲取模塊804a,用于遍歷各路段樹型結(jié)構(gòu)中的各路段分支。獲取定位位置與遍歷的路段分支的投影距離。
具體地,投影距離獲取模塊804a可根據(jù)各路段樹型結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)來遍歷路段樹型結(jié)構(gòu)中的各路段分支,具體可從路段樹型結(jié)構(gòu)的根節(jié)點(diǎn)起逐層遍歷。終端也可以隨機(jī)地遍歷各路段樹型結(jié)構(gòu)中的各路段分支。
其中,投影距離是指將定位位置投影到路網(wǎng)所在電子地圖后與相應(yīng)路段分支之間的垂直距離。若定位位置與遍歷的路段分支的投影距離為0,說明定位位 置投影后正好落在遍歷的路段分支上,若投影距離越大,則說明定位位置偏離路段分支的距離越遠(yuǎn)。具體投影距離獲取模塊804a在將定位位置進(jìn)行投影時(shí),可采用與將道路投影到電子地圖上相同的方式進(jìn)行投影,再計(jì)算投影后的定位位置與相應(yīng)路段分支的垂直距離獲得相應(yīng)的投影距離。
方向差異值獲取模塊804b,用于獲取定位位置的方向與遍歷的路段分支的方向之間的方向差異值。
具體地,定位位置具有方向,該方向表示終端在定位位置處的運(yùn)動(dòng)方向,可根據(jù)定位位置處終端的速度方向來確定。路段分支也具有方向,該方向表示該路段分支允許的行進(jìn)方向。方向差異值則表示定位位置的方向與遍歷的路段分支的方向之間差異的度量值。方向差異值可以用定位位置的方向角度與遍歷的路段分支的方向角度之間的方向角度差來表示。
匹配權(quán)值計(jì)算模塊804c,用于根據(jù)投影距離與方向差異值計(jì)算定位位置與遍歷的路段分支的匹配權(quán)值。
具體地,匹配權(quán)值計(jì)算模塊804c可將投影距離和方向差異值按照相應(yīng)的非負(fù)權(quán)重求加權(quán)和,獲得定位位置與遍歷的路段分支的匹配權(quán)值,其中加權(quán)求和時(shí)投影距離的權(quán)重和方向差異值的權(quán)重均是非負(fù)系數(shù)。匹配權(quán)值計(jì)算模塊804c還可以單獨(dú)根據(jù)投影距離來計(jì)算定位位置與遍歷的路段分支的匹配權(quán)值,比如直接將投影距離作為匹配權(quán)值或者將投影距離加上或乘以非負(fù)系數(shù)作為匹配權(quán)值。匹配權(quán)值計(jì)算模塊804c在根據(jù)匹配權(quán)值確定與定位位置匹配的路段分支時(shí),具體可將具有最小匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。
本實(shí)施例中,根據(jù)投影距離和方向差異值來計(jì)算定位位置與遍歷的路段分支的匹配權(quán)值,使得計(jì)算出的匹配權(quán)值可以反映出定位位置在地理上偏離每個(gè)路段分支的程度,還可以反映出當(dāng)前的運(yùn)動(dòng)方向與每個(gè)路段分支的差異程度。這樣計(jì)算出的匹配權(quán)值可以更加準(zhǔn)確地反映定位位置與每個(gè)路段分支的匹配程度,進(jìn)而可以更加準(zhǔn)確地進(jìn)行偏航識(shí)別,降低偏航識(shí)別錯(cuò)誤率。
如圖10所示,在一個(gè)實(shí)施例中,匹配權(quán)值獲取模塊804還包括:歷史方向差異值累積值獲取模塊804d,用于獲取遍歷的路段分支的歷史方向差異值累積值。
其中,歷史方向差異值累積值反映的是歷史的定位位置與相應(yīng)路段分支的方向差異值的累積,可在每次計(jì)算出相應(yīng)的方向差異值后累加到歷史方向差異值累積值進(jìn)行更新。若歷史的定位位置與相應(yīng)路段分支存在差異的情況越多,則歷史方向差異值累積值越大。
匹配權(quán)值計(jì)算模塊804c還用于將投影距離、方向差異值以及歷史方向差異值累積值按照相應(yīng)的非負(fù)權(quán)重求加權(quán)和,獲得定位位置與遍歷的路段分支的匹配權(quán)值。
匹配權(quán)值計(jì)算模塊804c具體可根據(jù)以下公式(1)來計(jì)算匹配權(quán)值:
w=n*n+m*m+g*g(1)
其中,w是匹配權(quán)值,n、m和g是非負(fù)權(quán)重,n為投影距離,m為方向差異值,g為歷史方向差異值累積值。
根據(jù)上述公式(1),若w=0,說明定位位置與相應(yīng)的路段分支完美匹配,w越大則說明定位位置與相應(yīng)的路段分支的匹配越差。
路段分支匹配模塊805還用于將具有最小匹配權(quán)值的路段分支確定為與定位位置匹配的路段分支。
路段分支匹配模塊805可將計(jì)算出的各匹配權(quán)值按照大小排序,從而找出最小的匹配權(quán)值,將該最小匹配權(quán)值對(duì)應(yīng)的路段分支確定為與定位位置匹配的路段分支。
本實(shí)施例中,在計(jì)算匹配權(quán)值時(shí)考慮了歷史方向差異值累積值,根據(jù)歷史記錄對(duì)匹配權(quán)值進(jìn)行修正。若歷史方向差異值累積值越大,說明相應(yīng)路段分支不是匹配的路段分支的可能性越大,從而可以進(jìn)一步準(zhǔn)確地反映出定位位置與每個(gè)路段分支的匹配程度,進(jìn)而可以更加準(zhǔn)確地進(jìn)行偏航識(shí)別,降低偏航識(shí)別錯(cuò)誤率。
如圖11所示,在一個(gè)實(shí)施例中,偏航識(shí)別裝置800還包括:導(dǎo)航路線規(guī)劃模塊807,用于在判定發(fā)生偏航后,將定位位置作為起點(diǎn),獲取規(guī)劃的導(dǎo)航路線的終點(diǎn),生成從所述起點(diǎn)到所述終點(diǎn)的新導(dǎo)航路線,并根據(jù)所述新導(dǎo)航路線進(jìn)行導(dǎo)航。
本實(shí)施例中,在發(fā)生偏航后,導(dǎo)航路線規(guī)劃模塊807立即以定位位置為起 點(diǎn),以規(guī)劃的導(dǎo)航路線的原終點(diǎn)為新終點(diǎn)重新規(guī)劃導(dǎo)航路線,并根據(jù)所述新導(dǎo)航路線進(jìn)行導(dǎo)航,可以即時(shí)地響應(yīng)用戶的偏航行為,重新生成有效的導(dǎo)航路線,以繼續(xù)提供導(dǎo)航服務(wù),提升導(dǎo)航應(yīng)用程序的用戶體驗(yàn)。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,該計(jì)算機(jī)程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,前述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)等非易失性存儲(chǔ)介質(zhì),或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。
以上實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
以上實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。