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