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