嵌入式GIS地圖快速顯示方法的應用
摘 要: 為提高嵌入式GIS 環(huán)境下矢量地圖的顯示速度, 設計了一種適用于嵌入式環(huán)境基于LOD 的地圖數(shù)據(jù)組織模型。 針對嵌入式設備硬件條件限制, 從減少非顯示區(qū)域的冗余地圖數(shù)據(jù)的讀取和提高外存檢索矢量數(shù)據(jù)的效率兩方面入手, 對矢量地圖數(shù)據(jù)進行了分層、分塊和建立索引等處理。 通過實驗表明, 該方法能很好地提高矢量地圖的顯示速度, 可以滿足嵌入式環(huán)境下地圖快速顯示的要求。
本文引用地址:http://m.butianyuan.cn/article/148330.htm1 引言
地理信息系統(tǒng)(Geographic InformaTION System, 簡稱GIS)產(chǎn)品被廣泛應用于交通、測繪、環(huán)境、國防、航空航天等與國民經(jīng)濟乃至國家命脈相關(guān)的重要領域,帶來了顯著的經(jīng)濟和社會效益。近年來隨著嵌入式技術(shù)的迅猛發(fā)展, GIS 技術(shù)也逐步應用于以手機、掌上電腦為代表的移動終端, 使得嵌入式GIS 成為當今GIS 研究領域的一個重要趨勢。 當前地圖數(shù)據(jù)量巨大,要求地圖刷新頻率高、實時性強, 普通桌面系統(tǒng)的地圖顯示方法很難適用于存儲器容量小、處理器性能低的嵌入式系統(tǒng), 提高地圖的顯示效率成為嵌入式GIS產(chǎn)品研發(fā)的首要問題。 矢量地圖擁有數(shù)據(jù)結(jié)構(gòu)緊湊,冗余度低; 圖形顯示質(zhì)量好, 精度高, 不失真等優(yōu)點,目前已被廣泛應用與嵌入式移動終端。 本文針對矢量電子地圖研究了地圖顯示數(shù)學模型, 設計了基于LOD的逐層分塊的地圖數(shù)據(jù)組織結(jié)構(gòu), 并以此為基礎建立網(wǎng)格索引, 通過實驗證明該方法可有效提高地圖顯示速度。
2 矢量地圖顯示數(shù)學模型
地圖的數(shù)據(jù)組織結(jié)構(gòu)是影響地圖顯示速度的核心因素。 因此, 要對矢量地圖顯示數(shù)學模型分析研究,合理組織地圖數(shù)據(jù), 才能有效提高地圖顯示速度。
由于電子地圖的數(shù)據(jù)量較大, 嵌入式設備的地圖數(shù)據(jù)一般會存放在外存儲器中, 系統(tǒng)顯示地圖時需要先將地圖數(shù)據(jù)讀入內(nèi)存, 再由地圖繪制程序解析內(nèi)存中的數(shù)據(jù), 將地圖顯示在屏幕上。 假設某矢量地圖數(shù)據(jù)占用物理存儲空間為D, 數(shù)據(jù)讀入內(nèi)存速度為V1,顯示速度為V2, 數(shù)據(jù)讀取準備時間為f (n) , 用戶可等待時間為T, 嵌入式設備內(nèi)存容量為R, 則有以下公式成立:
嵌入式設備內(nèi)存容量一定, 若V1, V2, T 為常數(shù),則必須減少D 和f (n)才能滿足數(shù)據(jù)顯示和處理的要求,提高地圖的顯示速度。
通過對地圖顯示數(shù)學模型的分析可以發(fā)現(xiàn), 要使地圖的顯示速度達到最快, 需要解決兩個問題: 一是盡量減少地圖非屏幕顯示區(qū)域的數(shù)據(jù)量, 即根據(jù)顯示范圍限制讀入的數(shù)據(jù)量; 二是要能以最快的速度從龐大的地圖數(shù)據(jù)中找到當前顯示范圍所涉及的相關(guān)數(shù)據(jù)。
針對問題一, 本文采用逐層分塊策略組織地圖數(shù)據(jù), 減少非屏幕區(qū)域的數(shù)據(jù)讀入; 對于問題二, 則對圖塊建立索引, 以降低外存調(diào)度當前顯示數(shù)據(jù)的時間。
3 矢量地圖快速顯示策略
3.1 數(shù)據(jù)組織模型設計
作者引入多細節(jié)層次LOD(Levels of Detail)技術(shù)思想,該技術(shù)最初是一種運用于控制三維場景復雜程度的技術(shù), 其基本思想是: 在建立地表模型時, 應充分考慮人的視覺特點, 對處于視覺不同區(qū)域的模型采用不同的分辨率表示, 這樣整個地表模型就表現(xiàn)為以塊為單位的具有多分辨率的細節(jié)層次模型, 當從近處觀察物體時, 采用精細模型, 當從遠處觀察物體時采用較為粗糙的模型[5]. 這一思想不僅限用于三維場景, 對于矢量地圖的快速顯示同樣適用。
系統(tǒng)對每個地圖分別制作多個比例尺的地圖數(shù)據(jù),同時參考地圖地理要素的規(guī)范, 根據(jù)要素的重要程度將不同比例尺地圖中的圖層劃分為不同的顯示層次,這樣電子地圖在縮放顯示過程中, 可根據(jù)當前顯示比例尺, 確定需要顯示的地理要素。 同時考慮到嵌入式設備顯示屏幕較小, 顯示覆蓋范圍相對有限, 需根據(jù)顯示屏幕尺寸對矢量地圖數(shù)據(jù)進行分塊處理, 以減少地圖顯示時讀入內(nèi)存的冗余數(shù)據(jù)。 通過上述對矢量地圖的分層分塊組織, 便形成了基于LOD 的逐層分塊地圖數(shù)據(jù)組織模型, 如圖1所示。
地圖顯示時, 在不同顯示層次上需要讀入相應的數(shù)據(jù)集合, 并實現(xiàn)根據(jù)設備顯示范圍讀入相應圖塊數(shù)據(jù), 從而大大減少地圖數(shù)據(jù)讀取和顯示數(shù)據(jù)量, 提高了地圖顯示的效率。
圖1 基于LOD 的逐層分塊地圖數(shù)據(jù)組織模型
3.2 矢量地圖數(shù)據(jù)分層處理
在地圖的顯示過程中, 地圖縮小時屏幕覆蓋地圖的范圍增大, 只需顯示主要地理要素對象, 相對次要的地理要素可隱藏而不顯示; 地圖放大顯示時屏幕覆蓋范圍減小, 在當前已顯示的地理要素基礎上, 相對次要的地理要素也需顯示出來。 基于這一特性, 可將地圖數(shù)據(jù)所描述的地理要素依據(jù)其重要性特征分為多個數(shù)據(jù)層次, 即對所需顯示的地圖按照圖層的重要程度設置一個顯示參數(shù), 該參數(shù)代表地圖放大到什么程度時, 才顯示該圖層。 劃分的地圖數(shù)據(jù)層次依次記為L1, L2, L3, …, 其中L1 記錄地圖中最主要的地理要素,L2記錄次重要的地理要素, L3記錄一般性地理要素, 依此類推。
實際操作時, 對地圖數(shù)據(jù)分層處理顯示參數(shù)的確定非常重要, 其選擇的優(yōu)劣直接影響地圖顯示效率。
本文依據(jù)地理要素的屬性, 按照以下原則確定顯示參數(shù)將:
?、?對于基礎地理要素, 如道路、橋梁、河流、行政區(qū)邊界等, 在國家標準《基礎地理信息要素分類與代碼》中采用要素編碼區(qū)分了其重要性特征, 可以參考其要素編碼設定顯示參數(shù);② 對于非基礎地理要素, 如學校、酒店、商業(yè)街區(qū)、街區(qū)居民地等, 其重要性特征沒有統(tǒng)一的標準, 則根據(jù)這類地理要素自身包含的等級屬性, 如酒店星級、街區(qū)面積等來確定顯示參數(shù)。
以某城市公路網(wǎng)為例, 采用道路要素編碼為顯示參數(shù)進行分層處理, 可分為4 個層次: L1 記錄城市一級、二級道路: 高速公路及環(huán)線; L2 記錄城市三級道路: 市內(nèi)主干道, L3 記錄四級道路: 市內(nèi)次干道, L4 記錄城市五級道路: 市區(qū)分支街道。 地圖顯示時, 不同層次細節(jié)顯示需要在上一層次顯示的基礎上讀入相應Li 的數(shù)據(jù)集合來支持, 如圖2 給出某城市公路網(wǎng)L1~L4 的顯示效果。
圖2 某城市公路網(wǎng)不同層次顯示效果圖
3.3 矢量地圖數(shù)據(jù)分塊方法
要提高地圖的顯示速度, 應盡量減少地圖非屏幕顯示區(qū)域的數(shù)據(jù)量, 因此需對矢量地圖進行分割形成地理范圍更小的圖塊, 并將圖塊作為嵌入式GIS 系統(tǒng)地圖數(shù)據(jù)處理的基本單元。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論