嵌入式電子地圖數(shù)據(jù)分塊組織研究
電子地圖數(shù)據(jù)包括地物點(diǎn)、線、區(qū)域等。地圖的屬性分為地區(qū)名稱、學(xué)校名稱、公司名稱等,線又分層劃分為一級(jí)道路、二級(jí)道路、三級(jí)道路、水系等?;谏鲜鲭娮拥貓D數(shù)據(jù)的特點(diǎn),根據(jù)中國(guó)行政單位的劃分,把電子地圖數(shù)據(jù)分層。電子地圖數(shù)據(jù)分層可以加快數(shù)據(jù)的讀取,也方便電子地圖數(shù)據(jù)的存儲(chǔ)。
4 嵌入式電子地圖實(shí)現(xiàn)
本文使用的嵌入式開發(fā)平臺(tái)為:cpu s3c2440,64M nandflash,64M ram,1Gsd卡,480*272 LCD。本文選擇QT/Embedded作為圖形界面,并結(jié)合雙緩沖機(jī)制QT/Embedded實(shí)現(xiàn)了嵌入式電子地圖。
使用雙緩沖畫圖,是避免地圖在漫游、放縮的時(shí)候產(chǎn)生屏幕閃爍比較常見的方法。主要過程如下:
(1)把需要顯示的網(wǎng)格,畫在OPximap上。
(2)通過bitblt()函數(shù)把QPximap上的圖像拷貝到顯示組件。
根據(jù)LCD的尺寸劃分網(wǎng)格大小,即網(wǎng)格的寬為480,長(zhǎng)為272。某一級(jí)別的電子地圖每次讀取9個(gè)網(wǎng)格數(shù)據(jù),此時(shí)LCD屏幕的大小和格網(wǎng)的大小一樣,每次讀取9個(gè)網(wǎng)格數(shù)據(jù),其中一個(gè)網(wǎng)格數(shù)據(jù)顯示在LCD屏幕上,其它8個(gè)網(wǎng)格的數(shù)據(jù)為預(yù)取數(shù)據(jù)。如圖9所示,網(wǎng)格22部分是LCD屏幕:本文引用地址:http://cafeforensic.com/article/148187.htm
如圖10所示,圖像拖至左邊邊界。程序每次讀取9個(gè)網(wǎng)格數(shù)據(jù),LCD屏幕尺寸和一個(gè)網(wǎng)格一樣大。根據(jù)LCD屏幕大小規(guī)定邊界,比如圖像向x軸正方向移動(dòng)480像素時(shí),即到了圖像左邊邊界。每次拖動(dòng)圖像至邊界,然后讀取相鄰網(wǎng)格數(shù)據(jù),重新繪制地圖,這樣處理節(jié)省了系統(tǒng)開銷,而且不需每次拖動(dòng)圖像的時(shí)候都要重新繪制地圖而造成屏幕抖動(dòng)或閃爍。
圖像向x軸正向拖動(dòng)至邊界如圖10所示,網(wǎng)格21為L(zhǎng)CD屏幕。在拖動(dòng)到邊界后,再次拖動(dòng)地圖,根據(jù)網(wǎng)格的編碼讀取其相鄰的網(wǎng)格數(shù)據(jù)。拖動(dòng)后的圖像如圖11所示,格網(wǎng)21區(qū)域是LCD屏幕。
地圖放縮時(shí),根據(jù)放縮級(jí)別,讀取相應(yīng)級(jí)別的格網(wǎng)數(shù)據(jù),重新繪制圖像并把圖像拷貝到屏幕相應(yīng)位置。在本文中,電子地圖數(shù)據(jù)放在sd卡來(lái)讀取。
5 結(jié)論
依據(jù)本文的數(shù)據(jù)組織策略,不同級(jí)別的電子地圖在嵌入式設(shè)備上漫游時(shí),圖像都可以平滑移動(dòng),時(shí)間延遲可以忽略,達(dá)到了嵌入式地圖漫游的要求。而且依據(jù)本文的數(shù)據(jù)組織策略,建立一個(gè)合適的格網(wǎng)索引機(jī)制,在搜索地圖和路徑規(guī)劃時(shí),結(jié)合搜索算法,以網(wǎng)格為單位索引,也可以加快數(shù)據(jù)搜索速度。圖12是地圖數(shù)據(jù)測(cè)試界面。
評(píng)論