本發(fā)明涉及電子地圖領域,具體地說,涉及一種行駛軌跡與路網(wǎng)底圖的智能匹配方法及裝置。
背景技術:
隨著科學技術的不斷發(fā)展,越來越多的電子多媒體技術進入到了人們的日常生活中。其中,電子地圖就是其中一個重要的應用領域。
電子地圖的前期制作需要投入相應的人員及車輛完成對于道路及行駛軌跡的收集和整理。在現(xiàn)有技術中,絕大多數(shù)方案要求作業(yè)員在采集時明確某段車采高精度軌跡和底圖上的某條道路或實際道路之間的對應關系。但實際在軌跡上逐點與道路進行匹配前,并沒有做任何消歧處理,考慮到定位和采集誤差等原因,匹配過程中很有可能出現(xiàn)一個軌跡點與兩條路段的匹配度較為接近的情況,也可能出現(xiàn)軌跡點與道路1的距離權值最高,而與距離權值略低的道路2的夾角權值更高的情況,這時只依據(jù)匹配度選擇,有可能導致軌跡上相鄰兩點所匹配的路段是不同路段,造成地圖數(shù)據(jù)的混亂和錯誤的發(fā)生。
因此,如何提供一種方法或裝置可以進行智能匹配、降低行駛軌跡與道路的偏差是本發(fā)明需要解決的技術問題。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種行駛軌跡與路網(wǎng)底圖的智能匹配方法及裝置,實現(xiàn)了基于電子地圖數(shù)據(jù)和實際行駛軌跡的智能計算匹配,大大降低了電子地圖與實際行駛軌跡不相同的可能性,提高了電子地圖內容的準確性。
一方面,本發(fā)明提出一種行駛軌跡與路網(wǎng)底圖的智能匹配方法,該方法包括:
分別獲取路網(wǎng)底圖中道路的坐標和行駛軌跡的數(shù)據(jù);
根據(jù)所述路網(wǎng)底圖中道路屬性,判斷出某一道路的兩端只存在一條可通行道路,則將其串接為路串;
若判斷出所述路網(wǎng)底圖中某一路串的結束點與兩條以上的路串通行,則以所述某一路串的結束點與兩條以上的路串連接區(qū)域構建特征點擴充區(qū)域;識別所述特征點擴充區(qū)域內的所述行駛軌跡,并確定所述行駛軌跡的核心坐標區(qū)域及所述核心坐標區(qū)域的中心點;
根據(jù)所述中心點對所述特征點擴充區(qū)域內的行駛軌跡進行調整,并與所述路網(wǎng)底圖中的相應路串進行匹配。
可選的是,所述判斷出某一道路的兩端只存在一條可通行道路,則將其串接為路串的步驟包括:
判斷所述路網(wǎng)底圖中第一道路的結束坐標與第二道路的起始坐標是否相同,若相同且第一道路的結束坐標只與第二道路的起始坐標值相同,將所述第一道路和第二道路作為路串;和/或,
判斷所述路網(wǎng)底圖中某一路串的結束點與兩條以上的路串通行的步驟包括:
判斷第一道路的結束坐標與n個道路的起始坐標是否相同,若相同,則確定第一道路的結束坐標和n個道路的起始坐標相鄰的掃描區(qū)域,將所述掃描區(qū)域按照預定面積劃分為若干子區(qū)域;
將經(jīng)過所述掃描區(qū)域的行駛軌跡進行疊加,確定行駛軌跡高概率經(jīng)過的子區(qū)域,作為核心坐標區(qū)域;
根據(jù)所述核心子區(qū)域內的行駛軌跡計算核心行駛中心坐標,將所述掃描區(qū)域內的行駛軌跡按照所述核心行駛中心坐標進行調整;
獲取路網(wǎng)底圖道路的兩端端點坐標之間的道路形狀和距離、以及相對應的行駛軌跡上兩個核心行駛中心坐標之間的軌跡形狀和距離,判斷若兩個核心行駛中心屬于同一行駛軌跡,且道路和行駛軌跡段的長度比不超過預置的閾值,將所述路網(wǎng)底圖的道路和行駛軌跡進行匹配;其中,所述n為大于2的整數(shù)。
可選的是,所述根據(jù)所述核心子區(qū)域內的行駛軌跡計算核心行駛中心坐標,將所述掃描區(qū)域內的行駛軌跡按照所述核心行駛中心坐標進行調整,具體為:
根據(jù)行駛軌跡的坐標確定每個行駛軌跡在所述核心子區(qū)域內的行駛軌跡段;
計算行駛軌跡從所述掃描區(qū)域邊緣到核心子區(qū)域邊緣交點的平均方位角;
若兩個行駛軌跡之間的平均方位角之差小于預置方位角閾值,且最大投影距離小于預置投影間隔閾值,將兩個行駛軌跡中從所述掃描區(qū)域邊緣到核心子區(qū)域邊緣的軌跡段作為同一個等價軌跡段;
匯總所有的等價軌跡段與所述核心子區(qū)域邊緣的交點坐標計算核心行駛中心坐標;
將從所述掃描區(qū)域內的行駛軌跡以核心行駛中心坐標為中心進行調整。
可選的是,上述行駛軌跡與路網(wǎng)底圖的智能匹配方法還包括:
查找沒有匹配成功的路串,并以所述沒有匹配成功的路串為中心設定擴展區(qū)域;
獲取經(jīng)過所述中心設定擴展區(qū)域內的行駛軌跡,將長度相似比和形狀相似比滿足預置閾值且處于所述路串的擴展區(qū)域內的行駛軌跡,作為與所述路串相匹配的行駛軌跡
可選的是,上述行駛軌跡與路網(wǎng)底圖的智能匹配方法還包括:
若處于相鄰路串上的行駛軌跡的端點坐標不相同,計算并判斷所述行駛軌跡間的端點坐標的距離是否小于預置端點距離閾值;
在所述行駛軌跡間的端點坐標的距離小于預置端點距離閾值時,則根據(jù)各行駛軌跡的端點坐標計算中心端點坐標,分別作為相鄰路串上的行駛軌跡的新端點坐標。
可選的是,上述行駛軌跡與路網(wǎng)底圖的智能匹配方法還包括:
所述路網(wǎng)底圖中道路與所述行駛軌跡匹配后,根據(jù)與所述路網(wǎng)底圖路串相匹配的行駛軌跡數(shù)據(jù),對所述路網(wǎng)底圖的數(shù)據(jù)進行更新。
另一方面,為實現(xiàn)上述方法,本發(fā)明提出一種行駛軌跡與路網(wǎng)底圖的智能匹配裝置,該裝置包括:
匹配數(shù)據(jù)獲取模塊,用于分別獲取路網(wǎng)底圖中道路的坐標和行駛軌跡的數(shù)據(jù);
路串構建模塊,用于根據(jù)所述路網(wǎng)底圖中道路屬性,判斷出某一道路的兩端只存在一條可通行道路,則將其串接為路串;
路口點匹配模塊,用于判斷出若所述路網(wǎng)底圖中某一路串的結束點與兩條以上的路串通行,則以所述某一路串的結束點與兩條以上的路串連接區(qū)域構建特征點擴充區(qū)域;識別所述特征點擴充區(qū)域內的所述行駛軌跡,并確定所述行駛軌跡的核心坐標區(qū)域及所述核心坐標區(qū)域的中心點;根據(jù)所述中心點對所述特征點擴充區(qū)域內的行駛軌跡進行調整,并與所述路網(wǎng)底圖中的相應路串進行匹配。
可選的是,所述路串構建模塊包括:
路串道路判斷子模塊,用于判斷所述路網(wǎng)底圖中第一道路的結束坐標與第二道路的起始坐標是否相同,若相同且第一道路的結束坐標只與第二道路的起始坐標值相同,將所述第一道路和第二道路作為路串;
路串軌跡匹配子模塊,用于獲取所述路串上經(jīng)過的行駛軌跡,并將所述經(jīng)過的行駛軌跡與所述路串進行匹配。
可選的是,所述路口點匹配模塊,包括:
子區(qū)域劃分子模塊,用于判斷第一道路的結束坐標與n個道路的起始坐標是否相同,若相同,則確定第一道路的結束坐標和n個道路的起始坐標相鄰的掃描區(qū)域,將所述掃描區(qū)域按照預定面積劃分為若干子區(qū)域;
核心區(qū)域標識子模塊,用于將經(jīng)過所述掃描區(qū)域的行駛軌跡進行疊加,確定行駛軌跡高概率經(jīng)過的子區(qū)域,作為核心坐標區(qū)域;
行駛軌跡調整子模塊,用于根據(jù)所述核心子區(qū)域內的行駛軌跡計算核心行駛中心坐標,將掃描區(qū)域內的行駛軌跡按照所述核心行駛中心坐標進行調整;
道路匹配子模塊,用于獲取路網(wǎng)底圖道路的兩端端點坐標之間的道路形狀和距離、以及相對應的行駛軌跡上兩個核心行駛中心坐標之間的軌跡形狀和距離,判斷路網(wǎng)底圖的道路和行駛軌跡屬于同一連續(xù)軌跡段且道路和行駛軌跡段的長度比不超過預置的閾值,將所述路網(wǎng)底圖的道路和行駛軌跡進行匹配;所述n為大于2的整數(shù)。
可選的是,所述核心區(qū)域標識子模塊包括:
核心區(qū)域軌跡定位子模塊,用于根據(jù)行駛軌跡的坐標確定每個行駛軌跡在所述核心子區(qū)域內的行駛軌跡段;
平均方位角計算子模塊,用于計算行駛軌跡從所述掃描區(qū)域邊緣到核心子區(qū)域邊緣交點的平均方位角;
等價軌跡段比較子模塊,用于判斷若兩個行駛軌跡之間的平均方位角之差小于預置方位角閾值,且最大投影距離小于預置投影間隔閾值,將兩個行駛軌跡中從所述掃描區(qū)域邊緣到核心子區(qū)域邊緣的軌跡段作為同一個等價軌跡段;
中心坐標計算子模塊,用于匯總所有的等價軌跡段與所述核心子區(qū)域邊緣的交點坐標計算核心行駛中心坐標;
中心坐標調整子模塊,用于將從所述掃描區(qū)域內的行駛軌跡以核心行駛中心坐標為中心進行調整。
可選的是,上述行駛軌跡與路網(wǎng)底圖的智能匹配裝置還包括:緩沖區(qū)補充匹配模塊,用于判斷若行駛軌跡在所述路串周圍指定范圍內經(jīng)過,則以所述路 串為中心設定擴展區(qū)域;將長度相似比和形狀相似比滿足預置閾值且處于所述路串的擴展區(qū)域內的行駛軌跡,作為與所述路串相匹配的行駛軌跡。
可選的是,上述行駛軌跡與路網(wǎng)底圖的智能匹配裝置還包括:端點平滑調整模塊,用于判斷若處于相鄰路串上的行駛軌跡的端點坐標不相同,計算并判斷所述行駛軌跡間的端點坐標的距離是否小于預置端點距離閾值;在所述行駛軌跡間的端點坐標的距離小于預置端點距離閾值時,則根據(jù)各行駛軌跡的端點坐標計算中心端點坐標,分別作為相鄰路串上的行駛軌跡的新端點坐標。
可選的是,上述行駛軌跡與路網(wǎng)底圖的智能匹配裝置還包括:數(shù)據(jù)更新模塊,用于在所述路網(wǎng)底圖中道路與所述行駛軌跡匹配后,根據(jù)與所述路網(wǎng)底圖數(shù)據(jù)相匹配的行駛軌跡數(shù)據(jù),對所述路網(wǎng)底圖的數(shù)據(jù)進行更新。
相對于現(xiàn)有技術,本發(fā)明具有以下優(yōu)點:
本發(fā)明通過使用以上介紹的幾種方法及其組合,可以將單一連接的道路進行串接,形成路串,以并以此將相關聯(lián)的行駛軌跡進行匹配,而對于多道路連接的岔路,則通過設置局部掃描區(qū)域對行駛軌跡進行疊加計算,通過計算得到的核心行駛中心坐標調整行駛軌跡,并最后將調整后的行駛軌跡與道路進行匹配。上述得到的匹配結果,可以較為精準而全面地完成了道路路段與實采行駛軌跡“線與端點“的一一匹配,實現(xiàn)了實采軌跡對已有路網(wǎng)底圖的匹配更新,從而使得作業(yè)員專注于車行軌跡的采集質量,而不用再去關注道路拓撲關系的采集,這樣能夠顯著提升采集的數(shù)據(jù)質量,并降低采集成本,為后續(xù)的導航地圖制作乃至自動駕駛應用提供堅實的基礎。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1為本發(fā)明實施例提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配方法的流程示意圖;
圖2為本發(fā)明實施例中的道路連接示意圖;
圖3為本發(fā)明實施例中的道路與行駛軌跡未正常匹配效果示意圖;
圖4為本發(fā)明實施例中的“特征點擴充域”示意圖;
圖5為本發(fā)明實施例中的遍歷方形區(qū)域示意圖;
圖6為本發(fā)明實施例中的軌跡段和方位角示意圖;
圖7為本發(fā)明實施例中的方位角的示意圖;
圖8為本發(fā)明實施例中的點到折線段的投影距離的示意圖;
圖9為本發(fā)明實施例中的軌跡段t1、t2的最大投影距離示意圖;
圖10為本發(fā)明實施例中的合并“等價軌跡段類”示意圖;
圖11為本發(fā)明實施例中的計算特征點匹配點的示意圖;
圖12為本發(fā)明實施例中的基于核心坐標點進行軌跡調整示意圖;
圖13為本發(fā)明實施例中的檢測端點匹配到相同軌跡的示意圖;
圖14為本發(fā)明實施例中的只有一個端點的路串匹配到軌跡的示意圖;
圖15為本發(fā)明實施例中的行駛軌跡按照匹配結果進行調整后的效果示意圖;
圖16為本發(fā)明實施例中的道路緩沖區(qū)示意圖;
圖17為本發(fā)明實施例中的行駛軌跡(link)落入緩沖區(qū)(linkbuffer)示意圖;
圖18為本發(fā)明實施例中的路串投影的示意圖;
圖19為本發(fā)明實施例中的新增軌跡段掛接點示意圖;
圖20為本發(fā)明實施例提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配裝置的組成框圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在不沖突的情況下,本發(fā)明實施例及實施例中的特征可以相互組合。
下面結合附圖,對本發(fā)明的各實施例作進一步說明:、
參見圖1,該圖為本發(fā)明提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配方法的第一實施例的流程圖。
在本實施例中,包括:
s101:獲取道路的坐標和行駛軌跡數(shù)據(jù)。
s102:根據(jù)所述路網(wǎng)底圖中道路屬性,判斷出某一道路的兩端只存在一條可通行道路,則將其串接為路串。
進一步來講,判斷所述路網(wǎng)底圖中第一道路的結束坐標與第二道路的起始坐標是否相同,若相同且第一道路的結束坐標只與第二道路的起始坐標值相同,將所述第一道路和第二道路作為路串,將所述路串上經(jīng)過的行駛軌跡與所述路串進行匹配。
s103:若判斷出所述路網(wǎng)底圖中某一道路的結束點與兩條以上的道路通行,則以所述某一道路的結束點與兩條以上的道路連接區(qū)域構建特征點擴充區(qū)域;識別所述特征點擴充區(qū)域內的所述行駛軌跡,并確定所述行駛軌跡的核心坐標區(qū)域及所述核心坐標區(qū)域的中心點;根據(jù)所述中心點對所述特征點擴充區(qū)域內的行駛軌跡進行調整,并與所述路網(wǎng)底圖中的相應道路進行匹配。
其中,判斷所述路網(wǎng)底圖中某一道路的結束點與兩條以上的道路通行的步驟包括:
判斷第一道路的結束坐標與n個道路的起始坐標是否相同,若相同,則確定第一道路的結束坐標和n個道路的起始坐標相鄰的掃描區(qū)域,將所述掃描區(qū)域按照預定面積劃分為若干子區(qū)域;
將經(jīng)過所述掃描區(qū)域的行駛軌跡進行疊加,確定行駛軌跡高概率經(jīng)過的子區(qū)域,作為核心坐標區(qū)域;
根據(jù)所述核心子區(qū)域內的行駛軌跡計算核心行駛中心坐標,將所述掃描區(qū)域內的行駛軌跡按照所述核心行駛中心坐標進行調整;
獲取路網(wǎng)底圖道路的兩端端點坐標之間的道路形狀和距離、以及相對應的行駛軌跡上兩個核心行駛中心坐標之間的軌跡形狀和距離,判斷路網(wǎng)底圖的道路和行駛軌跡屬于同一連續(xù)軌跡段且道路和行駛軌跡段的長度比不超過預置的閾值,將所述路網(wǎng)底圖的道路和行駛軌跡進行匹配;
所述n為大于2的整數(shù)。
在本發(fā)明實施時,首先需要獲取到包含有道路的電子地圖。在電子地圖中,對于道路的標識一般都采用坐標方式,如張三大街的起始坐標為(10,12),而結束坐標為(10,25)。
同時,還需要獲取到實際獲得的車輛行駛軌跡數(shù)據(jù)。例如,gps車行軌跡就是采用gps軌跡記錄儀采集的一系列車行經(jīng)過的位置點,每個點至少包括日期、時間、經(jīng)度、緯度等信息。另外,gps軌跡采集主要有兩種方式,即按照時間間隔或按照距離間隔?,F(xiàn)實中,常用的時間間隔有1秒、5秒、10秒、15秒、30秒、60秒、120秒幾種。而距離間隔即每移動一段距離記錄一次位置點,常用的距離間隔由1米、5米、50米、100米、150米、300米、500米、1000 米幾種。通過上述間隔方式,可以收集到車輛在行駛過程中的行駛軌跡。
在得到道路坐標和行駛軌跡數(shù)據(jù)后,開始根據(jù)道路和行駛軌跡的不同而進行不同的處理。在本實施例中,判斷第一道路的結束坐標與第二道路的起始坐標是否相同,且第一道路的結束坐標只與第二道路的起始坐標值相同。在現(xiàn)實中,大部分的道路都是相互連接的,且很多的道路都是單一連接,如某一道路的終點正好是下一道路的起點。因此,可以通過對道路起始坐標和結束坐標的判斷,確定哪些道路是相通且連貫的,將這些道路串接為“路串”進行標識,進而進行道路與行駛軌跡的匹配。另外,在本文中,對于道路的端點(起始點或結束點)與行駛軌跡匹配后的延伸等調整操作也可以稱為“掛接”。
可選的,判斷如果在電子地圖中的第一道路(某一條道路)的結束坐標與第二道路(另一條道路)的起始坐標相同,且第一道路的結束坐標只與第二道路的起始坐標值相同,則認為這兩條道路為一直向某個方向持續(xù)延伸的道路,將所述第一道路和第二道路作為路串,將所述路串上經(jīng)過的行駛軌跡與所述路串進行匹配。參見圖2,該圖為道路連接示意圖。在該圖中,存在a、b、c、d、e、f、o多個點。根據(jù)掛接和通行條件將路網(wǎng)道路穿為路串,具體原則如下:
情況1:如果一個道路點掛接兩條道路,即第一道路的結束坐標與第二道路的起始坐標相同,則該點作為兩個道路形成的路串的中間點,將兩個道路串接為路串,并沿道路通行方向繼續(xù)尋找終點(還可不斷串接其它道路),直到道路遇到岔路口。在圖2中為aeo路段。
情況2:如果一個道路點只掛接一條道路或掛接三條以上的道路(即常見的岔路口),則該道路點為道路或路串的起點或終點。在圖2中a、b、c為起始點或終點,o點為岔路點。
情況3:如果一個點掛接兩條道路,且兩條道路不可通行,則該點同時為兩條道路或路串的起點或終點。這個主要是指現(xiàn)實中從某一位置出發(fā)的單行道路,或存在數(shù)據(jù)錯誤或施工中的道路,需要人工介入處理。
對于情況1,則直接將各道路串接在一起,并根據(jù)串接后的路串坐標,查找在其坐標之上經(jīng)過的行駛軌跡,將這些行駛軌跡與本路串進行匹配。這里所說的在其坐標之上經(jīng)過的行駛軌跡,是指與道路坐標完全相同或高度相鄰的坐標。
這里,使用串接方式連接道路的優(yōu)勢在于:道路串接的算法相對簡單,計算效率較高;以路串作為掃描應用于后續(xù)的形狀匹配,可以較好地保證在道路 與道路上行駛軌跡的匹配,避免了連續(xù)串接的道路匹配的軌跡各異的情況,起到較好的消歧效果。對于電子地圖來說,尤其是高速公路,可以通過道路的駛向判斷道路是否不可通行。如果道路為只出或只入的道路,則可以認為符合情況3的情形。
在情況2中,也即第一道路的結束坐標與n個道路的起始坐標相同,且所述第一道路的結束坐標與n個道路的起始坐標值相同,則認為該點為多個道路的岔路點。但由于檢測儀器的準確性、道路路口變化等因素,在實際獲取到的行駛軌跡中,在岔路口的行駛軌跡都是相互不連接的。參見圖3,這樣的軌跡與道路的坐標無法進行匹配,因此需要對軌跡進行調整。
確定第一道路的結束坐標和n個道路的起始坐標相鄰的掃描區(qū)域,將所述掃描區(qū)域按照預定面積劃分為若干子區(qū)域,即取所述第一道路與n個道路連接的掃描區(qū)域,如設置多個道路連接處的10m*10m面積或更小面積為掃描區(qū)域。參見圖4,在該圖中點o為電子地圖中道路口中心點,向正北、正東、正南、正西各擴充5m,建立10m*10m的正方形掃描區(qū)域。這里所述n為大于2的整數(shù)。
將在所述掃描區(qū)域內的行駛軌跡疊加,截取在掃描區(qū)域內的軌跡為軌跡段。在圖4中t1(ab)、t2(cd)、t3(ef)為截取的軌跡段。之后確定行駛軌跡點的核心坐標區(qū)域,將所述行駛軌跡按照所述核心行駛中心坐標調整,根據(jù)調整后的行駛軌跡與所述第一道路和n個道路坐標進行匹配。
可選的,將掃描區(qū)域按邊均分成若干子區(qū)域,例如可將掃描區(qū)域劃分為若干個1m*1m的子區(qū)域,每個子區(qū)域左下角點的索引設定為[0][0],記掃描區(qū)域內某個子區(qū)域左下角點距掃描區(qū)域左下角點的橫向距離為dx米,縱向距離為dy米,則該子區(qū)域左下角點的索引為[dx][dy](如圖4中深色子區(qū)域左下角點的索引即為[2][4],中心淺色子區(qū)域左下角點的索引即為[2][2]),以某個子區(qū)域的左下角分別向右,向上擴充2m,可建立2m*2m的方形子區(qū)域,方形子區(qū)域我們用三元組(dx,dy,2)表示(圖4示意圖深色的方形子區(qū)域記為(2,4,2),中心淺色的方形子區(qū)域記為(2,2,2))。之后,遍歷掃描區(qū)域中所有非接邊的方形子區(qū)域。參見圖5,該圖展示了以6m*6m的掃描區(qū)域為例,對9個方形區(qū)域的遍歷過程。這里為了便于解釋本發(fā)明,可以稱這個軌跡交叉處的區(qū)域為“特征點擴充域”。
每個“特征點擴充域”還可以根據(jù)其中所包括的軌跡點數(shù)量的多少,將其狀態(tài)可標記為“待識別”、“已識別”、“已匹配”。在初始化狀態(tài)下,所有方形子區(qū)域的狀態(tài)均為“待識別”。
在掃描區(qū)域的每個方形子區(qū)域都有可能對應一個軌跡交叉處鄰近點的集中區(qū)域。若某個“特征點擴充域”的邊緣與掃描區(qū)域內全部軌跡段的交點數(shù)大于2小于等于8,則認為行駛軌跡高概率經(jīng)過當前子區(qū)域,將子區(qū)域作為核心坐標區(qū)域,并將該擴充域標記為“已識別”。
圖4中的中間淺色子區(qū)域與全部軌跡段t1,t2,t3的交點數(shù)為6,正下方淺色子區(qū)域與t2,t3的交點數(shù)為4,正上方深色子區(qū)域與t1,t3的交點數(shù)為4,則將子區(qū)域作為核心坐標區(qū)域,并標記為“已識別”區(qū)域。
其余白色方形子區(qū)域與全部軌跡段t1,t2的交點數(shù)均小于等于2,則仍為“待識別”區(qū)域。
交點數(shù)大于8的情況過于復雜,即使用“特征點”也不能確定匹配,統(tǒng)一留到后面的線匹配,再掛接。
逐一遍歷“已識別”的特征點擴充域。截取“已識別”的“特征點擴充域”邊緣和掃描區(qū)域邊緣之間的軌跡段t1...tn,計算路串的端點坐標(第一道路或路串和其它n個道路或路串的端點坐標都相同)到掃描區(qū)域邊緣交點的方位角:l1(oa),l2(ob),l3(oc),l4(od)。計算每段軌跡段從特征點擴充域邊緣交點到掃描區(qū)域邊緣交點的方位角:t1(ef),t2(gh),t3(ij),t4(mn),t5(pq),t6(rs)。
方位角的概念說明:以正北方向為0°,順時針遞增,值域為[0°,360°),方位角(azimuth)在下文用其英文簡寫az表示。參見圖7,該圖為方位角的示意圖。
如圖6中,l1方位角:az(l1)=0°,az(l2)=90°,az(l3)=180°,az(l4)=270°。
t1,t2的方位角:az(t1)=az(t2)=0°,t3的方位角:az(t3)=90°,t4的方位角大致為185°,t5的方位角大致為180°,t6的方位角大致為270°。
為了能夠清楚的介紹本發(fā)明的技術方案,這里還需要進一步對兩軌跡段t1,t2最大投影距離的概念進行說明,點到折線段的投影距離參見圖8。
根據(jù)平面直角坐標系求解點到直線段的垂足點,如果垂足點在直線段上,則垂足點即為點到直線段的投影點;如果垂足點在直線段的起點外側,則直線段的起點為點到直線段的投影點;如果垂足點在直線段終點的外側,則直線段的終點即為點到直線段的投影點。求出點到折線上所有直線段的投影點的距離,其中最小的距離值為點到折線段的投影距離。
參見圖9,該圖為兩軌跡段t1,t2的最大投影距離的示意圖:
計算軌跡段t1上所有形狀點(坐標)到軌跡段t2(坐標)的距離,再計算軌跡段t2上所有形狀點到軌跡段t1的距離,所有距離中的最大值為軌跡段t1,t2的最大投影距離,兩軌跡段t1,t2的最大投影距離(maximumprojectiondistance)在下文中用其英文簡寫mpd(t1,t2)表示。
統(tǒng)計“特征點擴充域”邊緣和掃描區(qū)域邊緣之間“等價軌跡段類”的數(shù)量,計算每個“等價軌跡段類”的平均方位角az(c)。參見圖10,該圖為合并“等價軌跡段類”示意圖。下以圖10為例,進行說明:
1、初始化每條軌跡段t1,t2...,t6為一個“等價軌跡段類”c1,c2,...,c6
2、對c1,c2,...,c6兩兩進行比較,若對c1,c2中的任兩條軌跡段,都滿足方位角之差:abs(az(t1)-az(t2))<10°,且最大投影距離mpd(t1,t2)<1.5m,則合并c1,c2為一個“等價軌跡段類”。
3、迭代執(zhí)行(2)步驟,直到所有“等價軌跡段類”兩兩進行比較,沒有發(fā)生合并操作,則迭代終止。
圖10中會合并為4個“等價軌跡段類”:c1{t1,t2},c3{t3},c4{t4,t5},c6{t6}.
平均方位角:az(c1)=0°,az(c3)=90°,az(c4)=182.5°,az(c6)=270°
若合并后“等價軌跡段類”的數(shù)量和道路特征點掛接的道路數(shù)不相等:則跳過對當前特征點擴充域的處理,對下一個“已識別”的特征點擴充域進行上述有關計算每條路串從多道路掛接點到掃描區(qū)域邊緣交點的方位角的操作,及計算每個“等價軌跡段類”的平均方位角az(c)并進行相應合并的操作。
若合并后“等價軌跡段類”的數(shù)量和道路特征點掛接的道路數(shù)相等:檢測掛接的每條道路li是否都對應存在一個“等價軌跡段類”cm,滿足方位角之差的絕對值:
abs(az(li)-az(cm))<10°
若任一條道路li找不到對應:則跳過當前特征點擴充域,對下一個“已識別”的特征點擴充域進行上述有關計算每條路串從多道路掛接點到掃描區(qū)域邊緣交點的方位角的操作,及計算每個“等價軌跡段類”的平均方位角az(c)并進行相應合并的操作。
若全部道路都能夠找到對應的“等價軌跡段類”:則將當前“特征點擴充域”標記為“已匹配”,計算道路li與其對應的“等價軌跡段類”中每條軌跡段tm的差異值:
diff(li,tm)=α*abs(az(li)-az(tm))+(1-α)*mpd(li,tm)
其中α為加權值,默認取0.8。
如圖10中道路l3和“等價軌跡段類”c4滿足方位角之差的絕對值<10°,計算
diff(l3,t4)=0.8×2.5+0.2×0.6=2.12,diff(l3,t5)=0.8×0+0.2×0.4=0.08
則道路l3與c4中差異度最低的軌跡段t5即為匹配。
同理可得,道路l1與軌跡段t1,道路l2與軌跡段t3,道路l4與軌跡段t6匹配。
道路l1,l2,l3,l4和軌跡段t1,t3,t5,t6的狀態(tài)標記為“匹配”。
通過“已匹配”的特征點擴充域邊緣與各標記為“匹配”軌跡段(t1,t3,t5,t6)的交點(e,i,p,r),求出幾個交點的平均x,y坐標a(x,y),a點可視為道路或路串的端點o的匹配點,為核心行駛中心坐標。參見圖11,該圖為計算特征點匹配點的示意圖。
根據(jù)所述核心子區(qū)域內的行駛軌跡計算核心行駛中心坐標,將所述掃描區(qū)域內的行駛軌跡按照所述核心行駛中心坐標進行調整。即將所有軌跡在特征點擴充域中的形狀點統(tǒng)一替換為特征點的匹配點,并調整軌跡上形狀點的序號。參見圖12。
如圖12,t1,t2,t3三條軌跡所有在特征點擴充域中的形狀點統(tǒng)一由核心行駛中心坐標a點替代,同時特征點擴充域外,軌跡的形狀點序號也會進行調整。
例如:t1軌跡采集時由b通向c,調整前,b的形狀點序號:seq(t1,b)=388,c的形狀點序號seq(t1,c)=392;調整后,seq(t1,b)=388,seq(t1,a)=389,seq(t1,c)=390。
t3軌跡采集時由d通向e,調整前,seq(t3,d)=161,seq(t3,e)=164;調整后,seq(t3,d)=161,seq(t3,a)=162,seq(t3,e)=163。
至此確定了道路l1,l2,l3,l4所匹配的軌跡段和端點o在軌跡上匹配a點的序號。
采用如下四元組方式記錄:
<l1,o,t3,seq(t3,a)>,<l2,o,t2,seq(t2,a)>,
<l3,o,t3,seq(t3,a)>,<l4,o,t1,seq(t1,a)>
第一個四元組表示路串l1的端點o與軌跡t3的第162個點匹配。
至此,當前道路或路串中所涉及到的行駛軌跡匹配操作完成,行駛軌跡按 照計算得到的a進行了相應的調整。
同理,對每個多道路連接的岔路口節(jié)點執(zhí)行上述匹配操作,使每個道路或路串的端點都完成與行駛軌跡的匹配,進一步包括:獲取道路的兩端端點坐標之間的道路形狀和距離,以及對應的行駛軌跡上兩個核心行駛中心坐標之間的軌跡形狀和距離,判斷若兩個核心行駛中心屬于同一行駛軌跡,且道路和行駛軌跡段的長度比不超過預置的閾值,將道路和行駛軌跡進行匹配。
如果某條路串li的兩端a點,b分別匹配軌跡ti上序號seq1,seq2的點(如t1上的c,d,兩個點匹配的四元組結果為<l1,a,t1,seq(t1,c)>,<l1,b,t1,seq(t1,d)>),且路串的長度與軌跡長度(因為行駛軌跡點間距約1m,軌跡長度可用seq1-seq2近似)大致相同,即滿足:
abs(length(li)-abs(seq1-seq2))/length(li)<0.1
則匹配成功,將t1的[seq1,seq2]作為l1的匹配軌跡段,記錄匹配結果。參見圖13,該圖為檢測端點匹配到相同軌跡的示意圖。
如果路串li的端a點和b分別匹配同一條軌跡ti上序號為seq1,seq2的點,卻有:
abs(length(li)-abs(seq1-seq2))/length(li)>=0.1
則路串li匹配失敗,留到線匹配處理。
如果路串兩端匹配到不同的軌跡段,如圖13中a端點與軌跡t1的c點匹配,b端點與軌跡t2的d點匹配則該路串匹配失敗,即兩個點匹配的四元組結果為:
<l1,a,t1,seq(t1,c)>,<l1,b,t2,seq(t2,d)>),則路串li匹配失敗,留到線匹配處理。
如果路串li只有一端a匹配到軌跡上t1的c,另一端點b沒有成功的匹配結果,則通過b的坐標找軌跡t1上距離其最近的形狀點d,設c的形狀點序號為seq1,d的形狀點序號為seq2。h為點d距點b的距離閾值,可設定為5-10m之間。
若同時滿足:
distance(b,d)<h,且abs(length(li)-abs(seq1-seq2))/length(li)<0.1
則匹配成功,記錄匹配結果。否則匹配失敗,路串li留到線匹配處理。參見圖14,該圖為路串只有一個端點匹配到軌跡的示意圖。
如果某條路串兩端都沒有匹配到任何軌跡,則該路串匹配失敗,留到線匹 配處理。
經(jīng)過上述步驟,完成了“基于特征點擴充域”的智能匹配。參見圖15,該圖為通過使用上述操作對行駛軌跡按照匹配結果進行調整后的效果圖。
通過使用上述方法,使得道路與行駛軌跡的匹配準確性有了較大的提高,同時,有效提升了對“十字交叉口”,“匝道入主路”處等容易出現(xiàn)“道路掛接,軌跡未掛接”情況的處理準確率。
在進行上述操作后,可以將正常路串上的軌跡和多道路連接的岔路口行駛軌跡進行了相應的匹配。但由于實際交通道路的復雜性及客觀存在的若干可能影響到匹配準確性的因素,造成仍然存在一定量的道路無法與獲得的行駛軌跡進行匹配。
因此,在本發(fā)明提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配方法的第二實施例中,還包括一種具有補充作用的“線匹配”方法,用來針對上述操作未能夠正常匹配的道路和行駛軌跡的匹配,進一步補充和完善技術方案:
若行駛軌跡在所述路串周圍的指定范圍內經(jīng)過,以所述路串為中心設定擴展區(qū)域;
將長度相似比和形狀相似比滿足預置閾值且處于所述路串的擴展區(qū)域內的行駛軌跡,作為與所述路串相匹配的行駛軌跡。
可選的,根據(jù)路串的坐標信息建立緩沖區(qū)。其中,如果針對坐標點,則緩沖區(qū)的范圍是半徑為預置緩沖值的圓形區(qū)域;如果針對由若干個點組成的路串坐標,則緩沖區(qū)的范圍可以是與折線形狀一致的帶形區(qū)域,寬度為預置緩沖值的2倍,起點和終點位置向外延伸為半徑為預置緩沖值的半圓。參見圖16,該圖為道路緩沖區(qū)示意圖。
在一般情況下,“路串周圍的指定范圍內”可以是在道路的周圍為0-8米范圍之內的區(qū)域,優(yōu)選的距離為5米內。
查詢并截取與路串建立的緩沖區(qū)有空間關系的軌跡段。為了查詢到盡可能多的軌跡段,這里的“空間關系”包括軌跡段與緩沖區(qū)域相交、相切、完全落入。參見圖17,該圖為行駛軌跡(link)落入緩沖區(qū)(linkbuffer)的示意圖。
之后,根據(jù)長度相似比和形狀相似比篩選出滿足閾值條件的軌跡段,加權選擇最可能匹配的軌跡段進行匹配。
這里,計算長度相似比和形狀相似比的公式如下:
長度相似比:r(1)=distance(行駛軌跡在緩沖區(qū)內部分的長度)/distance(路串的長度)。
形狀相似比:r(s)=1-abs(distance(行駛軌跡在緩沖區(qū)內部分的長度)-distance(路串投影))/distance(行駛軌跡在緩沖區(qū)內部分的長度)。
在形狀相似比的公式中包含distance(路串投影),這里對路串投影的映射規(guī)則進行具體說明:
參考線a到基準線b的平面投影計算:
1)分別求出線a的起點和終點到線b的投影點;
2)線b上兩個投影點(圖中虛線部分)以及投影點中間的形狀點的連線即為線a到線b的投影線。參見圖18,該圖為路串投影的示意圖。
分別設定長度相似度和形狀相似度的選擇閾值為h(1)和h(s),長度相似度和形狀相似度的加權值分別為α和1-α(α默認值0.5)。
在計算某路串的匹配軌跡段時,首先篩選出滿足閾值條件的軌跡段,再對篩選后的每條軌跡段計算:r=α*r(1)+(1-α)*r(s),r值最高的軌跡段即為路串的匹配軌跡段。
在進行上述操作后,可以擴展道路或路串的坐標區(qū)域,從而增加能夠匹配的行駛軌跡的可能性和準確性。在實際中,經(jīng)常出現(xiàn)路串的端點(起始點或結束點)未與匹配的行駛軌跡的端點進行對應或掛接的情況。
因此,在本發(fā)明提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配方法的第三實施例中,還包括一種方法解決上述問題:
若處于相鄰路串上的行駛軌跡的端點坐標不相同,計算所述行駛軌跡間的端點坐標的距離是否小于預置端點距離閾值;
若小于,則根據(jù)各行駛軌跡的端點坐標計算中心端點坐標,分別作為相鄰路串上的行駛軌跡的新端點坐標。
若行駛軌跡間的端點坐標的距離大于預置端點距離閾值,則不必執(zhí)行上述計算中心端點坐標的操作。
具體處理步驟為:
1)找到需要處理的軌跡段t1,...,tn和其待掛接的端點n1,...,nn。
2)計算n1,...,nn中每兩端點間的距離,設定距離閾值為h(d),若存在distance(ni,nj)>h(d),則這組端點處程序不自動掛接,以“道路點,<軌跡段ti,待掛接軌跡點序號seq>”的log形式輸出給用戶。
3)若全部點間距均小于h(d),則取所有端點的平均(x,y)坐標(即所有端點連線多邊形的幾何重心),新建一個掛接點o(x,y),對應軌跡段的對應端添加o點為新端點。參見圖19,該圖為新增軌跡段掛接點示意圖。
至此,通過使用以上介紹的幾種方法及其組合,可以較為精準而全面地完成了道路路段與實采行駛軌跡“線與端點“的一一匹配,可以實現(xiàn)根據(jù)與所述路網(wǎng)底圖路串相匹配的行駛軌跡數(shù)據(jù)對已有路網(wǎng)底圖的數(shù)據(jù)的更新。
以上為本發(fā)明提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配的方法,基于其原理,本發(fā)明還提供整片行駛軌跡與路網(wǎng)底圖的智能匹配裝置,具體如下:
參見圖20,該圖為本發(fā)明提供的一種行駛軌跡與路網(wǎng)底圖的智能匹配裝置的第一實施例和第二實施例串行實施的原理框圖。
在第一實施例中,包括:匹配數(shù)據(jù)獲取模塊10、路串構建模塊20和路口點匹配模塊30。其中:
匹配數(shù)據(jù)獲取模塊10,用于分別獲取路網(wǎng)底圖中道路的坐標和行駛軌跡的數(shù)據(jù);
路串構建模塊20,用于根據(jù)所述路網(wǎng)底圖中道路屬性,判斷出某一道路的兩端只存在一條可通行道路,則將其串接為路串;
路口點匹配模塊30,用于判斷出若所述路網(wǎng)底圖中某一道路的結束點與兩條以上的道路通行,則以所述某一道路的結束點與兩條以上的道路連接區(qū)域構建特征點擴充區(qū)域;識別所述特征點擴充區(qū)域內的所述行駛軌跡,并確定所述行駛軌跡的核心坐標區(qū)域及所述核心坐標區(qū)域的中心點;根據(jù)所述中心點對所述特征點擴充區(qū)域內的行駛軌跡進行調整,并與所述路網(wǎng)底圖中的相應道路進行匹配。
作為一種可選的實施方式,所述路串構建模塊進一步包括:
路串道路判斷子模塊,用于判斷所述路網(wǎng)底圖中第一道路的結束坐標與第二道路的起始坐標是否相同,若相同且第一道路的結束坐標只與第二道路的起始坐標值相同,將所述第一道路和第二道路作為路串;
路串軌跡匹配子模塊,用于獲取所述路串上經(jīng)過的行駛軌跡,并將所述經(jīng)過的行駛軌跡與所述路串進行匹配。
作為一種可選的實施方式,所述路口點匹配模塊進一步包括:
子區(qū)域劃分子模塊,用于判斷第一道路的結束坐標與n個道路的起始坐標是否相同,若相同,則確定第一道路的結束坐標和n個道路的起始坐標相鄰的掃描區(qū)域,將所述掃描區(qū)域按照預定面積劃分為若干子區(qū)域:
核心區(qū)域標識子模塊,用于將經(jīng)過所述掃描區(qū)域的行駛軌跡進行疊加,確定行駛軌跡高概率經(jīng)過的子區(qū)域,作為核心坐標區(qū)域;
行駛軌跡調整子模塊,用于根據(jù)所述核心子區(qū)域內的行駛軌跡計算核心行 駛中心坐標,將掃描區(qū)域內的行駛軌跡按照所述核心行駛中心坐標進行調整;
道路匹配子模塊,用于獲取路網(wǎng)底圖道路的兩端端點坐標之間的道路形狀和距離、以及相對應的行駛軌跡上兩個核心行駛中心坐標之間的軌跡形狀和距離,判斷路網(wǎng)底圖的道路和行駛軌跡屬于同一連續(xù)軌跡段且道路和行駛軌跡段的長度比不超過預置的閾值,將所述路網(wǎng)底圖的道路和行駛軌跡進行匹配;其中,所述n為大于2的整數(shù)。
作為一種可選的實施方式,所述核心區(qū)域標識子模塊進一步包括:
核心區(qū)域軌跡定位子模塊,用于根據(jù)行駛軌跡的坐標確定每個行駛軌跡在所述核心子區(qū)域內的行駛軌跡段;
平均方位角計算子模塊,用于計算行駛軌跡從所述掃描區(qū)域邊緣到核心子區(qū)域邊緣交點的平均方位角;
等價軌跡段比較子模塊,用于判斷若兩個行駛軌跡之間的平均方位角之差小于預置方位角閾值,且最大投影距離小于預置投影間隔閾值,將兩個行駛軌跡中從所述掃描區(qū)域邊緣到核心子區(qū)域邊緣的軌跡段作為同一個等價軌跡段;
中心坐標計算子模塊,用于匯總所有的等價軌跡段與所述核心子區(qū)域邊緣的交點坐標計算核心行駛中心坐標;
中心坐標調整子模塊,用于將從所述掃描區(qū)域內的行駛軌跡以核心行駛中心坐標為中心進行調整。
作為一種可選的實施方式,上述裝置還可以包括:
緩沖區(qū)補充匹配模塊40,用于判斷若行駛軌跡在所述路串周圍指定范圍內經(jīng)過,則以所述路串為中心設定擴展區(qū)域;將長度相似比和形狀相似比滿足預置閾值且處于所述路串的擴展區(qū)域內的行駛軌跡,作為與所述路串相匹配的行駛軌跡。
端點平滑調整模塊50,用于判斷若處于相鄰路串上的行駛軌跡的端點坐標不相同,計算并判斷所述行駛軌跡間的端點坐標的距離是否小于預置端點距離閾值;在所述行駛軌跡間的端點坐標的距離小于預置端點距離閾值時,則根據(jù)各行駛軌跡的端點坐標計算中心端點坐標,分別作為相鄰路串上的行駛軌跡的新端點坐標。
作為一種可選的實施方式,上述裝置中還可以包括:
數(shù)據(jù)更新模塊60,用于在所述路網(wǎng)底圖中道路與所述行駛軌跡匹配后,根據(jù)與所述路網(wǎng)底圖數(shù)據(jù)相匹配的行駛軌跡數(shù)據(jù),對所述路網(wǎng)底圖的數(shù)據(jù)進行更新。
上述裝置中的各模塊的功能原理可參見前述各方法實施例中的相關說明,這里不再重復進行介紹。
至此,通過使用以上裝置,可以較為精準而全面地完成了道路路段與實采行駛軌跡“線與端點“的一一匹配,實現(xiàn)了實采軌跡對已有路網(wǎng)底圖的匹配更新。
上述說明示出并描述了本發(fā)明的若干可選實施例,但如前所述,應當理解本發(fā)明并非局限于本文所披露的形式,不應看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構想范圍內,通過上述教導或相關領域的技術或知識進行改動。而本領域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應在本發(fā)明所附權利要求的保護范圍內。