新聞中心

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

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

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

        此外,系統(tǒng)采用了一些數(shù)據(jù)壓縮方法。對(duì)數(shù)據(jù)的壓縮方法通常可分為對(duì)坐標(biāo)點(diǎn)有損壓縮和坐標(biāo)點(diǎn)無損壓縮。由于嵌入式設(shè)備的存儲(chǔ)器容量有限,而系統(tǒng)數(shù)據(jù)量很大,為提高系統(tǒng)性能,通常這兩種壓縮方法都采用。次序是先進(jìn)行有損壓縮刪除不必要的點(diǎn),然后再進(jìn)行無損壓縮,將空間數(shù)據(jù)變?yōu)橄鄬?duì)坐標(biāo),以減少單個(gè)坐標(biāo)點(diǎn)的存儲(chǔ)空間。具體采用的方法如下。

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

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

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

        4.2 顯示速度

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

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

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

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

        (2) 對(duì)m_pCSections中的每個(gè)元素,將它的ID號(hào)添加到鏈表IDS中。

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

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

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

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

        4.3 界面設(shè)計(jì)

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

        5 結(jié)束語(yǔ)

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

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

        參考文獻(xiàn)

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

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

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

        [4] 北京飛漫軟件技術(shù)有限公司. MiniGUI用戶手冊(cè), 2004.


        上一頁(yè) 1 2 3 下一頁(yè)

        關(guān)鍵詞: 嵌入式Linux MiniGUI S3C2410 GIS

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 安阳市| 大英县| 新丰县| 乡城县| 兴海县| 太仓市| 新河县| 唐山市| 宝鸡市| 藁城市| 合肥市| 监利县| 黄大仙区| 酒泉市| 依兰县| 崇信县| 奉节县| 云龙县| 伊通| 汪清县| 西丰县| 洪洞县| 民丰县| 城固县| 周口市| 海兴县| 平塘县| 九江县| 墨江| 固镇县| 府谷县| 乐平市| 米林县| 芦山县| 铜山县| 保山市| 兴和县| 信丰县| 青岛市| 卢氏县| 潼南县|