本申請(qǐng)實(shí)施例涉及路徑規(guī)劃技術(shù)領(lǐng)域,具體涉及一種無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法及其裝置。
背景技術(shù):
路徑規(guī)劃是智能化導(dǎo)航控制的關(guān)鍵技術(shù),它能為行駛者提供最佳出行路線(xiàn),縮短行駛時(shí)間,提高安全駕駛率,規(guī)范駕駛,從而順利達(dá)到目的地。目前,各種導(dǎo)航應(yīng)用系統(tǒng)普遍以傳統(tǒng)的經(jīng)緯度為基礎(chǔ),通過(guò)在地理信息系統(tǒng)上疊加矢量道路網(wǎng)數(shù)據(jù),實(shí)現(xiàn)為用戶(hù)導(dǎo)航的服務(wù)。
百度地圖解決路徑規(guī)劃的方法為:獲取用戶(hù)提供的路線(xiàn)軌跡在終端屏幕坐標(biāo)系中對(duì)應(yīng)的像素坐標(biāo)集;根據(jù)所述像素坐標(biāo)集以及像素坐標(biāo)與經(jīng)緯度坐標(biāo)之間的映射關(guān)系,確定所述路線(xiàn)軌跡在地理坐標(biāo)系中對(duì)應(yīng)的經(jīng)緯度坐標(biāo)集;根據(jù)所述經(jīng)緯度坐標(biāo)集確定與所述路線(xiàn)軌跡對(duì)應(yīng)的目標(biāo)規(guī)劃路線(xiàn)。
高德地圖在解決車(chē)輛導(dǎo)航問(wèn)題時(shí),需要先獲取道路圖像,然后基于道路數(shù)據(jù),通過(guò)檢測(cè)道路上的車(chē)道線(xiàn),確定出行駛車(chē)輛所在道路的道路信息。
雖然以上基于經(jīng)緯度和道路網(wǎng)的路徑規(guī)劃方法已經(jīng)能夠較好地滿(mǎn)足路徑導(dǎo)航的需求。但是,在沒(méi)有矢量道路網(wǎng)數(shù)據(jù)的地區(qū)(如沙漠、叢林、山區(qū)、草地等),現(xiàn)有的導(dǎo)航軟件都無(wú)法提供正常的服務(wù)。因此,如何在矢量道路網(wǎng)數(shù)據(jù)缺失的情況下實(shí)現(xiàn)無(wú)路網(wǎng)路徑規(guī)劃,就成為導(dǎo)航應(yīng)用領(lǐng)域亟待解決的重大問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例解決的技術(shù)問(wèn)題之一在于提供一種無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法及其裝置。
本申請(qǐng)實(shí)施例提供一種無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法,包括:
獲取研究區(qū)域的基礎(chǔ)數(shù)據(jù)并對(duì)所述基礎(chǔ)數(shù)據(jù)進(jìn)行預(yù)處理,所述基礎(chǔ)數(shù)據(jù)包括數(shù)字高程模型數(shù)據(jù)、地標(biāo)類(lèi)型數(shù)據(jù)、地名地址數(shù)據(jù)中至少其一;
對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼;
對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián);
根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果,進(jìn)行路徑規(guī)劃。
在本申請(qǐng)一具體實(shí)施例中,所述對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼包括:
對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)中的經(jīng)緯度進(jìn)行編碼轉(zhuǎn)換,轉(zhuǎn)換為二進(jìn)制網(wǎng)格編碼進(jìn)行基礎(chǔ)運(yùn)算;
根據(jù)網(wǎng)絡(luò)層級(jí)對(duì)點(diǎn)、線(xiàn)、面對(duì)象進(jìn)行網(wǎng)格剖分以及網(wǎng)格集聚合運(yùn)算,獲得空間對(duì)象網(wǎng)格映射;
對(duì)網(wǎng)格與網(wǎng)格、網(wǎng)格集與網(wǎng)格集進(jìn)行空間關(guān)系計(jì)算以及空間分析,獲得所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼。
在本申請(qǐng)一具體實(shí)施例中,所述對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)中的經(jīng)緯度進(jìn)行編碼轉(zhuǎn)換,轉(zhuǎn)換為二進(jìn)制網(wǎng)格編碼進(jìn)行基礎(chǔ)運(yùn)算,包括:
建立十進(jìn)制二維、二進(jìn)制二維、二進(jìn)制一維、四進(jìn)制一維相互轉(zhuǎn)換的映射關(guān)系;
根據(jù)所述映射關(guān)系,進(jìn)行經(jīng)緯度與二進(jìn)制網(wǎng)格編碼之間的轉(zhuǎn)換以及網(wǎng)格地理含義判斷與位移計(jì)算;
按照所述網(wǎng)絡(luò)層級(jí)與二進(jìn)制網(wǎng)格編碼值,對(duì)獲得的網(wǎng)格編碼進(jìn)行排序。
在本申請(qǐng)一具體實(shí)施例中,所述可通行性為:
根據(jù)道路等級(jí)、地表類(lèi)型、地面坡度中至少一種確定可通行性。
在本申請(qǐng)一具體實(shí)施例中,所述對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián),還包括:
將所述網(wǎng)格內(nèi)的標(biāo)志性地物名稱(chēng)與所述網(wǎng)格編碼、所述可通行性量化結(jié)果進(jìn)行關(guān)聯(lián)。
在本申請(qǐng)一具體實(shí)施例中,所述根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行路徑規(guī)劃,包括:
根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行最短路徑規(guī)劃;
根據(jù)所述最短路徑進(jìn)行局部微調(diào),獲得通行代價(jià)相對(duì)最短路徑更小的路徑。
在本申請(qǐng)一具體實(shí)施例中,所述根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果,進(jìn)行路徑規(guī)劃之后,還包括:
對(duì)所述通行代價(jià)相對(duì)最短路徑更小的路徑進(jìn)行合理性檢查。
在本申請(qǐng)一具體實(shí)施例中,所述合理性檢查包括:
判斷所述路徑經(jīng)過(guò)網(wǎng)格中是否包含障礙物;
如果包含障礙物,則根據(jù)臨近網(wǎng)格的可通行性量化結(jié)果重新規(guī)劃路徑。
在本申請(qǐng)一具體實(shí)施例中,所述合理性檢查包括:
判斷所述路徑經(jīng)過(guò)網(wǎng)格中是否包含不影響路徑連通性的可刪除網(wǎng)格;
如果包含可刪除網(wǎng)格,則刪除所述可刪除網(wǎng)格,并重新規(guī)劃路徑。
對(duì)應(yīng)上述方法,本申請(qǐng)還提供一種無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的裝置,包括:
預(yù)處理模塊,用于獲取研究區(qū)域的基礎(chǔ)數(shù)據(jù)并對(duì)所述基礎(chǔ)數(shù)據(jù)進(jìn)行預(yù)處理,所述基礎(chǔ)數(shù)據(jù)包括數(shù)字高程模型數(shù)據(jù)、地標(biāo)類(lèi)型數(shù)據(jù)、地名地址數(shù)據(jù)中至少其一;
網(wǎng)格剖分模塊,用于對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼;
代價(jià)量化模塊,用于對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián);
路徑規(guī)劃模塊,用于根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果,進(jìn)行路徑規(guī)劃。
本申請(qǐng)實(shí)施例獲取研究區(qū)域的數(shù)字高程模型數(shù)據(jù)、地標(biāo)類(lèi)型數(shù)據(jù)、地名地址數(shù)據(jù)中至少其一構(gòu)成的基礎(chǔ)數(shù)據(jù)并對(duì)所述基礎(chǔ)數(shù)據(jù)進(jìn)行預(yù)處理。對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼。對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián),從而根據(jù)關(guān)聯(lián)進(jìn)行路徑規(guī)劃。本申請(qǐng)實(shí)施例能夠?qū)崿F(xiàn)對(duì)無(wú)道路矢量數(shù)據(jù)的復(fù)雜地形區(qū)域進(jìn)行路徑規(guī)劃,且計(jì)算簡(jiǎn)單,使用方便,成本低廉。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請(qǐng)實(shí)施例所應(yīng)用的計(jì)算機(jī)設(shè)備的硬件結(jié)構(gòu)圖;
圖2是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法一實(shí)施例流程圖;
圖3是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法另一實(shí)施例步驟s2的流程圖;
圖4是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法再一實(shí)施例步驟s21的流程圖;
圖5是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中地理含義判斷示意圖;
圖6是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中位移計(jì)算示意圖;
圖7是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中對(duì)點(diǎn)、線(xiàn)、面對(duì)象進(jìn)行網(wǎng)格剖分示意圖;
圖8是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中網(wǎng)格的可通行性代價(jià)示意圖;
圖9是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法另一實(shí)施例步驟s3的流程圖;
圖10是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法另一實(shí)施例步驟s4的流程圖;
圖11a和圖11b是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中起點(diǎn)與終點(diǎn)是否沿經(jīng)線(xiàn)方向的示意圖;
圖12是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中步驟s41的流程圖;
圖13是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中最終的路徑網(wǎng)格集合示意圖;
圖14是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中步驟s42的流程圖;
圖15a至圖15f是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中進(jìn)行微調(diào)的示意圖;
圖16是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中微調(diào)后規(guī)劃路徑的示意圖;
圖17是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中步驟s4再一實(shí)施例的流程圖;
圖18是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中步驟s43再一實(shí)施例的流程圖;
圖19是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法中步驟s43再一實(shí)施例的流程圖;
圖20是本申請(qǐng)?zhí)峁┑囊环N無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的裝置一實(shí)施例結(jié)構(gòu)圖。
具體實(shí)施方式
本申請(qǐng)實(shí)施例獲取研究區(qū)域的數(shù)字高程模型數(shù)據(jù)、地標(biāo)類(lèi)型數(shù)據(jù)、地名地址數(shù)據(jù)中至少其一構(gòu)成的基礎(chǔ)數(shù)據(jù)并對(duì)所述基礎(chǔ)數(shù)據(jù)進(jìn)行預(yù)處理。對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼。對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián),從而根據(jù)關(guān)聯(lián)進(jìn)行路徑規(guī)劃。本申請(qǐng)實(shí)施例能夠?qū)崿F(xiàn)對(duì)無(wú)道路矢量數(shù)據(jù)的復(fù)雜地形區(qū)域進(jìn)行路徑規(guī)劃,且計(jì)算簡(jiǎn)單,使用方便。
盡管本申請(qǐng)能夠具有許多不同形式的實(shí)施例,但在附圖中顯示并且將在本文詳細(xì)描述的特定實(shí)施例,應(yīng)該理解,這種實(shí)施例的公開(kāi)應(yīng)該被視為原理的示例,而非意圖把本申請(qǐng)限制于顯示和描述的特定實(shí)施例。在以下的描述中,相同的標(biāo)號(hào)用于描述附圖的幾個(gè)示圖中的相同、相似或?qū)?yīng)的部分。
如本文所使用,術(shù)語(yǔ)“一個(gè)”或“一種”被定義為一個(gè)(種)或超過(guò)一個(gè)(種)。如本文所使用,術(shù)語(yǔ)“多個(gè)”被定義為兩個(gè)或超過(guò)兩個(gè)。如本文所使用,術(shù)語(yǔ)“其他”被定義為至少再一個(gè)或更多個(gè)。如本文所使用,術(shù)語(yǔ)“包含”和/或“具有”被定義為包括(即,開(kāi)放式語(yǔ)言)。如本文所使用,術(shù)語(yǔ)“耦合”被定義為連接,但未必是直接連接,并且未必是以機(jī)械方式連接。如本文所使用,術(shù)語(yǔ)“程序”或“計(jì)算機(jī)程序”或類(lèi)似術(shù)語(yǔ)被定義為設(shè)計(jì)用于在計(jì)算機(jī)系統(tǒng)上執(zhí)行的指令序列?!俺绦颉被颉坝?jì)算機(jī)程序”可包括子程序、函數(shù)、過(guò)程、對(duì)象方法、對(duì)象實(shí)現(xiàn)、可執(zhí)行應(yīng)用、小應(yīng)用程序、小服務(wù)程序、源代碼、目標(biāo)代碼、共享庫(kù)/動(dòng)態(tài)加載庫(kù)和/或設(shè)計(jì)用于在計(jì)算機(jī)系統(tǒng)上執(zhí)行的其它指令序列。
在整個(gè)本文件中對(duì)“一個(gè)實(shí)施例”、“某些實(shí)施例”、“實(shí)施例”或類(lèi)似術(shù)語(yǔ)的提及表示結(jié)合實(shí)施例描述的特定特征、結(jié)構(gòu)或特性被包括在本申請(qǐng)的至少一個(gè)實(shí)施例中。因此,在整個(gè)本說(shuō)明書(shū)的各種地方的這種詞語(yǔ)的出現(xiàn)不必全部表示相同的實(shí)施例。另外,所述特定特征、結(jié)構(gòu)或特性可非限制性地在一個(gè)或多個(gè)實(shí)施例中以任何合適的方式組合。
如本文所使用,術(shù)語(yǔ)“或者”應(yīng)該被解釋為是包括性的或者表示任何一種或任何組合。因此,“a、b或者c”表示“下面的任何一種:a;b;c;a和b;a和c;b和c;a,b和c”。僅當(dāng)元件、功能、步驟或動(dòng)作的組合以某種方式固有地相互排斥時(shí),將會(huì)發(fā)生這種定義的例外。
為了使本領(lǐng)域的人員更好地理解本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
下面結(jié)合本申請(qǐng)實(shí)施例附圖進(jìn)一步說(shuō)明本申請(qǐng)實(shí)施例具體實(shí)現(xiàn)。
本申請(qǐng)一實(shí)施例提一種無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的方法,可應(yīng)用于手機(jī)、pad等移動(dòng)終端或者pc終端。
參見(jiàn)圖1,所述終端通常包括:主控芯片11、存儲(chǔ)器12、輸入輸出裝置13以及其他硬件14。所述主控芯片11控制各功能模塊,存儲(chǔ)器12存儲(chǔ)各應(yīng)用程序和數(shù)據(jù)。
參見(jiàn)圖2,所述方法包括:
s1、獲取研究區(qū)域的基礎(chǔ)數(shù)據(jù)并對(duì)所述基礎(chǔ)數(shù)據(jù)進(jìn)行預(yù)處理,所述基礎(chǔ)數(shù)據(jù)包括數(shù)字高程模型(dem)數(shù)據(jù)、地標(biāo)類(lèi)型數(shù)據(jù)、地名地址數(shù)據(jù)中至少其一。
所述研究區(qū)域約40km*40km,該區(qū)域需要包括建筑、水體、植被、道路等常見(jiàn)地表類(lèi)型。其中,路網(wǎng)密度適宜,既存在路網(wǎng)廣泛分布的地區(qū),也存在無(wú)路徑的開(kāi)闊地、丘陵、山地。另外,所述研究區(qū)域內(nèi)各部分需要有一個(gè)較為明顯的坡度差異,提高路徑規(guī)劃方法的實(shí)用性。
在本申請(qǐng)具體實(shí)現(xiàn)中,所述預(yù)處理包括傳統(tǒng)制圖中的投影變換等處理,可以借助現(xiàn)有的專(zhuān)業(yè)軟件來(lái)進(jìn)行,例如:arcgis、mapgis、supermap等。
s2、對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼。
具體地,所述北斗導(dǎo)航網(wǎng)格剖分是指根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系,以指定網(wǎng)絡(luò)層級(jí)對(duì)研究區(qū)域的數(shù)字高程模型(dem)數(shù)據(jù)、地表類(lèi)型數(shù)據(jù)和地名地址數(shù)據(jù)進(jìn)行剖分,獲取網(wǎng)格化的各類(lèi)基礎(chǔ)數(shù)據(jù)。其關(guān)鍵在于網(wǎng)格層級(jí)的確定,剖分網(wǎng)絡(luò)層級(jí)越高,網(wǎng)格越精細(xì),基礎(chǔ)數(shù)據(jù)表達(dá)的效果越好。但對(duì)于同一研究區(qū)域,網(wǎng)格數(shù)量急劇上升,空間搜索及路徑規(guī)劃的效率下降。綜合考慮路徑規(guī)劃的精度要求以及服務(wù)對(duì)象的視野范圍、行進(jìn)速度等因素,將約8m×8m的第6級(jí)北斗導(dǎo)航網(wǎng)格碼(即geosot第23層1/4″×1/4″網(wǎng)格)作為基礎(chǔ)數(shù)據(jù)剖分處理的最高層級(jí)以及后臺(tái)數(shù)據(jù)組織與管理的層級(jí),此時(shí),研究區(qū)域?qū)?yīng)的網(wǎng)格數(shù)量約2500萬(wàn)。
在本申請(qǐng)一具體實(shí)施例中,參見(jiàn)圖3,所述步驟s2包括:
s21、對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)中的經(jīng)緯度進(jìn)行編碼轉(zhuǎn)換,轉(zhuǎn)換為二進(jìn)制網(wǎng)格編碼進(jìn)行基礎(chǔ)運(yùn)算。
參見(jiàn)圖4,所述步驟s21包括:
s211、建立十進(jìn)制二維、二進(jìn)制二維、二進(jìn)制一維、四進(jìn)制一維相互轉(zhuǎn)換的映射關(guān)系。
s212、根據(jù)所述映射關(guān)系,進(jìn)行經(jīng)緯度與二進(jìn)制網(wǎng)格編碼之間的轉(zhuǎn)換以及網(wǎng)格地理含義判斷與位移計(jì)算。
參見(jiàn)圖5,所述網(wǎng)格地理含義判斷通常指判斷網(wǎng)格編碼地理含義的真實(shí)性,如為true則表示網(wǎng)格可以通過(guò),false則表示網(wǎng)格不可以通過(guò)。
參見(jiàn)圖6,所述位移計(jì)算通常指加/減位移計(jì)算,即通過(guò)網(wǎng)格cella的加/減編碼位移計(jì)算得到cellb的編碼。
s213、按照所述網(wǎng)絡(luò)層級(jí)與二進(jìn)制網(wǎng)格編碼值,對(duì)獲得的網(wǎng)格編碼進(jìn)行排序。
s22、根據(jù)網(wǎng)絡(luò)層級(jí)對(duì)點(diǎn)、線(xiàn)、面對(duì)象進(jìn)行網(wǎng)格剖分以及網(wǎng)格集聚合運(yùn)算,獲得空間對(duì)象網(wǎng)格映射。
參見(jiàn)圖7a至圖7c,根據(jù)網(wǎng)絡(luò)層級(jí)對(duì)點(diǎn)、線(xiàn)、面對(duì)象進(jìn)行網(wǎng)格剖分,剖分網(wǎng)絡(luò)層級(jí)越高,網(wǎng)格越精細(xì),基礎(chǔ)數(shù)據(jù)表達(dá)的效果越好。
s23、對(duì)網(wǎng)格與網(wǎng)格、網(wǎng)格集與網(wǎng)格集進(jìn)行空間關(guān)系計(jì)算以及空間分析,獲得所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼。
具體地,空間關(guān)系計(jì)算包括拓?fù)?、量算、方位?jì)算,此同現(xiàn)有技術(shù)中北斗導(dǎo)航網(wǎng)格剖分中空間關(guān)系計(jì)算相同,故在此不再贅述。
具體地,空間分析包括空間查詢(xún)、緩沖區(qū)分析、疊加分析、空間插值,此同現(xiàn)有技術(shù)中北斗導(dǎo)航網(wǎng)格剖分中空間分析相同,故在此不再贅述。
s3、對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián)。
所述可通行性為:
根據(jù)道路等級(jí)、地表類(lèi)型、地面坡度中至少一種確定可通行性。
具體地,所述可通行性量化是指根據(jù)剖分處理后的基礎(chǔ)數(shù)據(jù)為每個(gè)北斗導(dǎo)航網(wǎng)格的可通行性打分。
具體打分過(guò)程如下所述:
當(dāng)網(wǎng)格內(nèi)有道路通過(guò)時(shí),按表1根據(jù)道路等級(jí)對(duì)網(wǎng)格的可通行性打分,其中若網(wǎng)格內(nèi)有不同等級(jí)道路通過(guò),則以高等級(jí)道路得分為最終得分。當(dāng)網(wǎng)格內(nèi)沒(méi)有道路通過(guò)時(shí),則按照地表類(lèi)型進(jìn)行打分。
表1不同道路等級(jí)對(duì)應(yīng)的網(wǎng)格可通行性得分
按面積占優(yōu)法判斷網(wǎng)格的地表類(lèi)型,若網(wǎng)格內(nèi)只有建筑、水體、草地、樹(shù)叢地、沙漠、沼澤及其它中的一種,則網(wǎng)格的地表類(lèi)型即為該類(lèi)型;若網(wǎng)格內(nèi)包含多種地表類(lèi)型,則取面積最大的類(lèi)型作為網(wǎng)格的地表類(lèi)型。當(dāng)網(wǎng)格的地表類(lèi)型為建筑、水體、樹(shù)叢地、沙漠、沼澤時(shí),該網(wǎng)格的可通行性打分為0(即不可通過(guò));當(dāng)網(wǎng)格的地表類(lèi)型為草地或其它時(shí),則按照地面坡度進(jìn)行打分。
按地面坡度衡量網(wǎng)格的可通行性。根據(jù)網(wǎng)格及其鄰近網(wǎng)格的數(shù)字高程模型(dem)數(shù)據(jù)采用公式一進(jìn)行坡度計(jì)算,其中,若網(wǎng)格跨越多個(gè)dem單元,則根據(jù)面積比加權(quán)計(jì)算網(wǎng)格高程。
α(坡度)=arctan(高程差/水平距離)公式一
表2不同坡度對(duì)應(yīng)的網(wǎng)格可通行性得分
參見(jiàn)圖8,網(wǎng)格中數(shù)字為網(wǎng)格的可通行性代價(jià),可通行性代價(jià)打分體制采用10分制,可通行性代價(jià)和可通行性相反,分?jǐn)?shù)越高代表通行代價(jià)越大;當(dāng)分?jǐn)?shù)高于一定閾值時(shí)可認(rèn)為實(shí)際應(yīng)用中由于通行代價(jià)過(guò)大而放棄選擇該網(wǎng)格通行,仿真試驗(yàn)將該值設(shè)為5。其中,可通行性代價(jià)為10的灰色網(wǎng)格表示水體,不可通過(guò),黑色網(wǎng)格為起點(diǎn)和終點(diǎn)。
在本申請(qǐng)另一具體實(shí)施例中,參見(jiàn)圖9,所述步驟s3還包括:
s3、將所述網(wǎng)格內(nèi)的標(biāo)志性地物名稱(chēng)與所述網(wǎng)格編碼、所述可通行性量化結(jié)果進(jìn)行關(guān)聯(lián)。
本申請(qǐng)將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián)。其中,網(wǎng)格編碼是查詢(xún)與檢索的主鍵,網(wǎng)格的可通行性量化結(jié)果以及所述網(wǎng)格內(nèi)的標(biāo)志性地物名稱(chēng)可根據(jù)網(wǎng)格編碼進(jìn)行查詢(xún)。所述網(wǎng)格內(nèi)的標(biāo)志性地物名稱(chēng)作為路徑規(guī)劃的補(bǔ)充,增強(qiáng)了路徑的直觀性。
s4、根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果,進(jìn)行路徑規(guī)劃。
參見(jiàn)圖10,所述步驟s4包括:
s41、根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性代價(jià)量化結(jié)果進(jìn)行最短路徑規(guī)劃。
s42、根據(jù)所述最短路徑進(jìn)行局部微調(diào),獲得通行代價(jià)相對(duì)最短路徑更小的路徑。
具體地址,需要?jiǎng)?chuàng)建四個(gè)表:route1表、route2表、candidate表和reference表。其中:route1表和route2表存儲(chǔ)算法搜索到的路徑網(wǎng)格,candidate表存儲(chǔ)分叉處的候選網(wǎng)格,reference表存儲(chǔ)起點(diǎn)和終點(diǎn)連線(xiàn)所經(jīng)過(guò)網(wǎng)格。
參見(jiàn)圖11a和圖11b,當(dāng)起點(diǎn)與終點(diǎn)連線(xiàn)不沿經(jīng)線(xiàn)方向時(shí),當(dāng)前網(wǎng)格的8個(gè)鄰域網(wǎng)格中,經(jīng)向編碼相同且靠近終點(diǎn)一側(cè)的三個(gè)網(wǎng)格優(yōu)先級(jí)為1,即最高。與當(dāng)前網(wǎng)格經(jīng)向編碼相同的其余兩個(gè)網(wǎng)格優(yōu)先級(jí)為2。剩余3個(gè)網(wǎng)格優(yōu)先級(jí)為3,即最低。當(dāng)起點(diǎn)與終點(diǎn)連線(xiàn)沿經(jīng)線(xiàn)方向時(shí),與當(dāng)前網(wǎng)格經(jīng)向編碼相同且靠近終點(diǎn)的網(wǎng)格優(yōu)先級(jí)為1,與當(dāng)前網(wǎng)格經(jīng)向編碼相同且遠(yuǎn)離終點(diǎn)的網(wǎng)格優(yōu)先級(jí)為3,剩余6個(gè)網(wǎng)格優(yōu)先級(jí)為2。
具體地,參見(jiàn)圖12,所述步驟41包括:
step1:初始化,將route1表、route2表、candidate表和reference表清空,設(shè)route1表為當(dāng)前處理的route表,優(yōu)先級(jí)k=1。
step2:分別計(jì)算起點(diǎn)和終點(diǎn)所在位置的網(wǎng)格編碼。
step3:計(jì)算起點(diǎn)和終點(diǎn)連線(xiàn)所經(jīng)過(guò)的網(wǎng)格,按距起點(diǎn)距離由近到遠(yuǎn)存入reference表(含起點(diǎn))。
若當(dāng)前網(wǎng)格為reference表中的網(wǎng)格gi,則gi-1定義為reference表中當(dāng)前網(wǎng)格的前一網(wǎng)格,gi+1定義為當(dāng)前網(wǎng)格的后一網(wǎng)格。
step4:逐一取reference表中的網(wǎng)格gi作為當(dāng)前網(wǎng)格。
step5:判斷gi+1是否終點(diǎn)網(wǎng)格;若gi+1不是終點(diǎn)網(wǎng)格時(shí),轉(zhuǎn)入step6;若gi+1是終點(diǎn)網(wǎng)格,則將gi和gi+1存入當(dāng)前處理的route表(route1表或route2表);判斷candidate表是否為空;當(dāng)candidate表為空時(shí)轉(zhuǎn)入step10;當(dāng)candidate表不為空時(shí),置當(dāng)前處理的route表為route2表,取candidate表中存入的第一個(gè)網(wǎng)格為當(dāng)前處理的網(wǎng)格,清空candidate表,并根據(jù)reference表向route2表中插入起點(diǎn)至當(dāng)前網(wǎng)格對(duì)應(yīng)的路徑網(wǎng)格,轉(zhuǎn)入step8。
step6:判斷gi+1是否可通行;若gi+1可通行,則當(dāng)前網(wǎng)格存入當(dāng)前處理的route表,轉(zhuǎn)入step4;否則轉(zhuǎn)入step7。
step7:取當(dāng)前網(wǎng)格八鄰域網(wǎng)格中優(yōu)先級(jí)為k且不在reference表中的網(wǎng)格c1、c2;當(dāng)c1、c2均可通行時(shí),將當(dāng)前網(wǎng)格存入route表,若c1、c2位于起點(diǎn)終點(diǎn)連線(xiàn)的上下兩側(cè),則先取c1作為當(dāng)前網(wǎng)格,c2存入candidate表,若c1、c2同時(shí)位于連線(xiàn)的上側(cè)或者下側(cè),取離連線(xiàn)最近的作為當(dāng)前網(wǎng)格,將離連線(xiàn)較遠(yuǎn)的存入candidate表,轉(zhuǎn)入step8;當(dāng)c1、c2僅一個(gè)可通行時(shí),將當(dāng)前網(wǎng)格存入route表,將可通行網(wǎng)格作為當(dāng)前網(wǎng)格轉(zhuǎn)入step8;當(dāng)c1、c2均不可通行時(shí)取route表中的最后一個(gè)網(wǎng)格為當(dāng)前網(wǎng)格,判斷當(dāng)前網(wǎng)格是否為reference表中的網(wǎng)格;若當(dāng)前網(wǎng)格為reference表中的網(wǎng)格,則重復(fù)執(zhí)行step7;若當(dāng)前網(wǎng)格不為reference表中的網(wǎng)格,轉(zhuǎn)入step8。
step8:獲取當(dāng)前網(wǎng)格八鄰域網(wǎng)格中優(yōu)先級(jí)為k的網(wǎng)格的通行代價(jià),若存在可通行網(wǎng)格且其中包含reference表中的網(wǎng)格,則將當(dāng)前網(wǎng)格存入當(dāng)前處理的route表,轉(zhuǎn)入step4;若存在可通行網(wǎng)格但其中不包含reference表中的網(wǎng)格,則將當(dāng)前網(wǎng)格存入當(dāng)前處理的route表中,當(dāng)可通行網(wǎng)格個(gè)數(shù)大于1,則取離gi+1最近的網(wǎng)格作為當(dāng)前網(wǎng)格,其余網(wǎng)格存入candidate表,當(dāng)可通行網(wǎng)格僅有一個(gè),則將其設(shè)為當(dāng)前網(wǎng)格。gi+1=gi+2,重新執(zhí)行step8;若不存在可通行網(wǎng)格則判斷candidate表是否為空;若不為空,則以candidate表中最后插入的網(wǎng)格c為當(dāng)前網(wǎng)格,刪除route表中c及其以后的網(wǎng)格,并從candidate表中刪除當(dāng)前網(wǎng)格,重新執(zhí)行step8;若為空,轉(zhuǎn)入step9。
step9:從當(dāng)前處理的route表中刪除最后一個(gè)網(wǎng)格,以刪除處理后route表中的最后一個(gè)網(wǎng)格為當(dāng)前網(wǎng)格,當(dāng)前網(wǎng)格不為起點(diǎn)且為reference表中的網(wǎng)格時(shí)執(zhí)行step7,當(dāng)當(dāng)前網(wǎng)格不為起點(diǎn)且不在reference表中時(shí)執(zhí)行step8,當(dāng)前網(wǎng)格為起點(diǎn)時(shí)執(zhí)行step10。
step10:若route1和route2均不為空,則返回網(wǎng)格個(gè)數(shù)較少的route表中對(duì)應(yīng)的路徑,若route1和route2僅一個(gè)不為空,則返回相應(yīng)的route表中對(duì)應(yīng)的路徑,若route1和route2均為空,則判斷k是否為3,當(dāng)k=3時(shí),起點(diǎn)和終點(diǎn)之間不可通行。
經(jīng)過(guò)最短路徑計(jì)算,獲得最終的路徑網(wǎng)格集合如圖13中灰色網(wǎng)格所示。
具體地,參見(jiàn)圖14,所述步驟42包括:
step11:初始化,清空route表,將最短路徑網(wǎng)格存儲(chǔ)于route表。
step12:若gi+1為終點(diǎn)時(shí)算法結(jié)束,route表中的網(wǎng)格即為最終通行代價(jià)較小的路徑;否則逐一取route表中的網(wǎng)格gi作為當(dāng)前網(wǎng)格,轉(zhuǎn)入step13判斷。
step13:若當(dāng)前網(wǎng)格八鄰域網(wǎng)格中存在網(wǎng)格c使得gi經(jīng)c到gi+2的通行代價(jià)之和小于gi經(jīng)gi+1到gi+2的通行代價(jià)之和,則以gi經(jīng)c到gi+2的路徑代替route表中g(shù)i經(jīng)gi+1到gi+2的路徑,將gi+2的前一個(gè)網(wǎng)格作為當(dāng)前網(wǎng)格重復(fù)執(zhí)行step3;否則轉(zhuǎn)入step12。
具體微調(diào)的示意圖參見(jiàn)圖15a至圖15f,其中黑色網(wǎng)格為當(dāng)前網(wǎng)格,灰色網(wǎng)格為route表中當(dāng)前路徑。
圖16為研究區(qū)域通行代價(jià)較小的路徑規(guī)劃局部微調(diào)結(jié)果,圈出區(qū)域?yàn)槲⒄{(diào)路徑。
在本申請(qǐng)?jiān)僖痪唧w實(shí)現(xiàn)中,參見(jiàn)圖17,所述步驟s4還包括:
s43、對(duì)所述通行代價(jià)相對(duì)最短路徑更小的路徑進(jìn)行合理性檢查。
具體地,參見(jiàn)圖18,所述s43包括:
s431、判斷所述路徑經(jīng)過(guò)網(wǎng)格中是否包含障礙物。
s432、如果包含障礙物,則根據(jù)臨近網(wǎng)格的可通行性代價(jià)量化結(jié)果重新規(guī)劃路徑。
具體地,參見(jiàn)圖19,所述s43還包括:
s433、判斷所述路徑經(jīng)過(guò)網(wǎng)格中是否包含不影響路徑連通性的可刪除網(wǎng)格。
s434、如果包含可刪除網(wǎng)格,則刪除所述可刪除網(wǎng)格,并重新規(guī)劃路徑。
參見(jiàn)圖20,對(duì)應(yīng)于上述方法,本申請(qǐng)還提供一種無(wú)路網(wǎng)地形條件下的路徑規(guī)劃的裝置,包括:
預(yù)處理模塊201,用于獲取研究區(qū)域的基礎(chǔ)數(shù)據(jù)并對(duì)所述基礎(chǔ)數(shù)據(jù)進(jìn)行預(yù)處理,所述基礎(chǔ)數(shù)據(jù)包括數(shù)字高程模型數(shù)據(jù)、地標(biāo)類(lèi)型數(shù)據(jù)、地名地址數(shù)據(jù)中至少其一。
網(wǎng)格剖分模塊202,用于對(duì)預(yù)處理后的基礎(chǔ)數(shù)據(jù)根據(jù)經(jīng)緯度與網(wǎng)格碼之間的轉(zhuǎn)換關(guān)系進(jìn)行北斗導(dǎo)航網(wǎng)格剖分,以指定網(wǎng)絡(luò)層級(jí)獲取所述基礎(chǔ)數(shù)據(jù)的網(wǎng)格編碼。
代價(jià)量化模塊203,用于對(duì)網(wǎng)格進(jìn)行可通行性量化,并將網(wǎng)格的網(wǎng)格編碼與其可通行性量化結(jié)果進(jìn)行關(guān)聯(lián)。
路徑規(guī)劃模塊204,用于根據(jù)關(guān)聯(lián)的網(wǎng)格編碼與其可通行性量化結(jié)果,進(jìn)行路徑規(guī)劃。
本領(lǐng)域的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、裝置(設(shè)備)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)是參照實(shí)施例的方法、裝置(設(shè)備)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)實(shí)施例的這些修改和變型屬于本申請(qǐng)實(shí)施例權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。