專利名稱:跨區(qū)域地圖數(shù)據(jù)加載顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及導(dǎo)航技術(shù)領(lǐng)域,尤其涉及一種跨區(qū)域地圖數(shù)據(jù)加載顯示方法。
背景技術(shù):
嵌入式計(jì)算機(jī)技術(shù)的飛速發(fā)展和社會(huì)需求的快速推動(dòng),使得GIS (地理信息)技術(shù)已經(jīng)在 城市智能交通系統(tǒng)、車輛導(dǎo)航系統(tǒng)、個(gè)人位置服務(wù)系統(tǒng)和數(shù)字化武器裝備等嵌入式系統(tǒng)中等 得到廣泛應(yīng)用,經(jīng)濟(jì)和社會(huì)效益顯著,它們較多是以存取矢量地圖數(shù)據(jù)格式來執(zhí)行地圖顯示 等功能。同臺(tái)式PC機(jī)或圖形工作站相比, 一般嵌入式GIS系統(tǒng)處理器速度較慢、存儲(chǔ)器容量 較小和缺乏浮點(diǎn)協(xié)處理器,而與之相矛盾的是地理信息數(shù)據(jù)量大、數(shù)據(jù)類型復(fù)雜和運(yùn)算任務(wù) 重。為滿足終端用戶對(duì)地圖快速顯示要求,導(dǎo)航引擎的通用做法是把全國的地圖數(shù)據(jù)按一定 的方式劃分為若干個(gè)地圖數(shù)據(jù)文件,并通過空間索引技術(shù)加載相應(yīng)區(qū)域的地圖數(shù)據(jù)。由于地 圖數(shù)據(jù)被保存到不同的文件中,因此需要一定技術(shù)來實(shí)現(xiàn)地圖數(shù)據(jù)在邊界處的無縫連接。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提出一種跨區(qū)域地圖數(shù)據(jù)加載顯示方法,實(shí)現(xiàn)地圖數(shù)據(jù) 在邊界處能高效、無縫連接。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是跨區(qū)域地圖數(shù)據(jù)加載顯示方法,包括以 下步驟
a. 對(duì)地圖按照行政區(qū)域進(jìn)行劃分;
b. 對(duì)每個(gè)行政區(qū)域內(nèi)的地圖數(shù)據(jù)進(jìn)行網(wǎng)格劃分;
c. 將每個(gè)網(wǎng)格保存為一個(gè)地圖數(shù)據(jù)文件,并以Map對(duì)象表示,以ID值來唯一標(biāo)識(shí)一個(gè) Map對(duì)象;
d. 提取并保存連接點(diǎn)對(duì)象;
e. 添加當(dāng)前顯示區(qū)域需要加載的Map對(duì)象
el.遍歷每個(gè)Map對(duì)象,判斷是否含有連接點(diǎn)對(duì)象,如果有則執(zhí)行步驟e2,否則執(zhí)行步驟
e2.判斷連接點(diǎn)對(duì)象中的ID值所對(duì)應(yīng)的Map對(duì)象是否已經(jīng)在當(dāng)前顯示Map對(duì)象集合中,如 果是則執(zhí)行步驟f,否則執(zhí)行步驟e3;
e3.添加ID值所對(duì)應(yīng)的Map對(duì)象至當(dāng)前顯示Map對(duì)象集合;f. 遍歷當(dāng)前Map對(duì)象集合,判斷每個(gè)Map對(duì)象的范圍是否與當(dāng)前顯示區(qū)域相交,是則執(zhí)行 步驟g,否則從當(dāng)前Map對(duì)象集合中刪除不相交的Map對(duì)象;
g. 加載當(dāng)前Map對(duì)象集合中的Map對(duì)象
gl.打開Map對(duì)象所代表的地圖數(shù)據(jù)文件,讀取數(shù)據(jù); g2.還原地圖數(shù)據(jù)文件中的圖層及要素對(duì)象; g3.關(guān)閉Map對(duì)象所代表的地圖數(shù)據(jù)文件;
h. 繪制地圖數(shù)據(jù)文件中的要素對(duì)象。
所述連接點(diǎn)對(duì)象包括道路按網(wǎng)格劃分時(shí)生成的連接點(diǎn),道路按省級(jí)行政區(qū)域劃分時(shí)生
成的連接點(diǎn),道路按市級(jí)行政區(qū)域劃分時(shí)生產(chǎn)的連接點(diǎn),道路按區(qū)縣級(jí)行政區(qū)域劃分時(shí)生成 的連接點(diǎn)。
本發(fā)明的有益效果是可實(shí)現(xiàn)快速、無縫地圖顯示。
圖l為本發(fā)明的方法流程圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述。
如圖1所示,本發(fā)明中的跨區(qū)域地圖數(shù)據(jù)加載顯示方法可由以下步驟實(shí)施首先需要對(duì) 地圖數(shù)據(jù)進(jìn)行預(yù)處理,具體的是(1)將全國地圖按照行政區(qū)域(省、自治區(qū)、直轄市等 )劃分為若干個(gè)文件夾;(2)按矩形將每個(gè)行政區(qū)域等分為若干個(gè)網(wǎng)格區(qū)域,并將區(qū)域中
的要素對(duì)象(道路、興趣點(diǎn)、河流、公園等)保存到各自的網(wǎng)格文件中,對(duì)保存的網(wǎng)格文件
以Map對(duì)象表示,以ID值來唯一標(biāo)識(shí)一個(gè)Map對(duì)象;(3)提取并保存Junction (連接點(diǎn))對(duì) 象,Junction對(duì)象可以分為,道路按網(wǎng)格劃分時(shí)生成的連接點(diǎn),道路按省級(jí)行政區(qū)域劃分時(shí) 生成的連接點(diǎn),道路按市級(jí)行政區(qū)域劃分時(shí)生產(chǎn)的連接點(diǎn),道路按區(qū)縣級(jí)行政區(qū)域劃分時(shí)生 成的連接點(diǎn)。J皿ction對(duì)象具有各自的幾何信息,并且保存了與其關(guān)聯(lián)的其他網(wǎng)格標(biāo)號(hào)ID。
然后就是完成快速、無縫顯示的過程(1)添加當(dāng)前顯示區(qū)域需要加載的Map對(duì)象 遍歷Map對(duì)象集合中的每個(gè)Map對(duì)象,判斷每個(gè)Map對(duì)象中是否含有Junction對(duì)象,如果沒有 Junction對(duì)象,退出對(duì)當(dāng)前Map對(duì)象的訪問,繼續(xù)判斷下一個(gè)Map對(duì)象。如果包含Junction對(duì) 象,判斷J皿ction對(duì)象中的ID值對(duì)應(yīng)的Map對(duì)象是否已經(jīng)在目前Map對(duì)象集合中。如果Map對(duì) 象集合中沒有,便添加ID值對(duì)應(yīng)的Map對(duì)象到Map對(duì)象集合中,如果Map對(duì)象集合中已經(jīng)有了 ID值對(duì)應(yīng)的網(wǎng)格Map便不需要添加,最終形成了一個(gè)包含完整當(dāng)前顯示區(qū)域需要的Map對(duì)象集 合。(2)刪除當(dāng)前顯示區(qū)域不需要的Map對(duì)象遍歷Map對(duì)象集合,判斷每個(gè)Map對(duì)象的范圍是否與顯示區(qū)域相交。如果不相交,便從Map對(duì)象集合中刪除該Map對(duì)象。概述這點(diǎn)就是添 加當(dāng)前顯示區(qū)域中沒有的Map對(duì)象,刪除已經(jīng)離開了當(dāng)前顯示區(qū)域中的Map對(duì)象,在這樣一個(gè) 循環(huán)往復(fù)的過程中總能保證當(dāng)前顯示區(qū)域的完整性。(3)加載Map對(duì)象集合中的Map對(duì)象 a.打開Map對(duì)象所代表的文件,讀取數(shù)據(jù)。b.還原Map對(duì)象中的圖層,要素對(duì)象。c.關(guān)閉M即 對(duì)象所代表的文件。(4)顯示加載完成后Map對(duì)象集合繪制Map對(duì)象中的要素對(duì)象,最終完成 了地圖數(shù)據(jù)的無縫顯示。
權(quán)利要求
1.跨區(qū)域地圖數(shù)據(jù)加載顯示方法,其特征在于包括以下步驟a.對(duì)地圖按照行政區(qū)域進(jìn)行劃分;b.對(duì)每個(gè)行政區(qū)域內(nèi)的地圖數(shù)據(jù)進(jìn)行網(wǎng)格劃分;c.將每個(gè)網(wǎng)格保存為一個(gè)地圖數(shù)據(jù)文件,并以Map對(duì)象表示,以ID值來唯一標(biāo)識(shí)一個(gè)Map對(duì)象;d.提取并保存連接點(diǎn)對(duì)象;e.添加當(dāng)前顯示區(qū)域需要加載的Map對(duì)象e1.遍歷每個(gè)Map對(duì)象,判斷是否含有連接點(diǎn)對(duì)象,如果有則執(zhí)行步驟e2,否則執(zhí)行步驟f;e2.判斷連接點(diǎn)對(duì)象中的ID值所對(duì)應(yīng)的Map對(duì)象是否已經(jīng)在當(dāng)前顯示Map對(duì)象集合中,如果是則執(zhí)行步驟f,否則執(zhí)行步驟e3;e3.添加ID值所對(duì)應(yīng)的Map對(duì)象至當(dāng)前顯示Map對(duì)象集合;f.遍歷當(dāng)前Map對(duì)象集合,判斷每個(gè)Map對(duì)象的范圍是否與當(dāng)前顯示區(qū)域相交,是則執(zhí)行步驟g,否則從當(dāng)前Map對(duì)象集合中刪除不相交的Map對(duì)象;g.加載當(dāng)前Map對(duì)象集合中的Map對(duì)象g1.打開Map對(duì)象所代表的地圖數(shù)據(jù)文件,讀取數(shù)據(jù);g2.還原地圖數(shù)據(jù)文件中的圖層及要素對(duì)象;g3.關(guān)閉Map對(duì)象所代表的地圖數(shù)據(jù)文件;h.繪制地圖數(shù)據(jù)文件中的要素對(duì)象。
2.如權(quán)利要求l所述的跨區(qū)域地圖數(shù)據(jù)加載顯示方法,其特征在于 所述連接點(diǎn)對(duì)象包括道路按網(wǎng)格劃分時(shí)生成的連接點(diǎn),道路按省級(jí)行政區(qū)域劃分時(shí)生成的連接點(diǎn),道路按市級(jí)行政區(qū)域劃分時(shí)生產(chǎn)的連接點(diǎn),道路按區(qū)縣級(jí)行政區(qū)域劃分時(shí)生成的連 接點(diǎn)。
全文摘要
本發(fā)明涉及導(dǎo)航技術(shù)領(lǐng)域,尤其涉及一種跨區(qū)域地圖數(shù)據(jù)加載顯示方法。本發(fā)明公開了一種跨區(qū)域地圖數(shù)據(jù)加載顯示方法,實(shí)現(xiàn)地圖數(shù)據(jù)在邊界處能高效、無縫連接。其技術(shù)方案的要點(diǎn)可概括為對(duì)地圖按照行政區(qū)域劃分后,再進(jìn)行網(wǎng)格劃分,將每個(gè)網(wǎng)格進(jìn)行保存,并對(duì)每個(gè)網(wǎng)格進(jìn)行唯一標(biāo)識(shí),接著提取保存劃分時(shí)產(chǎn)生的連接點(diǎn)對(duì)象,在加載數(shù)據(jù)的過程中遇到有連接點(diǎn)對(duì)象就需要加載該連接點(diǎn)對(duì)象所關(guān)聯(lián)的網(wǎng)格單元,并且刪除已經(jīng)離開了當(dāng)前顯示范圍內(nèi)的網(wǎng)格單元,然后對(duì)地圖數(shù)據(jù)進(jìn)行還原顯示。本發(fā)明可實(shí)現(xiàn)快速、無縫地圖顯示,適用于導(dǎo)航終端。
文檔編號(hào)G06F17/30GK101561286SQ20091030268
公開日2009年10月21日 申請(qǐng)日期2009年5月27日 優(yōu)先權(quán)日2009年5月27日
發(fā)明者爽 明 申請(qǐng)人:四川長(zhǎng)虹電器股份有限公司