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