亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式GIS圖形中間件的設(shè)計與實現(xiàn)

        2010-09-28 01:19:10劉小林華一新張江水
        測繪通報 2010年11期
        關(guān)鍵詞:嵌入式操作系統(tǒng)中間件調(diào)用

        劉小林,華一新,葛 文,張江水

        (信息工程大學測繪學院,河南鄭州450052)

        嵌入式GIS圖形中間件的設(shè)計與實現(xiàn)

        劉小林,華一新,葛 文,張江水

        (信息工程大學測繪學院,河南鄭州450052)

        導(dǎo)航儀、手機地圖等嵌入式GIS已經(jīng)深入人們?nèi)粘I?,然而時下開發(fā)嵌入式GIS軟件時需要針對不同的嵌入式軟、硬件平臺編寫不同的代碼。設(shè)計并實現(xiàn)了嵌入式GIS圖形中間件,基于CG-GDI開發(fā)的嵌入式GIS可以在不同的嵌入式軟、硬件平臺上使用,達到“一套代碼,隨處運行”的目的。

        嵌入式;GIS;中間件;圖形

        一、引 言

        目前,嵌入式GIS已經(jīng)深入人們的日常生活,車載導(dǎo)航儀、手機地圖隨處可見。但是嵌入式硬件與嵌入式操作系統(tǒng)的多樣性,為開發(fā)嵌入式GIS帶來了極大的不便,而其中不同嵌入式操作系統(tǒng)間關(guān)于圖形設(shè)備接口的描述則是差異最大的部分,也是嵌入式GIS系統(tǒng)平臺在不同操作系統(tǒng)間移植的最大障礙;另一方面,由于嵌入式應(yīng)用的多樣性,GIS人員不能開發(fā)出完全適合于實際應(yīng)用需求的嵌入式應(yīng)用系統(tǒng),而各個應(yīng)用領(lǐng)域的開發(fā)者往往又會因嵌入式GIS開發(fā)所涉及的專業(yè)性而放棄。

        針對上述問題,筆者設(shè)計了嵌入式GIS圖形中間件(common GIS-GDI,CG-GDI)。CG-GDI是基于中間件的思想專為嵌入式GIS設(shè)計的一個通用的圖形繪制具體實現(xiàn)層,它的主旨是抽取各嵌入式系統(tǒng)圖形繪制中硬件和操作系統(tǒng)上的共性問題,屏蔽它們的差別,向上層GIS應(yīng)用程序提供簡單統(tǒng)一的圖形設(shè)備接口,從而減少開發(fā)人員在開發(fā)不同嵌入式GIS系統(tǒng)時的難度和工作量。

        設(shè)計CG-GDI的目的是為了做到“一套代碼,隨處運行”。不同軟、硬件平臺上為GIS系統(tǒng)提供的基本圖形繪制接口是不一樣的,將這些圖形繪制接口進行封裝,向外提供一致的接口形成CG-GDI,這樣,異構(gòu)(操作系統(tǒng)和硬件不同)的嵌入式GIS應(yīng)用程序就可以調(diào)用相同的圖形繪制接口進行GIS的開發(fā)。如果基于CG-GDI開發(fā)的GIS系統(tǒng)使用純C/C++編寫代碼,就可以達到“一套代碼,隨處運行”的目的。

        二、國內(nèi)外研究現(xiàn)狀

        目前國內(nèi)外沒有專門針對嵌入式GIS系統(tǒng)開發(fā)的圖形系統(tǒng),嵌入式圖形中間件方面的產(chǎn)品只有幾個圖形GUI系統(tǒng),國內(nèi)的主要有Mini-GUI,國外比較成熟的嵌入式圖形GUI系統(tǒng)是QT/Embedded。

        Mini-GUI由原清華大學教師魏永明先生開發(fā),遵循GPL條款。它是一個高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統(tǒng),具有跨硬件平臺、跨操作系統(tǒng)的可移植性,主要運行于Linux控制臺,實際可以運行在任何一種具有POSIX線程支持的POSIX兼容系統(tǒng)上。Mini-GUI最初是為了滿足一個工業(yè)控制系統(tǒng)的需求而設(shè)計和開發(fā)的,它在設(shè)計之初就考慮到了小巧、高性能和高效率,因此比較適合于工控領(lǐng)域的簡單應(yīng)用。目前Mini-GUI已廣泛應(yīng)用于手持信息終端、機頂盒、工業(yè)控制系統(tǒng)及工業(yè)儀表等產(chǎn)品和領(lǐng)域。

        QT/Embedded最初是由著名的 QT庫開發(fā)商Trolltech開發(fā)的面向嵌入式系統(tǒng)的 QT版本,現(xiàn)在QT/Embedded QT可以用于Windows、Unix、Linux、嵌入式Linux和Macos X,它的主要特點是可移植性較好,許多基于QT的X Window程序可以非常方便地移植到嵌入式系統(tǒng)。它是一個多平臺的C++圖形用戶界面應(yīng)用程序框架,注重于能給用戶提供精美的圖形用戶界面所需要的所有元素。QT/Embedded偏重于便攜式和手持PC/Device的需求,缺點是代碼不對外開放。

        三、CG-GDI的設(shè)計

        1.CG-GDI的作用

        (1)CG-GDI在嵌入式GIS中的位置

        CG-GDI在嵌入式GIS中的位置如圖1所示。

        圖1 CG-GDI在嵌入式GIS中的位置圖

        從圖1可以看出,CG-GDI的下層是嵌入式操作系統(tǒng)和嵌入式硬件平臺,上層是嵌入式GIS應(yīng)用程序和各嵌入式操作系統(tǒng)下的GUI系統(tǒng)。它是介于界面GUI和各嵌入式系統(tǒng)提供的底層繪制函數(shù)之間的一個圖形繪制具體實現(xiàn)層,它對任何嵌入式系統(tǒng)下的GIS應(yīng)用程序提供的接口都是一致的,這樣開發(fā)嵌入式GIS應(yīng)用程序時就不用再區(qū)分下層是何種操作系統(tǒng)和硬件平臺。

        (2)CG-GDI與GUI的聯(lián)系和區(qū)別

        CG-GDI主要包括的是點、線、面等的圖形繪制技術(shù),只不過它適用于不同的嵌入式軟、硬件平臺,它只為嵌入式GIS系統(tǒng)提供基本繪圖功能的函數(shù)庫。

        而嵌入式圖形界面GUI主要是指建立具有窗口元素及各種構(gòu)建(包括菜單、按鈕、對話框、滾動條等)的用戶界面函數(shù)庫,它不僅包括基本的圖形繪制方法,而且還包括窗口、對話框等可視化界面資源,以及基于窗口等界面元素的消息傳遞機制等。

        (3)CG-GDI的功能

        CG-GDI是專為嵌入式GIS系統(tǒng)開發(fā)的圖形設(shè)備接口,其作用主要是提供嵌入式GIS繪圖方面的函數(shù)。為了滿足嵌入式GIS的繪圖需求,CG-GDI需要具備以下幾個方面的功能:① 點、線以及多邊形的繪制;② 橢圓和弧的繪制;③ 多邊形的填充;④橢圓和餅的填充;⑤ 文字的繪制;⑥ 位圖的繪制;⑦畫筆的設(shè)置;⑧ 畫刷的設(shè)置;⑨ 字體字大的設(shè)置;⑩繪制區(qū)域的設(shè)置。

        2.CG-GDI的體系結(jié)構(gòu)

        嵌入式系統(tǒng)在硬件上的差別主要在于CPU的不同,有兩個種類:PowerPC系列CPU和X86系列CPU。PowerPC是早期Motorola和IBM聯(lián)合為Apple的MAC機開發(fā)的CPU芯片,X86是一個Intel通用計算機系列的標準編號縮寫。兩者的差別是讀寫字節(jié)序的不同,PowerPC系列CPU是大端字節(jié)序的,高字節(jié)數(shù)據(jù)存放在低地址處,低字節(jié)數(shù)據(jù)存放在高地址處;X86系列CPU是小端字節(jié)序的,低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處。

        嵌入式系統(tǒng)在底層軟件上的差別主要是操作系統(tǒng)的不同,現(xiàn)在流行的嵌入式操作系統(tǒng)有Vx-Works、Linux和WinCE等,不同的操作系統(tǒng)提供的底層圖形函數(shù)是不一樣的。

        基于底層的嵌入式軟硬件平臺,設(shè)計的CG-GDI的體系結(jié)構(gòu)如圖2所示。

        圖2 嵌入式GIS圖形中間件體系結(jié)構(gòu)圖

        不同的圖形API函數(shù)封裝為統(tǒng)一的接口,為上層GIS應(yīng)用提供服務(wù)。CG-GDI向下屏蔽了不同硬件平臺和操作系統(tǒng)平臺的差異,向上為用戶提供了統(tǒng)一的嵌入式GIS圖形服務(wù),大大降低了開發(fā)嵌入式GIS應(yīng)用系統(tǒng)的難度和復(fù)雜度。

        四、CG-GDI的實現(xiàn)

        1.CG-GDI的實現(xiàn)

        整合軟硬件的差異有兩種方式:①文件庫級別的整合,所有系統(tǒng)下的庫文件都生成,上層在不同的系統(tǒng)下再調(diào)用相應(yīng)的庫;②代碼級別的整合,不同的系統(tǒng)下調(diào)用不同的函數(shù)代碼,上層只調(diào)用相應(yīng)系統(tǒng)下的代碼,編譯時不生成其他的系統(tǒng)下的庫文件。

        CG-GDI實現(xiàn)的基本思路是:首先制定統(tǒng)一的嵌入式GIS圖形設(shè)備接口,不同的系統(tǒng)下調(diào)用其自身的圖形包實現(xiàn)這些圖形設(shè)備接口,其中與硬件相關(guān)的圖形設(shè)備接口(如位圖的獲取等)函數(shù)的實現(xiàn)時首先判斷是何種CPU系列,再調(diào)用不同的方式實現(xiàn);調(diào)用CD-GDI構(gòu)建嵌入式GIS應(yīng)用系統(tǒng)時只調(diào)用統(tǒng)一的圖形設(shè)備接口,但要設(shè)置嵌入式系統(tǒng)硬件標識和操作系統(tǒng)標識,CD-GDI通過標識來判斷是何種系列CPU和嵌入式操作系統(tǒng),從而確定使用何種方式讀寫數(shù)據(jù)和調(diào)用何種系統(tǒng)下的圖形包。

        通過宏定義的方式來定義不同的嵌入式硬件和操作系統(tǒng),定義相應(yīng)的硬件宏參數(shù)和操作系統(tǒng)宏參數(shù)執(zhí)行與該硬件和操作系統(tǒng)相關(guān)的代碼。如配置文件中就可以通過#define_X86_CPU_或者#define_POWERPC_CPU_來標識不同的硬件。

        通過參考不同的操作系統(tǒng)下的圖形設(shè)備類,根據(jù)嵌入式系統(tǒng)的特點,設(shè)計出CG-GDI的類結(jié)構(gòu),主要由以下幾個部分組成:設(shè)備環(huán)境類、畫筆類、畫刷類、字體類、圖形區(qū)域類、位圖類,如圖3所示。

        圖3 CG-GDI總體類結(jié)構(gòu)圖

        CG-GDI以設(shè)備環(huán)境類為中心,調(diào)用畫筆類、畫刷類、字體類、圖形區(qū)域類、位圖類等決定設(shè)備環(huán)境的狀態(tài),設(shè)備環(huán)境類再向GIS應(yīng)用提供圖形圖像的繪制功能。而不同的系統(tǒng)下,設(shè)備環(huán)境類和位圖類通過不同的方式來實現(xiàn)。

        2.基于CG-GDI的GIS開發(fā)

        基于CG-GDI開發(fā)嵌入式GIS的流程如圖4所示。

        圖4 基于CG-GDI開發(fā)嵌入式GIS流程圖

        首先要確定嵌入式操作系統(tǒng)和CPU硬件類型,再將相關(guān)參數(shù)傳進CG-GDI對其進行初始化,調(diào)用CG-GDI構(gòu)建地圖模塊、分析查詢模塊和軍標模塊等GIS組件,并對各GIS組件進行初始化,而各個嵌入式系統(tǒng)在自己的界面系統(tǒng)中調(diào)用GIS模塊和CGGDI構(gòu)建GIS系統(tǒng)。當然,嵌入式GIS系統(tǒng)也可以不調(diào)用界面系統(tǒng),直接調(diào)用CG-GDI繪制用戶交互界面,再調(diào)用GIS模塊組成嵌入式GIS系統(tǒng)。

        下面各圖是試驗中基于CG-GDI構(gòu)建的嵌入式GIS系統(tǒng),圖5所示是VxWorks下的GIS系統(tǒng),調(diào)用了Zinc界面庫;圖6所示是Linux下沒有調(diào)用GUI系統(tǒng)構(gòu)建的GIS系統(tǒng),使用鍵盤對地圖進行操作;圖7所示是WinCE下的GIS系統(tǒng),調(diào)用了MFC庫。

        圖5 VxWorks下的GIS系統(tǒng)

        圖6 Linux下的GIS系統(tǒng)

        圖7 WinCE下的GIS系統(tǒng)

        五、總 結(jié)

        圖形是GIS的基礎(chǔ),作為通用GIS圖形基礎(chǔ)的CG-GDI適用于VxWorks、Linux和WinCE等系統(tǒng),以及PowerPC和X86系列CPU,基于CG-GDI開發(fā)的GIS系統(tǒng)不需要修改代碼就可以在這些軟硬件平臺上運行。

        本文的CG-GDI是在參考各嵌入式操作系統(tǒng)圖形設(shè)備接口的基礎(chǔ)上設(shè)計的,并且在VxWorks、嵌入式Linux和WinCE系統(tǒng)下得到了具體的實現(xiàn),具有以下幾個方面的特點:

        1)專為嵌入式GIS設(shè)計。嵌入式GIS與一般的界面程序有許多不一致的地方,雖然沒有太復(fù)雜的圖形繪制,但是每次繪制工作量都特別大,CGGDI是專為嵌入式GIS的這些特點設(shè)計的圖形設(shè)備接口。

        2)具有方便實用的特點。CG-GDI在不同的硬件和操作系統(tǒng)上使用無須進行復(fù)雜的移植,只需簡單地設(shè)置幾個參數(shù),CG-GDI就可以在不同的嵌入式GIS系統(tǒng)中使用。

        3)具有較好的執(zhí)行效率。不同系統(tǒng)下CG-GDI都是基于底層系統(tǒng)函數(shù)實現(xiàn)的,沒有使用第三方開發(fā)的編程包,所以CG-GDI具有較高的執(zhí)行效率,這也能滿足嵌入式高效的要求。

        4)具有易擴展性的特點。雖然筆者已經(jīng)實現(xiàn)了VxWorks、Linux和WinCE系統(tǒng)下的CG-GDI,但其實CG-GDI是針對所有的嵌入式GIS系統(tǒng)的,要在其他的嵌入式操作系統(tǒng)下實現(xiàn)CG-GDI,只需繼承CG-GDI的相關(guān)虛類,具體實現(xiàn)其接口。

        5)具有可裁剪的特點。用戶在使用CG-GDI時,并不是在所有的操作系統(tǒng)下使用,可以針對特定的用戶裁剪掉多余操作系統(tǒng)下CG-GDI的實現(xiàn)。

        [1] 華一新,吳升,趙軍喜.地理信息系統(tǒng)原理與技術(shù)[M].北京:解放軍出版社,2001.

        [2] 羅國慶.VxWorks與嵌入式軟件開發(fā)[M].北京:機械工業(yè)出版社,2003.

        [3] RIVER W.VxWorks程序員指南[M].王金剛,高偉,等譯.北京:清華大學出版社,2003.

        [4] 高俊.地理空間數(shù)據(jù)的可視化[J].測繪工程,2000,9(3):

        1-7.

        Design and Implementation of Common GIS-GDI

        LIU Xiaolin,HUA Yixin,GE Wen,ZHANG Jiangshui

        0494-0911(2010)11-0058-04

        P208

        B

        2009-11-10

        劉小林(1982—),男,湖南衡陽人,博士生,主要從事GIS的研究與開發(fā)。

        猜你喜歡
        嵌入式操作系統(tǒng)中間件調(diào)用
        核電項目物項調(diào)用管理的應(yīng)用研究
        典型實時嵌入式操作系統(tǒng)應(yīng)用分析
        電子測試(2018年23期)2018-12-29 11:11:30
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計
        應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學改革探索
        中間件在高速公路領(lǐng)域的應(yīng)用
        利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
        免费一级欧美大片久久网| 亚洲中文字幕成人无码| 亚洲永久无码7777kkk| 久久九九青青国产精品| 亚洲在中文字幕乱码熟女| 亚洲中文久久精品字幕| 国产精品久久久久久久久岛| 精品十八禁免费观看| 久久精品国产亚洲av热九| 丝袜美腿视频一区二区| 最新系列国产专区|亚洲国产| 精品国产福利一区二区在线| 美女露屁股无内裤视频| 日本最新一区二区三区在线视频| 免费无码一区二区三区蜜桃| 国产精品片211在线观看| 色青青女同性恋视频日本熟女| 国内精品少妇高潮视频| 骚片av蜜桃精品一区| 夜夜爽无码一区二区三区| 色佬易精品视频免费在线观看| 精品欧美一区二区三区久久久| 一本加勒比hezyo无码人妻| 成人无码区免费AⅤ片WWW| 日韩精品人妻视频一区二区三区| 在办公室被c到呻吟的动态图| 波多野结衣免费一区视频| 成人国产在线播放自拍| 久久黄色国产精品一区视频| 97人人模人人爽人人喊电影 | 欧美激情一区二区三区| 国产成人无码aⅴ片在线观看| 中文乱码字幕在线中文乱码 | 99精品国产丝袜在线拍国语| 福利片福利一区二区三区| 国产一区亚洲一区二区| 欧洲美熟女乱av亚洲一区 | 欧美性猛交xxxx三人| 伊人婷婷在线| 国产午夜福利av在线麻豆| 极品老师腿张开粉嫩小泬|