欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種導航用道路拓撲數(shù)據(jù)模型和計算方法

文檔序號:6126211閱讀:382來源:國知局
專利名稱:一種導航用道路拓撲數(shù)據(jù)模型和計算方法
技術(shù)領域
本發(fā)明涉及導航相關(guān)的應用技術(shù)領域,尤旨一種利用集中在導 航專用的道路拓撲數(shù)據(jù)的分析和提取方法,并以此建立數(shù)據(jù)模型, 用于導航地圖數(shù)據(jù)中能處理大面積,長距離的道路分析計算的數(shù)據(jù) 模型和計算方法。
背景技術(shù)
導航地圖數(shù)據(jù)中,道路拓撲網(wǎng)絡是核心數(shù)據(jù),為導航的若干主 體功能,比如路線規(guī)劃和實時導航提供數(shù)據(jù)基礎。隨著公路里程數(shù) 的增加,道路網(wǎng)絡的日益復雜,在大面積地理范圍內(nèi)所覆蓋的道路 拓撲的數(shù)據(jù)量相當巨大,相對于導航嵌入式設備的處理能力局限性, 需要一種能夠處理大面積,長距離的道路分析計算的數(shù)據(jù)模型和計算方法;從而在合理的時間和成本內(nèi)達到合理的分析計算結(jié)果。 發(fā)明內(nèi)容為了克服上述不足之處,本發(fā)明的主要目的旨在提供一種道路 數(shù)據(jù)建模系統(tǒng),既能適應大容量的道路數(shù)據(jù),長距離的路線計算, 和道路數(shù)據(jù)的增量更新,又能確保整體道路網(wǎng)絡的連通性的一種導 航用道路拓撲數(shù)據(jù)模型和計算方法。本發(fā)明要解決的技術(shù)問題是主要解決如何通過多層多塊道路 網(wǎng)絡數(shù)據(jù)的分割存儲和局部引用,做到路線計算過程中的有限資源
消耗,和道路網(wǎng)絡數(shù)據(jù)的增量更新問題;如何通過多層多塊的立體 道路數(shù)據(jù)的靜態(tài)預統(tǒng)計,保留路線計算的啟發(fā)性數(shù)據(jù),提高路線計 算的效率問題;如何通過多層多塊的立體道路數(shù)據(jù)的選擇性聯(lián)接, 實現(xiàn)合理的長距離大范圍的路線計算等有關(guān)技術(shù)問題。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是該方法通過路線規(guī) 劃和實時導航提供數(shù)據(jù)基礎,完成導航地圖數(shù)據(jù)中道路拓撲網(wǎng)絡的核 心數(shù)據(jù),該方法利用道路網(wǎng)絡的各種屬性數(shù)據(jù),包括等級,平均車 速,行政區(qū)劃從屬,交通功能,道路鏈路之間的聯(lián)接節(jié)點,將數(shù)據(jù)容 量的平面道路網(wǎng)絡轉(zhuǎn)換成多層多塊的立體道路網(wǎng)絡,并標記出各層各 塊道路鏈路之間的聯(lián)接節(jié)點,實現(xiàn)整體道路網(wǎng)絡的連通性;通過多層 多塊道路網(wǎng)絡數(shù)據(jù)的分割存儲和局部引用,實現(xiàn)路線計算過程中的有 限資源消耗,和道路網(wǎng)絡數(shù)據(jù)的增量更新;通過多層多塊的立體道路 數(shù)據(jù)的靜態(tài)預統(tǒng)計,保留路線計算的啟發(fā)性數(shù)據(jù);通過多層多塊的立 體道路數(shù)據(jù)的選擇性聯(lián)接,實現(xiàn)合理的長距離大范圍的路線計算;該 數(shù)據(jù)模型和計算方法至少包括分層抽取算法、道路聯(lián)通性計算函數(shù)、 層次相鄰節(jié)點轉(zhuǎn)換表、道路網(wǎng)絡的行政區(qū)劃提取算法和路網(wǎng)出入間的 最小代價算法;其中所述分層抽取算法是用每個層次的道路網(wǎng)絡的自身連通性,不 同層次間的道路網(wǎng)絡為切換,切換的地點是不同鏈路的聯(lián)接節(jié)點; 該開發(fā)對應的分層抽取算法的具體工作步驟是-步驟1.初始化步驟2.設計聯(lián)通性函數(shù) 執(zhí)行完初始化模塊后,則進入設計聯(lián)通性函數(shù)模塊,設計出 聯(lián)通性函數(shù);步驟3.設定分層集合S 執(zhí)行完設計聯(lián)通性函數(shù)模塊后,則進入設定分層集合S模塊, 并且初始化為空集合;
步驟4.尋找符合當前分層要求的鏈路L 執(zhí)行完設定分層集合S模塊后,則進入尋找符合當前分層要 求的鏈路L模塊,在原始道路網(wǎng)絡中尋找到一條符合當前分層要求 的鏈路L,將L加到集合S; 步驟5.判斷集合S為空 執(zhí)行完尋找符合當前分層要求的鏈路L模塊后,則進入判斷 集合S為空模塊?如果集合S為非空,則進入S為非空,將相同層 次的鏈路集合加到S模塊,假如S非空,取出一條鏈路Li,以Li 為起點,根據(jù)聯(lián)通性函數(shù),將可達到的所有相同層次的鏈路 Lj, Lk, Lm,….集合加到S,并將Li設定成已訪問;如果集合S為空, 則進入S為空,結(jié)束計算模塊; 步驟6.循環(huán)執(zhí)行 執(zhí)行完S為非空,將相同層次的鏈路集合加到S模塊后,則 反饋進入尋找符合當前分層要求的鏈路L模塊的輸入端,重復步驟 4,直到S為空結(jié)束計算;步驟7. S為空,結(jié)束計算;所述道路聯(lián)通性計算函數(shù)用綜合考慮節(jié)點聯(lián)通性,交通功能和 交通規(guī)則的限制,判斷出從該條鏈路是否經(jīng)過若干條中間鏈路到達 目標鏈路, 一條鏈路必定有兩個節(jié)點,而節(jié)點可以聯(lián)接若干條鏈路, 鏈路到鏈路的訪問是鏈路到節(jié)點到鏈路的數(shù)據(jù)鏈條;該設計道路聯(lián) 通性計算函數(shù)的具體工作步驟是-步驟l.初始化步驟2.取兩端的節(jié)點Nil, Ni2執(zhí)行完初始化模塊后,則進入取兩端的節(jié)點Nil, Ni2,以該 條鏈路Li為起點,得到其兩端的節(jié)點Nil, Ni2; 步驟3.節(jié)點擴展 執(zhí)行完取兩端的節(jié)點Nil, Ni2模塊后,則進入節(jié)點擴展模塊, 參考Li的交通功能和規(guī)則限制,假如Li是專用道,那么根據(jù)數(shù)個節(jié)點都擴展;步驟4.找聯(lián)接的所有鏈路 執(zhí)行完節(jié)點擴展模塊后,則進入找聯(lián)接的所有鏈路模塊,從 MX擴展,找到與NiX聯(lián)接的所有鏈路,根據(jù)節(jié)點的轉(zhuǎn)向限制,確 定從Li切換到Lj所有行駛的鏈路,這個Lj集合就是Li通過Ni 可聯(lián)通的鏈路集合;所述層次相鄰節(jié)點轉(zhuǎn)換表是用不同層次中相鄰的可聯(lián)通的鏈路 之間的節(jié)點叫做層次相鄰節(jié)點,在路線計算過程中可利用這些節(jié)點 切換不同層次的道路網(wǎng)絡;設計該層次相鄰節(jié)點轉(zhuǎn)換表,將每個層 次的道路網(wǎng)絡中的節(jié)點分層4個類型,包括層次內(nèi)部節(jié)點;層 次相鄰出入節(jié)點;層次相鄰出節(jié)點;和層次相鄰入節(jié)點;所述道路網(wǎng)絡的行政區(qū)劃提取算法的具體工作步驟是步驟1.初始化步驟2.設定行政區(qū)劃層次執(zhí)行完初始化模塊后,則進入設定行政區(qū)劃層次模塊,設定該 個行政區(qū)劃層次省、市、區(qū)縣,在道路網(wǎng)絡內(nèi)找到該條屬于該區(qū)劃的鏈路,加入空集合S;步驟3.判斷集合S為空執(zhí)行完設定行政區(qū)劃層次模塊后,則進入判斷集合s為空模塊?如果集合S為非空,則進入S為非空,取一條鏈路Li模塊,如 果集合S非空,從中獲取一條鏈路Li,并把Li從S減除,標記為 已訪問;并以Li為起點,根據(jù)當前設定的行政區(qū)劃代碼,通過廣度 優(yōu)先搜索,和聯(lián)通性計算得到相關(guān)的鏈路集合Lj, Lk, Lm, Ln, , 加入集合S;如果集合S為空,則進入S為空,結(jié)束計算模塊; 步驟4.循環(huán)執(zhí)行 執(zhí)行完S為非空,取一條鏈路Li模塊后,則反饋進入判斷 集合S為空模塊的輸入端,重復步驟3,直到集合S為空,結(jié)束計 算; 步驟5. S為空,結(jié)束計算;所述路網(wǎng)出入間的最小代價算法通過路網(wǎng)內(nèi)部鏈路計算的路 線代價來實現(xiàn),該路網(wǎng)出入間的最小代價算法的具體工作步驟是 步驟1.初始化步驟2.收集路網(wǎng)C所有非內(nèi)部節(jié)點執(zhí)行完初始化模塊后,則進入收集路網(wǎng)c所有非內(nèi)部節(jié)點模 塊;收集路網(wǎng)C的所有非內(nèi)部節(jié)點,按照入和出的功能分為兩個 集合,入口節(jié)點Sn,出口節(jié)點En; 步驟3.取兩者不相同的節(jié)點執(zhí)行完收集路網(wǎng)C所有非內(nèi)部節(jié)點模塊后,則進入取兩者不 相同的節(jié)點模塊,從入口節(jié)點集合中任取節(jié)點Sni,從出口節(jié)點 集合中任取節(jié)點Eni,并且兩者不相同; 步驟4.尋找最小代價的鏈路執(zhí)行完取兩者不相同的節(jié)點模塊后,則進入尋找最小代價的 鏈路模塊,將Sni當作起點,Eni當作終點,通過路線計算方法, 在本網(wǎng)絡內(nèi)尋找最小代價的鏈路,使得Sni到Eni聯(lián)通; 步驟5.建立最小代價的參考條目執(zhí)行完尋找最小代價的鏈路模塊后,則進入建立最小代價的 參考條目模塊,建立以入口節(jié)點集合中任取節(jié)點Sni-〉出口節(jié)點 集合中任取節(jié)點Eni二最小代價的參考條目; 步驟6.判斷是否組合計算過執(zhí)行完建立最小代價的參考條目模塊后,則進入判斷是否組 合計算過模塊? 步驟7.循環(huán)執(zhí)行如果非兩個集合的節(jié)點都組合計算過,則反饋進入取兩者不 相同的節(jié)點模塊,重復步驟3直到兩個集合的節(jié)點都組合計算過; 如果是兩個集合的節(jié)點都組合計算過,則進入形成最小代價參考 表模塊;
步驟8.形成最小代價參考表最后形成入口節(jié)點集合中任取節(jié)點Sni到出口節(jié)點集合中任 取節(jié)點Eni的最小代價參考表。所述的一種導航用道路拓撲數(shù)據(jù)模型和計算方法的道路聯(lián)通 性計算函數(shù)中的專用道或為單向道路或為單向禁止行駛;所述的 道路聯(lián)通性計算函數(shù)中的數(shù)據(jù)從Nil擴展或為從Ni2擴展,否則 兩個節(jié)點都擴展。本發(fā)明的有益效果是該方法利用了道路網(wǎng)絡的各種屬性數(shù) 據(jù),比如等級,平均車速,行政區(qū)劃從屬,交通功能,道路鏈路 之間的聯(lián)接節(jié)點等,將任意數(shù)據(jù)容量的平面道路網(wǎng)絡轉(zhuǎn)換成多層 多塊的立體道路網(wǎng)絡,并標記出各層各塊道路鏈路之間的聯(lián)接節(jié) 點,確保整體道路網(wǎng)絡的連通性;通過多層多塊道路網(wǎng)絡數(shù) 據(jù)的分割存儲和局部引用,做到路線計算過程中的有限資源消耗, 和道路網(wǎng)絡數(shù)據(jù)的增量更新;通過多層多塊的立體道路數(shù)據(jù)的靜 態(tài)預統(tǒng)計,保留了路線計算的啟發(fā)性數(shù)據(jù),提高了路線計算的效 率;通過多層多塊的立體道路數(shù)據(jù)的選擇性聯(lián)接,實現(xiàn)了合理的 長距離大范圍的路線計算,具有在合理的時間和成本內(nèi)達到合理 的分析計算結(jié)果等優(yōu)點。


