嵌入式GIS地圖快速顯示方法的應(yīng)用
對于矢量數(shù)據(jù)的分塊方法分別是對點、線、面的矩形分割, 即將地圖數(shù)據(jù)根據(jù)屏幕顯示范圍大小橫向分為N 份, 縱向分為M 份, 形成由N×M 個同等大小的基本地理單元組成的圖塊集合。 地圖顯示時, 系統(tǒng)只需根據(jù)顯示層次讀入與顯示覆蓋區(qū)域相交的部分圖塊, 快速將地圖繪制在屏幕上。
在對地圖數(shù)據(jù)進行分塊處理時, 需要重點考慮分割圖塊的大小。 因為一定矢量數(shù)據(jù)劃分的圖塊較大, 則讀入內(nèi)存的非屏幕顯示區(qū)域的數(shù)據(jù)就會越多, 增加了不必要的冗余數(shù)據(jù); 而數(shù)據(jù)劃分的圖塊越小, 讀取數(shù)據(jù)的準備時間就越長, 且對矢量數(shù)據(jù)的分割還會增加顯示的數(shù)據(jù)量, 也會影響顯示速度。 因此在數(shù)據(jù)分塊時要根據(jù)實際屏幕顯示尺寸和地圖比例尺綜合考慮分塊大小。
若已知屏幕分辨率為L×W 像素, 地圖的比例尺為1:S, 地圖經(jīng)度覆蓋范圍X, 緯度覆蓋范圍Y, 地圖表示精度記為A, 地球圓周單位秒代表距離為m (m 為常量, m ≈31 米), 記地圖橫向劃分圖塊數(shù)量為N, 縱向劃分圖塊數(shù)量為M, 則有以下公式:
其中, X, Y 單位為秒, A=0.1×10-3×S.
以比例尺為1:50 000, 經(jīng)度范圍25', 緯度范圍15'
的矢量地圖和800×480 的屏幕為例, 可由式(2)推導(dǎo)得該地圖應(yīng)劃分為12×12 塊圖塊。
3.4 矢量地圖網(wǎng)格索引
如前文所述, 提高地圖顯示速度還必須使地圖顯示時能快速的從外存檢索和調(diào)度當前顯示范圍所涉及的矢量數(shù)據(jù), 因此還需建立空間索引。針對逐層分塊的地圖組織策略, 建立了基于文件存儲的網(wǎng)格索引。
基于文件的網(wǎng)格索引以索引文件存儲索引數(shù)據(jù), 通過名為POSITION 的位置指針可以對每個空間目標的首地址進行快速定位, 具有操作簡潔、直接訪問、適應(yīng)廣泛的優(yōu)點, 其索引結(jié)構(gòu)如圖3 所示。
圖3 基于文件的網(wǎng)格索引結(jié)構(gòu)圖
索引數(shù)據(jù)按地圖層次存儲, 每層索引數(shù)據(jù)與相應(yīng)的地圖分層數(shù)據(jù)對應(yīng)。 索引數(shù)據(jù)結(jié)構(gòu)包括索引頭、層次描述信息和每層劃分圖塊索引: 索引頭主要包括該地圖數(shù)據(jù)的名稱、編號和劃分層數(shù); 層次描述信息包括各層次的編號、左下角點坐標、分塊的寬度和高度、分塊的行數(shù)和列數(shù)以及該層圖塊索引在索引文件中的位置; 圖塊索引內(nèi)容主要包括圖塊數(shù)據(jù)在地圖數(shù)據(jù)文件中的位置指針及其地理要素概要信息, 包括標識、要素類型編碼、外接矩形、占用存儲空間大小等。
建立網(wǎng)格索引后, 地圖顯示時系統(tǒng)首先計算出當前層次覆蓋顯示區(qū)域的圖塊; 然后根據(jù)每個圖塊的地理要素信息進行重復(fù)顯示判斷, 過濾掉已經(jīng)顯示的地理要素; 再根據(jù)位置指針, 從地圖文件中讀取該圖塊的矢量數(shù)據(jù), 進行顯示處理。 因此網(wǎng)格索引能直接過濾掉非屏幕顯示區(qū)域圖塊及地理要素, 極大地減少地圖數(shù)據(jù)的讀取量, 并通過索引文件中的POSITION 指針直接從地圖文件中查找到矢量數(shù)據(jù), 有效縮短了檢索時間。
4 性能測試與分析
為驗證本文設(shè)計的嵌入式GIS 地圖快速顯示方法的有效性, 本文選擇UT6410 開發(fā)板搭建嵌入式試驗平臺進行了測試。 實驗平臺擁有主頻667MHz 的ARM處理器、128MB 內(nèi)存、8GB SD 卡存儲器和分辨率800×480 的顯示屏幕, 并搭載嵌入式Linux 系統(tǒng); 測試地圖是比例尺分別為1:50 000 和1:250 000 同一地區(qū)的全要素矢量地圖。 實驗將采用本文方法及未采用本文方法時直接全圖讀入內(nèi)存顯示方法的地圖顯示性能進行了對比測試, 實驗結(jié)果參見表1.
表1 采用逐層分塊法與全圖讀入法地圖顯示性能對比
由實驗結(jié)果可以看出, 在矢量地圖數(shù)據(jù)相同的條件下, 采用逐層分塊并建立網(wǎng)格索引方法比未采用此方法時的地圖顯示速度提高了6~8 倍, 并達到了平滑漫游和縮放的顯示要求。
5 結(jié)語
為使矢量地圖能夠在嵌入式GIS 平臺上實現(xiàn)快速顯示, 本文基于對矢量地圖顯示數(shù)學(xué)模型的分析, 從減少地圖非屏幕顯示區(qū)域的數(shù)據(jù)量和快速檢索并調(diào)度當前顯示數(shù)據(jù)兩方面入手, 引入LOD 思想構(gòu)建了逐層分塊地圖數(shù)據(jù)組織模型, 結(jié)合嵌入式矢量地圖數(shù)據(jù)訪問特點重點研究了地圖分層、分塊的策略及實施, 并在此基礎(chǔ)上建立了文件存儲的網(wǎng)格索引。 定性分析和實驗結(jié)果表明, 本文提供的方法能夠很好地滿足嵌入式環(huán)境下地圖快速顯示的要求, 有效提高地圖操作效率。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論