新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式Linux下基于MiniGUI的GIS實現(xiàn)

嵌入式Linux下基于MiniGUI的GIS實現(xiàn)

作者: 時間:2012-03-26 來源:網(wǎng)絡 收藏

此外,系統(tǒng)采用了一些數(shù)據(jù)壓縮方法。對數(shù)據(jù)的壓縮方法通??煞譃閷ψ鴺它c有損壓縮和坐標點無損壓縮。由于嵌入式設備的存儲器容量有限,而系統(tǒng)數(shù)據(jù)量很大,為提高系統(tǒng)性能,通常這兩種壓縮方法都采用。次序是先進行有損壓縮刪除不必要的點,然后再進行無損壓縮,將空間數(shù)據(jù)變?yōu)橄鄬ψ鴺耍詼p少單個坐標點的存儲空間。具體采用的方法如下。

1)刪除在一條筆直的道路上的中間結點,只保留首尾兩點。

2)將雙精度型或浮點型的坐標映射為整型坐標,數(shù)據(jù)量可以減少一半。

3)每一條弧段(包括區(qū)域邊界和線狀地物)只記錄其起點坐標(x,y),其后續(xù)點坐標用相鄰兩點間的x、y的偏移量代替,即弧段除起始點以外的其它后續(xù)點只需用短整型記錄,這樣就可以將數(shù)據(jù)量壓縮到原來的1/4左右。

4.2 顯示速度

為提高地圖顯示和刷新速度,采用了以下處理技術。

1)引入一個內(nèi)存DC,首先利用內(nèi)存DC繪制地圖。當需要顯示地圖時,利用BitBlt函數(shù)將內(nèi)存DC中的地圖復制到顯示DC上。

2)系統(tǒng)引入變量m_pCSections和IDS。變量m_pCSections是一個鏈表,該鏈表中每個元素代表上次顯示時讀取的圖塊頭信息。IDS也是一個鏈表,其中每個元素為m_pCSections中與當前視窗有交集的圖塊的ID號。具體處理步驟如下:

(1) 對m_pCSections中每一個元素,判斷它與當前視窗是否有交集,若沒有交集,則從m_pCSections中刪除該元素。

(2) 對m_pCSections中的每個元素,將它的ID號添加到鏈表IDS中。

(3) 對數(shù)據(jù)集中的每個圖塊,循環(huán)執(zhí)行以下操作:

判斷該圖塊的ID號是否在IDS中,若在,則從IDS中將該ID號刪除,繼續(xù)處理下一圖塊。

若不在,則從數(shù)據(jù)文件中讀取該圖塊的圖塊頭信息,根據(jù)它的圖塊頭信息判斷該圖塊與當前視窗是否有交集。若交集不為空,則從數(shù)據(jù)文件中讀取該圖塊的具體圖層信息;若交集為空,則釋放為該圖塊頭信息分配的存儲空間。

3)數(shù)據(jù)文件中存放每一條線段和面的最小外擴矩形的左上角和右下角信息,這樣,就不需在程序中求它的最小外擴矩形,提高了顯示速度。

4.3 界面設計

由于嵌入式設備的顯示屏幕通常很小,分辨率也不高,而顯示一幅較滿意的地圖又需要一定的屏幕空間,這就需要盡量減少其它元素占用的空間以將盡可能多的區(qū)域留給地圖顯示。為此,在嵌入式系統(tǒng)中通常將界面元素設計為按需顯示。為此,系統(tǒng)中將菜單設計為彈出式菜單,僅當用戶需要時才彈出以使用戶執(zhí)行所需的功能。

5 結束語

系統(tǒng)利用在Linux上實現(xiàn)了一個嵌入式,該系統(tǒng)能完成電子地圖的顯示、放大、縮小、漫游等基本功能。但如何實現(xiàn)GPS導航、信息查詢、GSM/GPRS通信等功能還需進一步研究。

本文創(chuàng)新點:本文提供了一種面向手持設備的的實現(xiàn)方案—采用上實現(xiàn)GIS,并提供了一種提高地圖顯示和漫游速度的處理方法。

參考文獻

[1] 汪亞雷, 余春暄. 基于的MapInfo格式地圖顯示[J]. 微計算機信息, 2006,10-2:184-186.

[2] 周立功. ARM嵌入式初步與應用開發(fā)范例[M]. 北京:北京航空航天大學出版社,2006, 7-144.

[3] 北京飛漫軟件技術有限公司. MiniGUI編程指南, 2004.

[4] 北京飛漫軟件技術有限公司. MiniGUI用戶手冊, 2004.


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