專利名稱:基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng)方法
基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng)
方法
技術(shù)領(lǐng)域:
本發(fā)明涉及導(dǎo)航電子地圖的在線增量式更新方法,更具體涉及基于道路數(shù)據(jù)增量
更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng)。背景技術(shù):
現(xiàn)階段,導(dǎo)航電子地圖的更新主要采取離線版本式更新方法。 離線版本式更新方法是以一定時(shí)間段為一個(gè)周期,對道路數(shù)據(jù)進(jìn)行全面的修測和 補(bǔ)測,甚至是重測,根據(jù)采集的全部更新數(shù)據(jù)制作出具有新的版本編號的導(dǎo)航電子地圖,并 用其替換用戶原有的導(dǎo)航電子地圖。該方法工作量大,成本高,需要很長的更新周期(一般 為6-12個(gè)月),新建道路、交通管制等常見道路變化無法在導(dǎo)航電子地圖上實(shí)時(shí)反映,經(jīng)常 造成誘導(dǎo)路線錯(cuò)誤顯示,無法滿足交通誘導(dǎo)系統(tǒng)對導(dǎo)航電子地圖高現(xiàn)勢性的要求。
發(fā)明內(nèi)容
本發(fā)明提出一種基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng),實(shí)現(xiàn) 了導(dǎo)航電子地圖的實(shí)時(shí)在線更新。中心端服務(wù)器存儲(chǔ)管理更新數(shù)據(jù)源,根據(jù)客戶端需求生 成增量數(shù)據(jù)包,通過無線網(wǎng)絡(luò)發(fā)送到車載導(dǎo)航終端,車載導(dǎo)航終端對接收到的增量數(shù)據(jù)包 進(jìn)行解析轉(zhuǎn)化,把增量數(shù)據(jù)合并到本地導(dǎo)航數(shù)據(jù)文件中,從而完成整個(gè)導(dǎo)航電子地圖路網(wǎng) 拓?fù)浣Y(jié)構(gòu)的實(shí)時(shí)更新。 本發(fā)明的技術(shù)方案是采用中心端服務(wù)器、通信網(wǎng)絡(luò)和車載導(dǎo)航終端構(gòu)成基于道路 數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng)。中心端服務(wù)器主要包括支持增量更新的 拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)存儲(chǔ)模塊、道路數(shù)據(jù)增量更新模塊與增量更新數(shù)據(jù)包在線生成模塊,支持增 量更新的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)存儲(chǔ)模塊通過鄰接表對道路數(shù)據(jù)進(jìn)行存儲(chǔ)和管理;當(dāng)接收道路增量 數(shù)據(jù)時(shí),道路數(shù)據(jù)增量更新模塊能夠?qū)Ω碌牡缆窋?shù)據(jù)拓?fù)浣Y(jié)構(gòu)進(jìn)行快速重新構(gòu)建;增量 更新數(shù)據(jù)包在線生成模塊能夠根據(jù)客戶端需求,通過XML可擴(kuò)展標(biāo)記語言的形式生成增量 更新數(shù)據(jù)包。通信網(wǎng)絡(luò)采取GPRS無線通信方式,可實(shí)現(xiàn)中心端與車載導(dǎo)航終端之間的數(shù)據(jù) 傳輸。車載導(dǎo)航終端包括增量更新數(shù)據(jù)包解析轉(zhuǎn)化模塊,能夠?qū)⒃隽扛聰?shù)據(jù)合并到本地 導(dǎo)航數(shù)據(jù)文件中。 通過采用上述方案,解決了傳統(tǒng)離線版本式更新方法更新成本高、更新周期長、導(dǎo) 航電子地圖無法二次利用等弊端,實(shí)現(xiàn)了導(dǎo)航電子地圖的實(shí)時(shí)在線更新,使交通誘導(dǎo)系統(tǒng) 為出行者提供的出行路徑更加準(zhǔn)確、可用。
圖1為本發(fā)明方框圖; 圖2為路網(wǎng)拓?fù)浣Y(jié)構(gòu)的鄰接表結(jié)構(gòu)示意圖; 圖3為道路數(shù)據(jù)增量更新模塊路段添加操作流程3
圖4為道路數(shù)據(jù)增量更新模塊路段刪除操作流程圖;
圖5為道路數(shù)據(jù)增量更新模塊路段更改操作流程圖;
圖6為增量更新數(shù)據(jù)包解析轉(zhuǎn)化流程圖。
具體實(shí)施方式
以KIWI、GDF、 SDAL格式的導(dǎo)航電子地圖為基礎(chǔ),將導(dǎo)航電子地圖數(shù)據(jù)庫中的道 路網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)采用鄰接表的形式存儲(chǔ),以更好地支持增量更新與動(dòng)態(tài)拓?fù)渲亟ǎ坏?路增量數(shù)據(jù)經(jīng)過道路數(shù)據(jù)增量更新模塊處理,完成相應(yīng)的路段添加、路段刪除、路段更改操 作;通過XML可擴(kuò)展標(biāo)記語言的形式完成增量更新數(shù)據(jù)包的在線生成;根據(jù)客戶需求通過
通信模塊將增量更新數(shù)據(jù)包發(fā)送到車載導(dǎo)航終端,車載導(dǎo)航終端對接收到的增量更新數(shù)據(jù) 包進(jìn)行解析轉(zhuǎn)化,把增量更新數(shù)據(jù)合并到本地導(dǎo)航數(shù)據(jù)文件中,從而完成基于道路數(shù)據(jù)增 量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ā>唧w流程如附圖1所示。
1.支持增量更新的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)存儲(chǔ)模塊 把導(dǎo)航電子地圖路網(wǎng)中的路段定義為節(jié)點(diǎn)和弧段的組合,采用鄰接表的結(jié)構(gòu)表示 道路網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如附圖2所示。鄰接表是采用鏈表實(shí)現(xiàn)的,鏈表對于元素的增刪操作相 當(dāng)方便,有利于大型交通網(wǎng)絡(luò)的動(dòng)態(tài)調(diào)整。 首先對路網(wǎng)中每個(gè)道路節(jié)點(diǎn)進(jìn)行編號,然后對每一道路節(jié)點(diǎn)建立一個(gè)單鏈表,每 個(gè)單鏈表都由表結(jié)點(diǎn)和表頭結(jié)點(diǎn)構(gòu)成,單鏈表中的o個(gè)表結(jié)點(diǎn)表示以表頭結(jié)點(diǎn)所代表的 道路節(jié)點(diǎn)為起點(diǎn)的o條弧段,表結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)中記錄了該條弧段的終點(diǎn)、權(quán)值等屬性信 息,鏈表的表點(diǎn)結(jié)點(diǎn)以順序結(jié)構(gòu)形式存儲(chǔ),以便隨機(jī)訪問路網(wǎng)中任一道路節(jié)點(diǎn)的弧段鏈表。
1)將路網(wǎng)中的所有道路節(jié)點(diǎn)編號作為圖的表頭結(jié)點(diǎn)
表頭結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)定義如下
struct HeaderNodeType{ long nodeID ;〃節(jié)點(diǎn)標(biāo)識符(路段起點(diǎn)標(biāo)識符)
double longitude ;〃節(jié)點(diǎn)經(jīng)諱度
double latitude ; ArcNodeType*f irstArc ;〃指向以此節(jié)點(diǎn)為起點(diǎn)的路段鏈表
} 2)表頭結(jié)點(diǎn)中包含一鏈表指針,指向以該表頭結(jié)點(diǎn)為起點(diǎn)的所有弧段構(gòu)成鏈表
弧段鏈表的元數(shù)據(jù)結(jié)構(gòu)定義如下
struct ArcNodeType{ long arcID ;〃弧段標(biāo)識符,不同于路段地理數(shù)據(jù)庫中的路段標(biāo)識符, 一條長的道 路需在道路節(jié)點(diǎn)處斷開,此時(shí)可能會(huì)把一條道路分成若干條弧段 long roadID ;〃路段標(biāo)識符,在導(dǎo)航地理數(shù)據(jù)庫中的道路編號,照此可以直接去 道路屬性數(shù)組中取得道路屬性 long nodeID ;〃路段終點(diǎn)標(biāo)識符(與某一節(jié)點(diǎn)標(biāo)識符對應(yīng)) double longitude ;〃終點(diǎn)經(jīng)諱度 double latitude ; double weight ;〃道路權(quán)重
ArcNodeType*next ;〃指向下一弧段
} 2.道路數(shù)據(jù)增量更新模塊 導(dǎo)航電子地圖中,道路數(shù)據(jù)的增量更新主要表現(xiàn)為道路的新建、道路的拓寬、若干 道路的合并以及道路的廢棄等具體情況。道路的新建對應(yīng)路段添加操作;道路的廢棄對應(yīng) 路段刪除操作;道路的拓寬和若干道路的合并實(shí)際上只是路段屬性發(fā)生變化,對應(yīng)路段更 改操作。
1)路段添加操作 路段添加的操作流程見附圖3。 當(dāng)添加路段不與導(dǎo)航電子地圖中原有路段相交時(shí),首先判斷添加路段的首節(jié)點(diǎn)是 否與節(jié)點(diǎn)數(shù)組中的某個(gè)節(jié)點(diǎn)重合。若重合,在該節(jié)點(diǎn)鄰接路段中添加該路段的標(biāo)志,同時(shí)在 弧段數(shù)組里增加新路段ID和首尾節(jié)點(diǎn)ID ;若節(jié)點(diǎn)數(shù)組中沒有已存在的節(jié)點(diǎn)與添加路段的 首節(jié)點(diǎn)重合,則在新弧段的首節(jié)點(diǎn)地理位置建立新節(jié)點(diǎn),并把新弧段的標(biāo)志添加到該節(jié)點(diǎn) 的鄰接路段中,同時(shí)弧段數(shù)組里增加新路段ID和首尾節(jié)點(diǎn)ID。 當(dāng)添加路段與導(dǎo)航電子地圖中原有路段相交時(shí),需要計(jì)算交點(diǎn),在交點(diǎn)處拆分與 之相交的路段,建立新的路段,刪除舊路段,然后直接參照添加路段不與導(dǎo)航電子地圖中原 有路段相交的方法進(jìn)行更新操作。
(1)路段相交的判斷方法 使用MapX中的Intersection函數(shù)進(jìn)行路段相交判斷和交點(diǎn)獲取。
(2)節(jié)點(diǎn)重合的判斷方法 St印l :根據(jù)添加路段的節(jié)點(diǎn)信息建立一條新的路段; St印2 :分別以新建路段的前后節(jié)點(diǎn)為圓心,5m為半徑,搜索是否有相交對象,如 果未搜索到對象存在,轉(zhuǎn)為路段相交判斷; St印3 :如果搜索到的對象個(gè)數(shù)n > 1,且該路段節(jié)點(diǎn)與搜索結(jié)果中任意對象路段 的前后節(jié)點(diǎn)距離其中有一個(gè)< 5m,則將新建道路的節(jié)點(diǎn)變更為該對象路段的節(jié)點(diǎn),并記錄 該對象路段的節(jié)點(diǎn)標(biāo)識; St印4 :如果搜索對象個(gè)數(shù)n = 1,且該路段節(jié)點(diǎn)與對象路段的前后節(jié)點(diǎn)的距離> 5m,則延長新建路段與對象路段相交,求取交點(diǎn)坐標(biāo),將新建道路的節(jié)點(diǎn)變更為該交點(diǎn)。
2)路段刪除操作
路段刪除的操作流程見附圖4。 從地圖數(shù)據(jù)庫的道路路段表中刪除被刪路段的相關(guān)記錄,同時(shí)刪除該路段ID所 對應(yīng)的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù),并從被刪路段首結(jié)點(diǎn)的鄰接路段中刪除該路段的信息。若圖幅中不 允許存在假結(jié)點(diǎn),還要判斷刪去路段后,被刪路段的首、尾結(jié)點(diǎn)的出入度是否全為1。若是, 則刪除假結(jié)點(diǎn),將兩條路段合并。
路段合并的方法如下 St印l :在節(jié)點(diǎn)數(shù)據(jù)表中,刪去中間節(jié)點(diǎn)ID的所有數(shù)據(jù)信息; St印2 :根據(jù)所連接的兩條路段的數(shù)據(jù)建立新路段,更新新路段上兩個(gè)節(jié)點(diǎn)的路段 信息; St印3 :刪除與被連接的兩條路段相關(guān)的信息。
3)路段更改操作 路段更改的操作流程見附圖5。 路段更改操作相對簡單,主要是根據(jù)道路增量數(shù)據(jù)更改FeatureID,同時(shí)更改與之
對應(yīng)的屬性列ID和內(nèi)容。 3.增量更新數(shù)據(jù)包在線生成模塊 增量更新數(shù)據(jù)包是在道路數(shù)據(jù)增量更新模塊完成增量更新操作以后,根據(jù)客戶需 求生成的下發(fā)給車載導(dǎo)航終端的增量更新地圖數(shù)據(jù)。增量更新數(shù)據(jù)包通過XML可擴(kuò)展標(biāo)記 語言的形式來完成。 1)增量更新數(shù)據(jù)包的整體設(shè)計(jì)結(jié)構(gòu) -〈UpdateOperation Operation = string, Category = String>
-化inkFeature FeatureID = double>
〈Update〉List〈/Update〉
〈/linkFeature> -〈PointFeature FeatureID = double>
〈Update〉List〈/Update〉
〈/PointFeature>
〈Update0peration>
-〈List> 〈ModifylD〉double〈/ModifyID> 〈RoadName>string〈/RoadName> 〈Co騰c讓inklD〉double〈/Co騰c讓inklD〉 〈RoadCondit〉int〈/RoadCondit〉 〈NodelD〉double〈NodelD〉 〈Coordinates>double〈/Coordinates> 〈/List> 2)XML語句解析 (1)Update0peration為操作類別項(xiàng),參數(shù)Operation定義為string,內(nèi)容可選為 "Add"、"Modify"、"Delete",分別代表對數(shù)據(jù)庫中寫入、修改和刪除的內(nèi)容。參數(shù)Category 定義為String,內(nèi)容可選為"Link"、"Node",分別對應(yīng)了路段和結(jié)點(diǎn)屬性的更新。
(2) Update0peration項(xiàng)中包含LinkFeature禾口 PointFeature兩項(xiàng),代表數(shù)據(jù)庫中 更新的路段和結(jié)點(diǎn)信息,分別對應(yīng)寫入相應(yīng)的路段和結(jié)點(diǎn)數(shù)據(jù)表中。 (3)Update項(xiàng)為更新的內(nèi)容,由List項(xiàng)表示;List項(xiàng)為多變項(xiàng),共由〈ModifyID〉、 〈LinkID>、 〈ConnectLinkID>、 〈RoadCondit>、 〈NodeID>、 〈Coordinates>等子項(xiàng)構(gòu)成。
> 〈ModifyID〉為新的ID編號,當(dāng)更新類型為Modify時(shí),子項(xiàng)可用;
> 〈LinkID〉為新的路段ID編號,當(dāng)更新類型為Modify和Add時(shí),子項(xiàng)可用;
> 〈ConnectLinkID〉為與新加結(jié)點(diǎn)相鄰的路段名稱,當(dāng)更新類型為Modify和Add, 且〈Update0peration>項(xiàng)為PointFeature項(xiàng)時(shí)可用; > 〈RoadCondit〉為新加路段的道路等級,當(dāng)更新類型為Modify和Add,且 〈Update0peration>項(xiàng)為LinkFeature項(xiàng)時(shí)可用;
> 〈NodeID〉為新加路段的前、后結(jié)點(diǎn)的ID號,當(dāng)更新類型為Modify和Add,且 〈UpdateOperation>項(xiàng)為LinkFeature項(xiàng)時(shí)可用; > 〈Coordinates〉為新加路段的所有組成結(jié)點(diǎn)的經(jīng)緯度,當(dāng)更新類型為Add,且 〈UpdateOperation>項(xiàng)為LinkFeature項(xiàng)時(shí)可用。
4.增量更新數(shù)據(jù)包解析轉(zhuǎn)化模塊 車載導(dǎo)航終端對接收到的增量更新數(shù)據(jù)包進(jìn)行解析轉(zhuǎn)化,把增量更新數(shù)據(jù)合并到 本地導(dǎo)航數(shù)據(jù)文件中,完成基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ā⒃隽?更新數(shù)據(jù)包解壓縮之后,首先根據(jù)operation參數(shù)對增量數(shù)據(jù)的類型進(jìn)行判斷,然后依據(jù) 不同類型應(yīng)用添加、刪除、修改三種方式對本地導(dǎo)航數(shù)據(jù)文件進(jìn)行更新,當(dāng)操作類型為添加 時(shí),還要通過category參數(shù)的判別結(jié)果分別對弧段和節(jié)點(diǎn)的更新數(shù)據(jù)進(jìn)行具體操作。增量 更新數(shù)據(jù)增量更新數(shù)據(jù)包解析轉(zhuǎn)化流程見附圖6。
權(quán)利要求
一種基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng)方法,其特征在于它由中心端服務(wù)器、通信網(wǎng)絡(luò)和車載導(dǎo)航終端構(gòu)成,中心端服務(wù)器包括支持增量更新的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)存儲(chǔ)模塊、道路數(shù)據(jù)增量更新模塊與增量更新數(shù)據(jù)包在線生成模塊;通信網(wǎng)絡(luò)采取GPRS無線通信方式,實(shí)現(xiàn)中心端服務(wù)器與車載導(dǎo)航終端之間的數(shù)據(jù)傳輸;車載導(dǎo)航終端包括增量更新數(shù)據(jù)包解析轉(zhuǎn)化模塊,將增量更新數(shù)據(jù)合并到本地導(dǎo)航數(shù)據(jù)文件中。
2. 根據(jù)權(quán)利要求1所述的基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng) 方法,其特征在于所述的支持增量更新的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)存儲(chǔ)模塊是將路網(wǎng)拓?fù)浣Y(jié)構(gòu)數(shù)據(jù) 采用鄰接表的形式存儲(chǔ),該模塊流程為a、 從原始路網(wǎng)數(shù)據(jù)庫中,提取路段編號、起始節(jié)點(diǎn)標(biāo)識、終止節(jié)點(diǎn)標(biāo)識、長度信息,同時(shí) 提取對應(yīng)于該路段編號的行程時(shí)間信息,生成弧段拓?fù)鋽?shù)據(jù)表;b、 從原始路網(wǎng)數(shù)據(jù)庫中,提取節(jié)點(diǎn)標(biāo)識,并檢查有無重復(fù),如有重復(fù)則去掉重復(fù)端點(diǎn)信 息,提取對應(yīng)節(jié)點(diǎn)標(biāo)識的經(jīng)緯度數(shù)據(jù),生成節(jié)點(diǎn)拓?fù)鋽?shù)據(jù)表。
3. 根據(jù)權(quán)利要求1所述的基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng) 方法,其特征在于所述道路數(shù)據(jù)增量更新模塊具體包括路段添加、路段刪除和路段更改操 作,其中,道路的新建對應(yīng)路段添加操作;道路的廢棄對應(yīng)路段刪除操作;道路的拓寬和若 干道路的合并實(shí)際上只是路段屬性發(fā)生變化,對應(yīng)路段更改操作。
4 根據(jù)權(quán)利要求1所述的基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng) 方法,其特征在于所述的增量更新數(shù)據(jù)包在線生成模塊采用XML可擴(kuò)展標(biāo)記語言的形式 制作增量更新數(shù)據(jù)包,并實(shí)時(shí)根據(jù)用戶需求下發(fā)給車載導(dǎo)航終端。
5. 根據(jù)權(quán)利要求1所述的基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng) 方法,其特征在于所述的增量更新數(shù)據(jù)包解析轉(zhuǎn)化模塊在車載導(dǎo)航終端對接收到的增量 更新數(shù)據(jù)包進(jìn)行解析轉(zhuǎn)化,把增量更新數(shù)據(jù)合并到本地導(dǎo)航數(shù)據(jù)文件中,完成基于道路數(shù) 據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ā?br>
全文摘要
基于道路數(shù)據(jù)增量更新的導(dǎo)航電子地圖動(dòng)態(tài)拓?fù)渲亟ㄏ到y(tǒng)方法,涉及導(dǎo)航電子地圖的在線增量式更新方法,采用中心端服務(wù)器、通信網(wǎng)絡(luò)和車載導(dǎo)航終端構(gòu)成,中心端服務(wù)器包括支持增量更新的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)存儲(chǔ)模塊、道路數(shù)據(jù)增量更新模塊與增量更新數(shù)據(jù)包在線生成模塊;通信網(wǎng)絡(luò)采取GPRS無線通信方式,可實(shí)現(xiàn)中心端服務(wù)器與車載導(dǎo)航終端之間的數(shù)據(jù)傳輸;車載導(dǎo)航終端包括增量更新數(shù)據(jù)包解析轉(zhuǎn)化模塊,可以將增量更新數(shù)據(jù)合并到本地導(dǎo)航數(shù)據(jù)文件中。本發(fā)明能夠根據(jù)路網(wǎng)實(shí)時(shí)變化在線更新導(dǎo)航電子地圖,有效保證了動(dòng)態(tài)交通誘導(dǎo)系統(tǒng)為駕駛員提供正確的行駛路線。
文檔編號G01C21/28GK101726309SQ200910218030
公開日2010年6月9日 申請日期2009年12月18日 優(yōu)先權(quán)日2009年12月18日
發(fā)明者叢玉良, 于德新, 于悅, 曹寶貴, 楊兆升, 楊慶芳, 楊楠, 林賜云, 鄭黎黎, 龔勃文 申請人:吉林大學(xué)