下面結(jié)合附圖和實施例對本發(fā)明進一步說明。附圖1為本發(fā)明整體結(jié)構(gòu)方框示意圖;附圖2為本發(fā)明分層抽取算法流程結(jié)構(gòu)方框示意圖;附圖3為本發(fā)明道路聯(lián)通性計算函數(shù)結(jié)構(gòu)方框示意圖;附圖4為本發(fā)明層次相鄰節(jié)點轉(zhuǎn)換表結(jié)構(gòu)方框示意圖;附圖5為本發(fā)明道路網(wǎng)絡的行政區(qū)劃提取算法流程結(jié)構(gòu)方框示意附圖6為本發(fā)明路網(wǎng)出入間的最小代價算法流程結(jié)構(gòu)方框示意圖;附圖中標號說明l一數(shù)據(jù)模型和計算方法; IO—分層抽取算法;101— 初始化;102— 設計聯(lián)通性函數(shù);103— 設定分層集合S;104— 尋找符合當前分層要求的鏈路L;105— 集合S為空;106— S為非空,將相同層次的鏈路集合加到S;107— S為空,結(jié)束計算; 20—道路聯(lián)通性計算函數(shù);201— 初始化;202— 取兩端的節(jié)點Nil, Ni2;203— 節(jié)點擴展;204— 找聯(lián)接的所有鏈路30—層次相鄰節(jié)點轉(zhuǎn)換表;301— 層次內(nèi)部節(jié)點;302— 層次相鄰出入節(jié)點;303— 層次相鄰出節(jié)點;304— 層次相鄰入節(jié)點;4—道路網(wǎng)絡的行政區(qū)劃提取算法;401— 初始化;402— 設定行政區(qū)劃層次;403— 集合S為空;
404— S為非空,取一條鏈路Li;405— S為空,結(jié)束計算;5—路網(wǎng)出入間的最小代價算法;501— 初始化;502— 收集路網(wǎng)C所有非內(nèi)部節(jié)點;503— 取兩者不相同的節(jié)點;504— 尋找最小代價的鏈路;505— 建立最小代價的參考條目;506— 組合計算過;507— 形成最小代價參考表;具體實施方式
請參閱附圖l、 2、 3、 4、 5、 6所示,本發(fā)明的方法利用了道路網(wǎng)絡的各種屬性數(shù)據(jù),比如等級,平均車速,行政區(qū)劃從屬,交通功能, 道路鏈路之間的聯(lián)接節(jié)點等,將任意數(shù)據(jù)容量的平面道路網(wǎng)絡轉(zhuǎn)換成 多層多塊的立體道路網(wǎng)絡,并標記出各層各塊道路鏈路之間的聯(lián)接節(jié) 點,確保整體道路網(wǎng)絡的連通性。 ' 通過多層多塊道路網(wǎng)絡數(shù)據(jù)的分割存儲和局部引用,做到路線計算 過程中的有限資源消耗,和道路網(wǎng)絡數(shù)據(jù)的增量更新。通過多層多塊的立體道路數(shù)據(jù)的靜態(tài)預統(tǒng)計,保留了路線計算的 啟發(fā)性數(shù)據(jù),提高了路線計算的效率。通過多層多塊的立體道路數(shù)據(jù)的選擇性聯(lián)接,實現(xiàn)了合理的長距 離大范圍的路線計算。本發(fā)明的已有技術(shù)為通過路線規(guī)劃和實時導航提供數(shù)據(jù)基礎,完成導航地圖數(shù)據(jù)中道路拓撲網(wǎng)絡的核心數(shù)據(jù),現(xiàn)該方法利用道路網(wǎng)絡的各種屬性數(shù)據(jù),包括等級,平均車速,行政區(qū)劃從屬,交通功能,道路鏈路之間的聯(lián)接節(jié)點,將數(shù)據(jù)容量的平面道路網(wǎng)絡轉(zhuǎn) 換成多層多塊的立體道路網(wǎng)絡,并標記出各層各塊道路鏈路之間的聯(lián)接節(jié)點,實現(xiàn)整體道路網(wǎng)絡的連通性;通過多層多塊道路網(wǎng)絡數(shù) 據(jù)的分割存儲和局部引用,實現(xiàn)路線計算過程中的有限資源消耗, 和道路網(wǎng)絡數(shù)據(jù)的增量更新;通過多層多塊的立體道路數(shù)據(jù)的靜態(tài) 預統(tǒng)計,保留路線計算的啟發(fā)性數(shù)據(jù);通過多層多塊的立體道路數(shù) 據(jù)的選擇性聯(lián)接,實現(xiàn)合理的長距離大范圍的路線計算;該數(shù)據(jù)模 型和計算方法l至少包括分層抽取算法IO、道路聯(lián)通性計算函數(shù) 20、層次相鄰節(jié)點轉(zhuǎn)換表30、道路網(wǎng)絡的行政區(qū)劃提取算法40和 路網(wǎng)出入間的最小代價算法50;其中所述分層抽取算法10是用每個層次的道路網(wǎng)絡的自身連通性, 不同層次間的道路網(wǎng)絡為切換,切換的地點是不同鏈路的聯(lián)接節(jié)點; 該開發(fā)對應的分層抽取算法10的具體工作步驟是 步驟1.初始化101 步驟2.設計聯(lián)通性函數(shù)102 執(zhí)行完初始化101模塊后,則進入設計聯(lián)通性函數(shù)102模 塊,設計出聯(lián)通性函數(shù);步驟3.設定分層集合S103 執(zhí)行完設計聯(lián)通性函數(shù)102模塊后,則進入設定分層集合 S103模塊,并且初始化為空集合;步驟4.尋找符合當前分層要求的鏈路L104 執(zhí)行完設定分層集合S103模塊后,則進入尋找符合當前分 層要求的鏈路L104模塊,在原始道路網(wǎng)絡中尋找到一條符合當 前分層要求的鏈路L,將L加到集合S; 步驟5.判斷集合S為空105 執(zhí)行完尋找符合當前分層要求的鏈路L104模塊后,則進入 判斷集合S為空105模塊?如果集合S為非空,則進入S為非空, 將相同層次的鏈路集合加到S106模塊,假如S非空,取出一條 鏈路Li,以Li為起點,根據(jù)聯(lián)通性函數(shù),將可達到的所有
相同層次的鏈路Lj, Lk, Lm,….集合加到S,并將Li設定成已訪 問;如果集合S為空,則進入S為空,結(jié)束計算107模塊; 步驟6.循環(huán)執(zhí)行執(zhí)行完S為非空,將相同層次的鏈路集合加到S106模塊后, 則反饋進入尋找符合當前分層要求的鏈路L104模塊的輸入端,重 復步驟4,直到S為空結(jié)束計算; 步驟7. S為空,結(jié)束計算107;所述道路聯(lián)通性計算函數(shù)20用綜合考慮節(jié)點聯(lián)通性,交通功 能和交通規(guī)則的限制,判斷出從該條鏈路是否經(jīng)過若干條中間鏈 路到達目標鏈路, 一條鏈路必定有兩個節(jié)點,而節(jié)點可以聯(lián)接若 干條鏈路,鏈路到鏈路的訪問是鏈路到節(jié)點到鏈路的數(shù)據(jù)鏈條; 該設計道路聯(lián)通性計算函數(shù)20的具體工作步驟是 步驟1.初始化201 步驟2.取兩端的節(jié)點Nil, Ni2202執(zhí)行完初始化201模塊后,則進入取兩端的節(jié)點Nil, Ni2 202,以該條鏈路Li為起點,得到其兩端的節(jié)點Nil, Ni2; 步驟3.節(jié)點擴展203執(zhí)行完取兩端的節(jié)點Nil, Ni2 202模塊后,則進入節(jié)點擴展 203模塊,參考Li的交通功能和規(guī)則限制,假如Li是專用道, 那么根據(jù)數(shù)據(jù)從Nil擴展,否則兩個節(jié)點都擴展; 步驟4.找聯(lián)接的所有鏈路204執(zhí)行完節(jié)點擴展203模塊后,則進入找聯(lián)接的所有鏈路204 模塊,從NiX擴展,找到與NiX聯(lián)接的所有鏈路,根據(jù)節(jié)點的轉(zhuǎn) 向限制,確定從Li切換到Lj所有行駛的鏈路,這個Lj集合就是 Li通過Ni可聯(lián)通的鏈路集合;所述層次相鄰節(jié)點轉(zhuǎn)換表30是用不同層次中相鄰的可聯(lián)通 的鏈路之間的節(jié)點叫做層次相鄰節(jié)點,在路線計算過程中可利用這些節(jié)點切換不同層次的道路網(wǎng)絡;設計該層次相鄰節(jié)點轉(zhuǎn)換表 30,將每個層次的道路網(wǎng)絡中的節(jié)點分層4個類型,包括層 次內(nèi)部節(jié)點301; 層次相鄰出入節(jié)點302; 層次相鄰出節(jié)點 303;和層次相鄰入節(jié)點304;所述道路網(wǎng)絡的行政區(qū)劃提取算法40的具體工作步驟是步驟1.初始化401步驟2.設定行政區(qū)劃層次402執(zhí)行完初始化401模塊后,則進入設定行政區(qū)劃層次402模 塊,設定該個行政區(qū)劃層次省、市、區(qū)縣,在道路網(wǎng)絡內(nèi)找到該 條屬于該區(qū)劃的鏈路,加入空集合S; 步驟3.判斷集合S為空403執(zhí)行完設定行政區(qū)劃層次402模塊后,則進入判斷集合S為 空403模塊?如果集合S為非空,則進入S為非空,取一條鏈路 Li 404模塊,如果集合S非空,從中獲取一條鏈路Li,并把Li 從S減除,標記為已訪問;并以Li為起點,根據(jù)當前設定的行政 區(qū)劃代碼,通過廣度優(yōu)先搜索,和聯(lián)通性計算得到相關(guān)的鏈路集 合Lj, Lk, Lm, Ln, ,加入集合S;如果集合S為空,則進入S為空,結(jié)束計算405模塊; 步驟4.循環(huán)執(zhí)行執(zhí)行完S為非空,取一條鏈路Li 404模塊后,則反饋進入 判斷集合S為空403模塊的輸入端,重復步驟3,直到集合S為 空,結(jié)束計算405;步驟5. S為空,結(jié)束計算405; 所述路網(wǎng)出入間的最小代價算法50通過路網(wǎng)內(nèi)部鏈路計算 的路線代價來實現(xiàn),該路網(wǎng)出入間的最小代價算法的具體工作步步驟1.初始化501 步驟2.收集路網(wǎng)C所有非內(nèi)部節(jié)點502執(zhí)行完初始化501模塊后,則進入收集路網(wǎng)C所有非內(nèi)部節(jié) 點502模塊;收集路網(wǎng)C的所有非內(nèi)部節(jié)點,按照入和出的功能 分為兩個集合,入口節(jié)點Sn,出口節(jié)點En; 步驟3.取兩者不相同的節(jié)點503執(zhí)行完收集路網(wǎng)C所有非內(nèi)部節(jié)點502模塊后,則進入取兩 者不相同的節(jié)點503模塊,從入口節(jié)點集合中任取節(jié)點Sni,從 出口節(jié)點集合中任取節(jié)點Eni,并且兩者不相同; 步驟4.尋找最小代價的鏈路504執(zhí)行完取兩者不相同的節(jié)點503模塊后,則進入尋找最小代 價的鏈路504模塊,將Sni當作起點,Eni當作終點,通過路線 計算方法,在本網(wǎng)絡內(nèi)尋找最小代價的鏈路504,使得Sni到Eni 聯(lián)通;步驟5.建立最小代價的參考條目505執(zhí)行完尋找最小代價的鏈路504模塊后,則進入建立最小代 價的參考條目505模塊,建立以入口節(jié)點集合中任取節(jié)點Sni-〉 出口節(jié)點集合中任取節(jié)點Eni二最小代價的參考條目; 步驟6.判斷是否組合計算過506執(zhí)行完建立最小代價的參考條目505模塊后,則進入判斷是 否組合計算過506模塊? 步驟7.循環(huán)執(zhí)行如果非兩個集合的節(jié)點都組合計算過,則反饋進入取兩者不 相同的節(jié)點503模塊,重復步驟3直到兩個集合的節(jié)點都組合計 算過;如果是兩個集合的節(jié)點都組合計算過,則進入形成最小代 價參考表507模塊;步驟8.形成最小代價參考表507最后形成入口節(jié)點集合中任取節(jié)點Sni到出口節(jié)點集合中任 取節(jié)點Eni的最小代價參考表。
所述的一種導航用道路拓撲數(shù)據(jù)模型和計算方法的道路聯(lián)通性計算函數(shù)20中的專用道或為單向道路或為單向禁止行駛;所述的道 路聯(lián)通性計算函數(shù)20中的數(shù)據(jù)從Nil擴展或為從Ni2擴展,否則兩個節(jié)點都擴展。 本發(fā)明總體技術(shù)方案為-道路網(wǎng)絡的屬性數(shù)據(jù),道路網(wǎng)絡又可以分成鏈路和節(jié)點的集合, 綜合利用道路網(wǎng)絡中的鏈路和節(jié)點的各種屬性,包括 建設等級和設計車速相關(guān)國道,城市間的快速專用道, 省道和縣道, 城市內(nèi)部快速專用道, 主干道, 一般道路, 非機動車道路。 交通功能相關(guān)專用封閉道路, 開放式道路, 上匝道,下匝道, 城市高架, 立交道路,專用道路入口,專用道路出口,相同等級道路的互通,不同等級道路的互通,立交互通,轉(zhuǎn)彎專用道,高速服務區(qū),隧道,
橋梁,輪渡線路。 交通規(guī)則相關(guān)通行方向禁止,通行時間禁止,車型禁止,車輛載重禁止,轉(zhuǎn)彎限制,機動車專用,非機動車專用。 行政區(qū)劃相關(guān)只有鏈路具備唯一的行政區(qū)劃屬性,而節(jié)點具備多重的行政區(qū)劃 屬性,往往聯(lián)通了不同行政區(qū)劃的鏈路。國家范圍的鏈路,中國國 家路網(wǎng)中的所有道路數(shù)據(jù)都具備這個特性。省或者直轄市鏈路,地 級城市鏈路,區(qū)縣級城市鏈路。更高級別的鏈路涵蓋了更低級別的 鏈路數(shù)據(jù)。從行政區(qū)劃角度可以將數(shù)據(jù)劃分成不同的子集合,最小 的單位是區(qū)縣級別。 平面道路網(wǎng)絡立體化以道路等級為新增數(shù)據(jù)軸。將道路網(wǎng)絡劃分成3層,城市間,區(qū)縣間,區(qū)縣內(nèi)。對應的鏈路級別為 城市間國道,高速道路,專用道。 區(qū)縣間城市內(nèi)快速道路,省道縣道,城市主干道。 區(qū)縣內(nèi) 一般性道路,地方區(qū)域性道路, 一些非導航路線。 設計開發(fā)對應的分層抽取算法,目標是保證每個層次的道路網(wǎng)絡的自身連通性,不同層次間的道路網(wǎng)絡可以切換,切換的地點是不同鏈路的聯(lián)接節(jié)點。設計道路聯(lián)通性計算函數(shù),綜合考慮節(jié)點聯(lián)通性,交通功能和交通規(guī)則的限制,判斷出從某條鏈路是否可以經(jīng)過若干條中間鏈路到 達目標鏈路。根據(jù)地圖數(shù)據(jù)的技術(shù)規(guī)格, 一條鏈路必定有兩個節(jié)點, 而節(jié)點可以聯(lián)接若干條鏈路,鏈路到鏈路的訪問可以是鏈路到節(jié)點 到鏈路的數(shù)據(jù)鏈條。設計層次相鄰節(jié)點轉(zhuǎn)換表。不同層次中相鄰的可聯(lián)通的鏈路之間 的節(jié)點叫做層次相鄰節(jié)點。在路線計算過程中可利用這些節(jié)點切換 不同層次的道路網(wǎng)絡。 道路網(wǎng)絡聯(lián)通性函數(shù)1. 以某條鏈路Li為起點,得到其兩端的節(jié)點Nil, Ni2;2. 參考Li的交通功能和規(guī)則限制,假如Li是專用道,或者單向道 路,或者單向禁止行駛等,那么根據(jù)數(shù)據(jù)可從Nil或者Ni2擴展, 否則兩個節(jié)點都可以擴展;3. 從NiX擴展,找到與NiX聯(lián)接的所有鏈路,根據(jù)節(jié)點的轉(zhuǎn)向限制, 確定從Li切換到Lj所有可行的鏈路,這個Lj集合就是Li通過 Ni可聯(lián)通的鏈路集合;分層抽取算法描述1. 設計出聯(lián)通性函數(shù);2. 設定分層集合S,并且初始化為空集合;3. 在原始道路網(wǎng)絡中尋找到一條符合當前分層要求的鏈路L,將 L加到集合S;4. 假如S非空,取出一條鏈路Li,以Li為起點,根據(jù)聯(lián)通性函 數(shù),將可達到的所有相同層次的鏈路Lj,Lk,Lm,….集合加到 S,并將Li設定成已訪問;5. 重復步驟4,直到S為空結(jié)束計算; 層次相鄰節(jié)點轉(zhuǎn)換表將每個層次的道路網(wǎng)絡中的節(jié)點分層4個類型層次內(nèi)部節(jié)點;層次相鄰出入節(jié)點;層次相鄰出節(jié)點;
層次相鄰入節(jié)點;層次內(nèi)部節(jié)點定義為此節(jié)點聯(lián)接的所有鏈路都是本層次內(nèi)的鏈路。層次相鄰出入節(jié)點的定義為該節(jié)點聯(lián)接的所有鏈路內(nèi)有不同層 次的道路鏈路,可以有若干數(shù)量的層次。同時這些層次的聯(lián)通性都 是雙向的。層次相鄰出或者入節(jié)點定義為與出入節(jié)點不同的是存在某些層 次的道路網(wǎng)絡的通行是單向的,只能出就是出節(jié)點,只能入的就是 入節(jié)點。相鄰節(jié)點表的快速引用在一個道路網(wǎng)絡內(nèi)節(jié)點的編號是遞增的自然數(shù),便于利用數(shù)據(jù)偏 移快速查找定位。相鄰節(jié)點的多義性導致該點在不同的道路網(wǎng)絡中 都會出現(xiàn),并且很可能在不同的網(wǎng)絡中出現(xiàn)的編號數(shù)字不同。為了實現(xiàn)跨網(wǎng)絡的節(jié)點訪問,建立相鄰節(jié)點的編號映射表,從當 前網(wǎng)絡的編號映射到不同的相關(guān)網(wǎng)絡編號。實現(xiàn)快速直接的跨網(wǎng)絡 映射。平面道路網(wǎng)絡的區(qū)域分割任意層次的道路網(wǎng)絡都涵蓋一定的地理范圍,按照中國國家的行 政區(qū)劃劃分標準,從省到地級到區(qū)縣級共分三大層。地圖原始數(shù)據(jù) 中的任意鏈路都有行政區(qū)劃屬性,標識出其行政區(qū)劃層次樹。根據(jù)不同級別的行政區(qū)劃屬性數(shù)據(jù),可以將任意道路網(wǎng)絡在平面 上劃分出不同的區(qū)域集合。 道路網(wǎng)絡的行政區(qū)劃提取算法1. 設定某個行政區(qū)劃層次(省、市、區(qū)縣),在道路網(wǎng)絡內(nèi)找到某 條屬于該區(qū)劃的鏈路,加入空集合S;2. 如果集合S非空,從中獲取一條鏈路Li,并把Li從S減除,標 記為已訪問;3. 以Li為起點,根據(jù)當前設定的行政區(qū)劃代碼,通過廣度優(yōu)先搜 索,和聯(lián)通性計算得到相關(guān)的鏈路集合Lj, Lk, Lm, Ln, "., 加入集合S;4. 重復步驟3,直到集合S為空; 區(qū)劃相鄰節(jié)點轉(zhuǎn)換表與層次相鄰節(jié)點類似,區(qū)劃相鄰節(jié)點也有相同的四種類型。也會 存在某節(jié)點在不同的網(wǎng)絡中重復出現(xiàn),編號不統(tǒng)一的現(xiàn)象。參照層次相鄰節(jié)點轉(zhuǎn)換表的形式,建立區(qū)劃相鄰轉(zhuǎn)換表。 基于多層多塊的立體路網(wǎng)模型的路線計算啟發(fā)模型 路線代價的計算關(guān)于路線代價的定義很多,根據(jù)國內(nèi)目前的智能交通建設水平, 實現(xiàn)全國范圍的實時交通信息播報和數(shù)據(jù)傳輸還不可能。因此現(xiàn)階 段的路線代價更多地考慮靜態(tài)情況下的行駛代價,包括物理距離, 平均車速等。根據(jù)經(jīng)驗數(shù)據(jù),對組成路線的各鏈路的物理距離,平均車速,鏈 路切換(路口)的數(shù)量,路口交通信號燈的等待時間等進行加權(quán)線 性運算得到路線的總體代價。 路網(wǎng)出入間的最小代價算法設計僅通過路網(wǎng)內(nèi)部鏈路計算的路線代價。算法思路如下1. 收集路網(wǎng)c的所有非內(nèi)部節(jié)點,按照入和出的功能分為兩個集合,入口節(jié)點Sn,出口節(jié)點En。2. 從入口節(jié)點集合中任取節(jié)點Sni,從出口節(jié)點集合中任取節(jié)點 Eni,并且兩者不相同;3. 將Sni當作起點,Eni當作終點,通過路線計算方法,在本網(wǎng)絡 內(nèi)尋找最小代價Costmin的鏈路,使得Sni到Eni聯(lián)通。4. 建立以Sni-〉Eni=Costmin的參考條目;5. 重復步驟3直到兩個集合的節(jié)點都組合計算過;6. 最后形成Sni到Eni的最小代價參考表;水平方向路網(wǎng)的多塊化劃分計算路網(wǎng)出入的最小代價表后,可以將每個路網(wǎng)抽象成一條邏輯 上的鏈路,路網(wǎng)的數(shù)據(jù)規(guī)模可以通過劃分子網(wǎng)絡以后降低數(shù)據(jù)規(guī)模。 利用劃分多塊階段計算的出入最小代價作為水平方向路線計算的啟 發(fā)性信息。
權(quán)利要求
1、一種導航用道路拓撲數(shù)據(jù)模型和計算方法,該方法通過路線規(guī)劃和實時導航提供數(shù)據(jù)基礎,完成導航地圖數(shù)據(jù)中道路拓撲網(wǎng)絡的核心數(shù)據(jù),其特征在于該方法利用道路網(wǎng)絡的各種屬性數(shù)據(jù),包括等級,平均車速,行政區(qū)劃從屬,交通功能,道路鏈路之間的聯(lián)接節(jié)點,將數(shù)據(jù)容量的平面道路網(wǎng)絡轉(zhuǎn)換成多層多塊的立體道路網(wǎng)絡,并標記出各層各塊道路鏈路之間的聯(lián)接節(jié)點,實現(xiàn)整體道路網(wǎng)絡的連通性;通過多層多塊道路網(wǎng)絡數(shù)據(jù)的分割存儲和局部引用,實現(xiàn)路線計算過程中的有限資源消耗,和道路網(wǎng)絡數(shù)據(jù)的增量更新;通過多層多塊的立體道路數(shù)據(jù)的靜態(tài)預統(tǒng)計,保留路線計算的啟發(fā)性數(shù)據(jù);通過多層多塊的立體道路數(shù)據(jù)的選擇性聯(lián)接,實現(xiàn)合理的長距離大范圍的路線計算;該數(shù)據(jù)模型和計算方法(1)至少包括分層抽取算法(10)、道路聯(lián)通性計算函數(shù)(20)、層次相鄰節(jié)點轉(zhuǎn)換表(30)、道路網(wǎng)絡的行政區(qū)劃提取算法(40)和路網(wǎng)出入間的最小代價算法(50);其中所述分層抽取算法(10)是用每個層次的道路網(wǎng)絡的自身連通性,不同層次間的道路網(wǎng)絡為切換,切換的地點是不同鏈路的聯(lián)接節(jié)點;該開發(fā)對應的分層抽取算法(10)的具體工作步驟是步驟1.初始化(101)步驟2.設計聯(lián)通性函數(shù)(102)執(zhí)行完初始化(101)模塊后,則進入設計聯(lián)通性函數(shù)(102)模塊,設計出聯(lián)通性函數(shù);步驟3.設定分層集合S(103)執(zhí)行完設計聯(lián)通性函數(shù)(102)模塊后,則進入設定分層集合S(103)模塊,并且初始化為空集合;步驟4.尋找符合當前分層要求的鏈路L(104)執(zhí)行完設定分層集合S(103)模塊后,則進入尋找符合當前分層要求的鏈路L(104)模塊,在原始道路網(wǎng)絡中尋找到一條符合當前分層要求的鏈路L,將L加到集合S;步驟5.判斷集合S為空(105)執(zhí)行完尋找符合當前分層要求的鏈路L(104)模塊后,則進入判斷集合S為空(105)模塊?如果集合S為非空,則進入S為非空,將相同層次的鏈路集合加到S(106)模塊,假如S非空,取出一條鏈路Li,以Li為起點,根據(jù)聯(lián)通性函數(shù),將可達到的所有相同層次的鏈路Lj,Lk,Lm,….集合加到S,并將Li設定成已訪問;如果集合S為空,則進入S為空,結(jié)束計算(107)模塊;步驟6.循環(huán)執(zhí)行執(zhí)行完S為非空,將相同層次的鏈路集合加到S(106)模塊后,則反饋進入尋找符合當前分層要求的鏈路L(104)模塊的輸入端,重復步驟4,直到S為空結(jié)束計算;步驟7.S為空,結(jié)束計算(107);所述道路聯(lián)通性計算函數(shù)(20)用綜合考慮節(jié)點聯(lián)通性,交通功能和交通規(guī)則的限制,判斷出從該條鏈路是否經(jīng)過若干條中間鏈路到達目標鏈路,一條鏈路必定有兩個節(jié)點,而節(jié)點可以聯(lián)接若干條鏈路,鏈路到鏈路的訪問是鏈路到節(jié)點到鏈路的數(shù)據(jù)鏈條;該設計道路聯(lián)通性計算函數(shù)(20)的具體工作步驟是步驟1.初始化(201)步驟2.取兩端的節(jié)點Ni1,Ni2(202)執(zhí)行完初始化(201)模塊后,則進入取兩端的節(jié)點Ni1,Ni2(202),以該條鏈路Li為起點,得到其兩端的節(jié)點Ni1,Ni2;步驟3.節(jié)點擴展(203)執(zhí)行完取兩端的節(jié)點Ni1,Ni2(202)模塊后,則進入節(jié)點擴展(203)模塊,參考Li的交通功能和規(guī)則限制,假如Li是專用道,那么根據(jù)數(shù)據(jù)從Ni1擴展,否則兩個節(jié)點都擴展;步驟4.找聯(lián)接的所有鏈路(204)執(zhí)行完節(jié)點擴展(203)模塊后,則進入找聯(lián)接的所有鏈路(204)模塊,從NiX擴展,找到與NiX聯(lián)接的所有鏈路,根據(jù)節(jié)點的轉(zhuǎn)向限制,確定從Li切換到Lj所有行駛的鏈路,這個Lj集合就是Li通過Ni可聯(lián)通的鏈路集合;所述層次相鄰節(jié)點轉(zhuǎn)換表(30)是用不同層次中相鄰的可聯(lián)通的鏈路之間的節(jié)點叫做層次相鄰節(jié)點,在路線計算過程中可利用這些節(jié)點切換不同層次的道路網(wǎng)絡;設計該層次相鄰節(jié)點轉(zhuǎn)換表(30),將每個層次的道路網(wǎng)絡中的節(jié)點分層4個類型,包括層次內(nèi)部節(jié)點(301);層次相鄰出入節(jié)點(302);層次相鄰出節(jié)點(303);和 層次相鄰入節(jié)點(304);所述道路網(wǎng)絡的行政區(qū)劃提取算法(40)的具體工作步驟是步驟1.初始化(401)步驟2.設定行政區(qū)劃層次(402)執(zhí)行完初始化(401)模塊后,則進入設定行政區(qū)劃層次(402)模塊,設定該個行政區(qū)劃層次省、市、區(qū)縣,在道路網(wǎng)絡內(nèi)找到該條屬于該區(qū)劃的鏈路,加入空集合S;步驟3.判斷集合S為空(403)執(zhí)行完設定行政區(qū)劃層次(402)模塊后,則進入判斷集合S為空(403)模塊?如果集合S為非空,則進入S為非空,取一條鏈路Li(404)模塊,如果集合S非空,從中獲取一條鏈路Li,并把Li從S減除,標記為已訪問;并以Li為起點,根據(jù)當前設定的行政區(qū)劃代碼,通過廣度優(yōu)先搜索,和聯(lián)通性計算得到相關(guān)的鏈路集合Lj,Lk,Lm,Ln,….,加入集合S;如果集合S為空,則進入S為空,結(jié)束計算(405)模塊;步驟4.循環(huán)執(zhí)行執(zhí)行完S為非空,取一條鏈路Li(404)模塊后,則反饋進入判斷集合S為空(403)模塊的輸入端,重復步驟3,直到集合S為空,結(jié)束計算(405);步驟5.S為空,結(jié)束計算(405);所述路網(wǎng)出入間的最小代價算法(50)通過路網(wǎng)內(nèi)部鏈路計算的路線代價來實現(xiàn),該路網(wǎng)出入間的最小代價算法的具體工作步驟是步驟1.初始化(501)步驟2.收集路網(wǎng)C所有非內(nèi)部節(jié)點(502)執(zhí)行完初始化(501)模塊后,則進入收集路網(wǎng)C所有非內(nèi)部節(jié)點(502)模塊;收集路網(wǎng)C的所有非內(nèi)部節(jié)點,按照入和出的功能分為兩個集合,入口節(jié)點Sn,出口節(jié)點En; 步驟3.取兩者不相同的節(jié)點(503)執(zhí)行完收集路網(wǎng)C所有非內(nèi)部節(jié)點(502)模塊后,則進入取兩者不相同的節(jié)點(503)模塊,從入口節(jié)點集合中任取節(jié)點Sni,從出口節(jié)點集合中任取節(jié)點Eni,并且兩者不相同;步驟4.尋找最小代價的鏈路(504)執(zhí)行完取兩者不相同的節(jié)點(503)模塊后,則進入尋找最小代價的鏈路(504)模塊,將Sni當作起點,Eni當作終點,通過路線計算方法,在本網(wǎng)絡內(nèi)尋找最小代價的鏈路(504),使得Sni到Eni聯(lián)通;步驟5.建立最小代價的參考條目(505)執(zhí)行完尋找最小代價的鏈路(504)模塊后,則進入建立最小代價的參考條目(505)模塊,建立以入口節(jié)點集合中任取節(jié)點Sni->出口節(jié)點集合中任取節(jié)點Eni=最小代價的參考條目;步驟6.判斷是否組合計算過(506)執(zhí)行完建立最小代價的參考條目(505)模塊后,則進入判斷是否組合計算過(506)模塊?步驟7.循環(huán)執(zhí)行如果非兩個集合的節(jié)點都組合計算過,則反饋進入取兩者不相同的節(jié)點(503)模塊,重復步驟3直到兩個集合的節(jié)點都組合計算過;如果是兩個集合的節(jié)點都組合計算過,則進入形成最小代價參考表(507)模塊;步驟8.形成最小代價參考表(507)最后形成入口節(jié)點集合中任取節(jié)點Sni到出口節(jié)點集合中任取節(jié)點Eni的最小代價參考表。
2、根據(jù)權(quán)利要求1所述的一種導航用道路拓撲數(shù)據(jù)模型和計算 方法,其特征在于所述的道路聯(lián)通性計算函數(shù)(20)中的專用道 或為單向道路或為單向禁止行駛;所述的道路聯(lián)通性計算函數(shù)(20) 中的數(shù)據(jù)從Nil擴展或為從M2擴展,否則兩個節(jié)點都擴展。
全文摘要
一種涉及導航相關(guān)的應用技術(shù)領域,尤旨一種利用集中在導航專用的道路拓撲數(shù)據(jù)的分析和提取方法,并以此建立數(shù)據(jù)模型,用于導航地圖數(shù)據(jù)中能處理大面積,長距離的道路分析計算的一種導航用道路拓撲數(shù)據(jù)模型和計算方法。該方法包括分層抽取算法、道路聯(lián)通性計算函數(shù)、層次相鄰節(jié)點轉(zhuǎn)換表、道路網(wǎng)絡的行政區(qū)劃提取算法和路網(wǎng)出入間的最小代價算法等模塊;主要解決如何實現(xiàn)合理的長距離大范圍的路線計算等有關(guān)技術(shù)問題。本發(fā)明的積極效果是確保整體道路網(wǎng)絡的連通性;保留了路線計算的啟發(fā)性數(shù)據(jù),提高了路線計算的效率;實現(xiàn)了合理的長距離大范圍的路線計算,具有在合理的時間和成本內(nèi)達到合理的分析計算結(jié)果等優(yōu)點。
文檔編號G01C21/26GK101149268SQ20071004755
公開日2008年3月26日 申請日期2007年10月30日 優(yōu)先權(quán)日2007年10月30日
發(fā)明者柏挺峰 申請人:上海上大鼎正軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
克什克腾旗| 古蔺县| 汶上县| 巫山县| 廉江市| 岑溪市| 乃东县| 贞丰县| 广汉市| 阜阳市| 含山县| 高碑店市| 无为县| 商水县| 禄丰县| 正阳县| 石泉县| 莱芜市| 耿马| 修水县| 民县| 尖扎县| 德钦县| 靖宇县| 平邑县| 莱阳市| 陆川县| 石棉县| 府谷县| 阿克陶县| 土默特右旗| 璧山县| 寻乌县| 九龙城区| 明溪县| 隆子县| 达州市| 陇南市| 乌兰浩特市| 禄劝| 贡觉县|