999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式GIS圖形中間件的設計與實現

2010-09-28 01:19:10劉小林華一新張江水
測繪通報 2010年11期
關鍵詞:嵌入式設備系統

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

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

嵌入式GIS圖形中間件的設計與實現

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

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

導航儀、手機地圖等嵌入式GIS已經深入人們日常生活,然而時下開發嵌入式GIS軟件時需要針對不同的嵌入式軟、硬件平臺編寫不同的代碼。設計并實現了嵌入式GIS圖形中間件,基于CG-GDI開發的嵌入式GIS可以在不同的嵌入式軟、硬件平臺上使用,達到“一套代碼,隨處運行”的目的。

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

一、引 言

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

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

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

二、國內外研究現狀

目前國內外沒有專門針對嵌入式GIS系統開發的圖形系統,嵌入式圖形中間件方面的產品只有幾個圖形GUI系統,國內的主要有Mini-GUI,國外比較成熟的嵌入式圖形GUI系統是QT/Embedded。

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

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

三、CG-GDI的設計

1.CG-GDI的作用

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

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

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

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

(2)CG-GDI與GUI的聯系和區別

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

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

(3)CG-GDI的功能

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

2.CG-GDI的體系結構

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

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

基于底層的嵌入式軟硬件平臺,設計的CG-GDI的體系結構如圖2所示。

圖2 嵌入式GIS圖形中間件體系結構圖

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

四、CG-GDI的實現

1.CG-GDI的實現

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

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

通過宏定義的方式來定義不同的嵌入式硬件和操作系統,定義相應的硬件宏參數和操作系統宏參數執行與該硬件和操作系統相關的代碼。如配置文件中就可以通過#define_X86_CPU_或者#define_POWERPC_CPU_來標識不同的硬件。

通過參考不同的操作系統下的圖形設備類,根據嵌入式系統的特點,設計出CG-GDI的類結構,主要由以下幾個部分組成:設備環境類、畫筆類、畫刷類、字體類、圖形區域類、位圖類,如圖3所示。

圖3 CG-GDI總體類結構圖

CG-GDI以設備環境類為中心,調用畫筆類、畫刷類、字體類、圖形區域類、位圖類等決定設備環境的狀態,設備環境類再向GIS應用提供圖形圖像的繪制功能。而不同的系統下,設備環境類和位圖類通過不同的方式來實現。

2.基于CG-GDI的GIS開發

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

圖4 基于CG-GDI開發嵌入式GIS流程圖

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

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

圖5 VxWorks下的GIS系統

圖6 Linux下的GIS系統

圖7 WinCE下的GIS系統

五、總 結

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

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

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

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

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

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

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

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

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

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

[4] 高俊.地理空間數據的可視化[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的研究與開發。

猜你喜歡
嵌入式設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 日本精品视频一区二区| 欧洲极品无码一区二区三区| 国产sm重味一区二区三区| 人人澡人人爽欧美一区| 久久五月天综合| AV老司机AV天堂| 日韩中文字幕免费在线观看 | 亚洲色图欧美| 亚洲色偷偷偷鲁综合| 国产情精品嫩草影院88av| 日韩免费成人| 国产精品页| 美女高潮全身流白浆福利区| 成人欧美在线观看| 在线综合亚洲欧美网站| 99精品一区二区免费视频| 91精品国产91欠久久久久| 999国产精品永久免费视频精品久久 | 亚洲精品第1页| 亚洲黄色视频在线观看一区| 在线亚洲精品自拍| 伊人久久精品无码麻豆精品| 小13箩利洗澡无码视频免费网站| 直接黄91麻豆网站| 无码精油按摩潮喷在线播放 | 在线观看免费AV网| 99久久精彩视频| 久久不卡精品| 国产91熟女高潮一区二区| 国产欧美在线观看一区| 亚洲欧洲一区二区三区| 日本一本正道综合久久dvd| 毛片免费网址| 91国语视频| 538精品在线观看| 免费视频在线2021入口| 久久婷婷人人澡人人爱91| 视频二区亚洲精品| 日韩精品无码免费一区二区三区 | 四虎影视永久在线精品| 日韩不卡高清视频| 中文国产成人精品久久| 青草娱乐极品免费视频| 不卡午夜视频| 亚洲精品无码抽插日韩| 老熟妇喷水一区二区三区| 永久免费无码成人网站| 国产精品污视频| 精品成人免费自拍视频| 国产超薄肉色丝袜网站| 一区二区三区国产| 天天爽免费视频| 亚洲av无码久久无遮挡| 国产一区二区人大臿蕉香蕉| 99热这里只有精品2| 国产精品手机在线观看你懂的| 无码日韩视频| 国产亚洲现在一区二区中文| 亚洲天堂网在线播放| 国产精品99一区不卡| 天堂亚洲网| 性欧美在线| 欧美.成人.综合在线| 国产成人综合久久精品下载| 国产精品女在线观看| 成人午夜免费视频| 自偷自拍三级全三级视频| 久久久久国产精品嫩草影院| 666精品国产精品亚洲| 欧美三级日韩三级| 国内丰满少妇猛烈精品播| 91在线视频福利| 中文字幕日韩视频欧美一区| 91美女视频在线观看| 色吊丝av中文字幕| 日韩欧美中文在线| 色老二精品视频在线观看| 久久精品国产一区二区小说| 孕妇高潮太爽了在线观看免费| 国产女人水多毛片18| 91麻豆精品国产高清在线| 亚洲欧美成人在线视频|