• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      跨平臺地圖SVG標(biāo)圖方法研究

      2011-06-07 01:34:48胡慶武龔書林
      電光與控制 2011年11期
      關(guān)鍵詞:標(biāo)圖跨平臺開源

      李 艷,胡慶武,龔書林

      (1.長安大學(xué)信息工程學(xué)院,西安 710064;2.武漢大學(xué)遙感信息工程學(xué)院,武漢 430079;3.武漢立得空間信息技術(shù)有限公司,武漢 430074)

      0 引言

      應(yīng)急指揮、多兵種聯(lián)合作戰(zhàn)或演習(xí)要求基于地圖一體化共享態(tài)勢。標(biāo)圖必須具有易讀性、可縮放性以及與平臺無關(guān)性,能在指揮中心、工作站和現(xiàn)場終端上快速傳遞、無縫交換和共享[1-2]。通常態(tài)勢圖標(biāo)圖方法有3種:一是使用位圖文件,但數(shù)據(jù)量大,支持縮放和旋轉(zhuǎn)易變形失真;二是建立標(biāo)圖符號模型,每一個標(biāo)圖符號由專門符號算法庫實現(xiàn),不利于標(biāo)圖人員擴展標(biāo)圖符號;三是使用SVG(Scalable Vector Graphic),以適應(yīng)以XML標(biāo)準(zhǔn)的網(wǎng)絡(luò)傳輸共享,符號擴展容易,在很多標(biāo)圖系統(tǒng)中得到使用[3-7]。隨著網(wǎng)絡(luò)化地圖態(tài)勢標(biāo)圖和信息分發(fā)系統(tǒng)的不斷擴展,各種嵌入式終端引入帶來了終端操作系統(tǒng)的多樣性,如WinCE、Windows Mobile、Palm OS、Symbian、Android、iPhone 等,給地圖標(biāo)圖技術(shù)提出了新的挑戰(zhàn)。地圖標(biāo)圖需要解決在各種桌面系統(tǒng)和移動終端下跨平臺傳輸、顯示和交互的問題,開源Qt以其強大的功能、良好的可移植性成為一種被廣泛使用的圖形圖像開發(fā)平臺[8-10]。本文提出了基于開源Qt和SVG的跨平臺地圖標(biāo)圖方法。結(jié)合SVG和Qt特點,提出了基于Qt的SVG結(jié)構(gòu)化標(biāo)圖符號描述模型,設(shè)計了基于開源Qt的跨平臺SVG標(biāo)圖符號體系,進一步提出了動態(tài)標(biāo)圖方法,采用同一個標(biāo)圖內(nèi)核編譯了不同操作系統(tǒng)下的標(biāo)圖原型,解決了不同操作系統(tǒng)下地圖標(biāo)圖應(yīng)用,顯示效率和效果均能滿足智能應(yīng)用要求。

      1 跨平臺地圖標(biāo)圖需求與Qt SVG

      標(biāo)圖要解決兩方面問題:一是跨部門快速網(wǎng)絡(luò)傳輸和交換;二是跨操作系統(tǒng)共享、表達和使用?;诮Y(jié)構(gòu)化XML的SVG是一種可縮放矢量圖形標(biāo)準(zhǔn),其擴展性強,易于交換,可解決標(biāo)圖在不同網(wǎng)絡(luò)環(huán)境中快速傳輸及在不同應(yīng)用系統(tǒng)中交換共享問題[11]。對于不同終端中標(biāo)圖符號的共享與表達,一般可設(shè)計不同操作系統(tǒng)下的支持類庫,其結(jié)果是標(biāo)圖符號開發(fā)、維護和使用不便。開源Qt是一個跨平臺的C++圖形用戶界面庫,基于Qt構(gòu)建的應(yīng)用程序可部署在多個桌面和嵌入式設(shè)備上,而無需重寫源代碼;同時,Qt是一個開源的應(yīng)用程序框架,將Qt編譯框架和SVG標(biāo)準(zhǔn)相結(jié)合[11],可以解決地圖標(biāo)圖符號網(wǎng)絡(luò)化、跨平臺傳輸和共享問題,這也是本文提出基于Qt和SVG相結(jié)合解決跨平臺標(biāo)圖技術(shù)途徑。Qt支持XML跨平臺解析,在Qt 4.1版本后通過一個 Qt SVG模塊支持 SVG 1.1、SVG 1.2的解析,通過二維圖形模塊繪制,可實現(xiàn)對SVG支持,其實現(xiàn)邏輯如圖1所示。如圖1所示,Qt通過對其XML擴展模塊Qt SVG來支持SVG解析,實現(xiàn)對SVG標(biāo)圖符號支持,然后利用Qt跨平臺繪圖模塊完成對SVG表征符號的繪制。

      圖1 基于Qt的SVG支持實現(xiàn)邏輯Fig.1 Qt extension principle to support SVG

      2 基于Qt的SVG標(biāo)圖設(shè)計

      綜合SVG矢量圖形數(shù)據(jù)格式優(yōu)點和Qt跨平臺編譯能力,可利用QtSVG模塊設(shè)計地圖標(biāo)圖符號體系,包括基于SVG的標(biāo)圖符號數(shù)據(jù)組織存儲和基于Qt的標(biāo)圖符號操作。

      2.1 基于SVG的標(biāo)圖數(shù)字組織存儲

      采用SVG 1.2格式存儲每個標(biāo)圖符號,每個SVG文件代表一個符號,常規(guī)的標(biāo)圖符號采用標(biāo)準(zhǔn)SVG格式,非常規(guī)標(biāo)圖符號采用擴展SVG格式存儲,SVG文件按標(biāo)圖編碼命名。SVG標(biāo)圖符號的數(shù)據(jù)模型如圖2所示。

      圖2 SVG標(biāo)圖符號數(shù)據(jù)模型Fig.2 Data model of SVG based on map plotting symbol

      每一個標(biāo)圖符號可按照圖2所示的SVG物理模型定義其標(biāo)準(zhǔn)狀態(tài),包括符號尺寸、可見性、填充和符號中圖元對象。圖3給出了基于SVG格式定義的一組典型的標(biāo)圖符號(海軍(點)、進攻方向(線)和配置區(qū)域(面))顯示效果。

      圖3 不同類型的標(biāo)圖符號Fig.3 Different types of map plotting symbol

      標(biāo)圖文檔同樣按照XML格式自定義組織,為了提高解析效率,每一個標(biāo)圖文檔中包含的標(biāo)圖符號通過編碼區(qū)分,一個標(biāo)圖文檔可以按照如下示例格式定義。

      其中,Items結(jié)點存儲當(dāng)前文檔包含所有標(biāo)圖對象列表,Item結(jié)點存儲每個標(biāo)圖符號對象,其屬性包括code(標(biāo)圖符號編碼)、x&y(標(biāo)注坐標(biāo))、scale(符號縮放參數(shù))、rotation(符號旋轉(zhuǎn)角度)。每一個Item對應(yīng)一個CPlottingPointItem或者CPlottingLineItem實體對象。

      標(biāo)圖符號制作可在支持SVG文檔編輯的二維矢量制圖軟件中完成,通常可采用AutoCAD、SVGDeveloper等軟件工具。

      2.2 基于Qt的標(biāo)圖符號操作

      Qt SVG模塊可實現(xiàn)標(biāo)圖符號的加載、顯示和編輯操作,其中標(biāo)圖符號編輯功能包括標(biāo)圖符號的增、刪、改、縮放、旋轉(zhuǎn)等。實際上,Qt平臺下地圖標(biāo)圖符號直接繼承GDI+繪制機制,利用Qt對GDI+的跨平臺編譯能力實現(xiàn)在此框架上的標(biāo)圖操作。一個基于Qt的標(biāo)圖符號組件包含兩層結(jié)構(gòu):一是數(shù)據(jù)交互層,實現(xiàn)標(biāo)圖符號存取;二是用戶交互層,提供用戶編輯交互接口,包括鼠標(biāo)和鍵盤操作,并將用戶編輯結(jié)果保存,其對象體系如圖4所示。

      圖4 基于Qt的標(biāo)圖操作對象體系Fig.4 Object architecture of map plotting operation based on Qt

      圖4中,CPlottingDocument對象實現(xiàn)標(biāo)圖文檔管理,CSvgItem對象完成標(biāo)圖SVG文件及XML文檔解析及繪制,CPlottingItem對象繼承于Qt的QGraphicsSvgItem,實現(xiàn)標(biāo)圖編輯。

      3 動態(tài)標(biāo)圖實現(xiàn)技術(shù)

      動態(tài)標(biāo)圖對于豐富標(biāo)圖形式、提高標(biāo)圖效果和擴展標(biāo)圖應(yīng)用非常有效。采用SVG組織的標(biāo)圖符號可利用Qt的圖形顯示框架實現(xiàn)在不同平臺中的標(biāo)圖動態(tài)推演,其基本原理是利用Qt提供的QGraphicsItem-Animationhes對象與SVG標(biāo)圖符號關(guān)聯(lián),該對象具有改變位置、旋轉(zhuǎn)、尺寸縮放和裁剪等方法,允許以時間線方式讓動畫在視圖上以一個穩(wěn)定的速度操作。本文提出可采用Qt中時間觸發(fā)管理對象QTimeLine來控制動畫時間參數(shù)。為了實現(xiàn)以上標(biāo)圖動畫過程,本文基于開源Qt提供的圖形顯示框架在開源Qt的基礎(chǔ)上擴展一個CSvgAnimation對象,該對象繼承于QgraphicsItemAnimationhes對象,但根據(jù)與時間控制對象的結(jié)合重寫相應(yīng)接口,具備了特定動畫幀管理方實現(xiàn)標(biāo)圖符號的動畫播放,達到動態(tài)標(biāo)圖目的。如圖5所示為線狀標(biāo)圖動態(tài)推演流程圖。

      圖5 標(biāo)圖符號動態(tài)推演流程圖Fig.5 Dynamic deduction flow chart of map plotting

      4 實驗結(jié)果分析

      為驗證基于開源Qt的跨平臺標(biāo)圖技術(shù)合理性,以本文設(shè)計的標(biāo)圖符號模型在SVGDeveloper軟件中設(shè)計了238種標(biāo)圖符號。以開源Qt 4.1.5版本源代碼為基礎(chǔ),以本文提出的標(biāo)圖技術(shù)和符號體系分別編譯了Qt for WindowsXP和 Qt for Windows Mobile 5.0兩套執(zhí)行程序。如圖6所示為兩套軟件導(dǎo)入同樣標(biāo)圖文檔和地圖數(shù)據(jù)運行效果。

      圖6 不同平臺下的標(biāo)圖效果Fig.6 Map plotting result of different operation systems

      由圖6可見,本文提出的標(biāo)圖符號技術(shù)能夠適應(yīng)不同的操作系統(tǒng)平臺,并且與標(biāo)圖系統(tǒng)顯示界面的配置無關(guān),充分體現(xiàn)了SVG共享交換特點和開源Qt的跨平臺編譯能力,具有較好的通用性。在這種體系下,地圖標(biāo)圖可以在不同的桌面系統(tǒng)和移動終端間進行傳輸、顯示和交互,無需單獨的符號庫支持,只需通過標(biāo)圖編碼即可實現(xiàn)標(biāo)圖意圖的共享,降低了在不同系統(tǒng)間共享信息的安全性和對通信網(wǎng)絡(luò)的要求。

      圖7給出了基于本文動態(tài)標(biāo)圖技術(shù)實現(xiàn)的標(biāo)圖推演中3個關(guān)鍵幀效果。

      圖7 動態(tài)標(biāo)圖推演效果Fig.7 Deduction result of dynamic map plotting

      由圖7可見,本文設(shè)計的動態(tài)標(biāo)圖技術(shù)充分利用了Qt的二維動畫圖形框架和Qt對時間的控制管理,SVG標(biāo)圖能夠按照設(shè)計的推演路徑平滑運動,并且可以利用SVG文件中初始旋轉(zhuǎn)矩陣與路徑矢量進行矩陣變換,實現(xiàn)了在推演過程中不同狀態(tài)參數(shù)的設(shè)置和顯示。

      5 結(jié)論

      SVG以其不斷完善的標(biāo)準(zhǔn)使得標(biāo)圖符號的表達規(guī)范具有結(jié)構(gòu)性、完備性等特點,為標(biāo)圖符號的網(wǎng)絡(luò)共享和互操作提供一個基礎(chǔ)解決方案。開源Qt為標(biāo)圖系統(tǒng)的跨平臺編譯應(yīng)用提供了支持環(huán)境,本文將開源Qt和SVG相結(jié)合,提出了一種面向多形式網(wǎng)絡(luò)環(huán)境下標(biāo)圖技術(shù),該方法通過跨平臺SVG標(biāo)圖技術(shù)實現(xiàn)地圖標(biāo)圖在不同桌面操作系統(tǒng)和移動終端間的傳輸、顯示進而交互,只需通過標(biāo)圖編碼即可實現(xiàn)標(biāo)圖意圖的共享,對于利用標(biāo)圖進行指揮與響應(yīng)信息的快速分發(fā)、共享和應(yīng)用提供了技術(shù)手段,有利于多終端網(wǎng)絡(luò)標(biāo)圖系統(tǒng)標(biāo)圖操作、擴展和軟件系統(tǒng)的維護,可有效地提高標(biāo)圖信息的安全性,降低標(biāo)圖意圖傳遞的網(wǎng)絡(luò)要求,對于提高標(biāo)圖能力和擴展標(biāo)圖應(yīng)用具有較高的實用價值。

      [1]胥少卿,路建偉,錢葉魁,等.基于SVG的戰(zhàn)術(shù)標(biāo)圖系統(tǒng)設(shè)計與研究[J].電光與控制,2006,13(2):101-104.

      [2]巨亞榮,劉小兵.SVG技術(shù)在軍事標(biāo)圖中的應(yīng)用研究[J].重慶科技學(xué)院學(xué)報:自然科學(xué)版,2008,10(3):118-120.

      [3]JIANG Lili,QI Qingwen ,ZHANG An.The thematic mapping system on internet[C]//Proceeding of 18th International Conference on Geoinformatics,Beijing,2010:1-4.

      [4]趙恩來,郝文寧,趙水寧,等.改進的基于密度方法的態(tài)勢聚類顯示算法[J].計算機工程,2010,36(18):35-37.

      [5]尹章才,李霖,朱海紅,等.基于SVG的地圖符號描述模型研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2004,29(6):544-547.

      [6]王錚,李霖.基于SVG的面狀地圖符號設(shè)計與實現(xiàn)[J].測繪科學(xué),2007,32(3):169-170.

      [7]周文生.基于SVG的WebGIS研究[J].中國圖像圖形學(xué)報,2002,7(7):693-698.

      [8]趙毅,游有鵬.基于Qt/Embedded的嵌入式數(shù)控系統(tǒng)人機界面設(shè)計與開發(fā)[J].工業(yè)控制計算機,2008,21(4):68-71.

      [9]宋榮.基于Qt/Embedded的嵌入式系統(tǒng)GUI開發(fā)[J].機電工程,2009,26(4):90-93.

      [10]DAL HEIMER M K,HANSEN S.Embedded development with Qt/embedded [J].Dr.Dobbps Journal,2002,27(3):48-53.

      [11]DELALANDRE M,HéROUX P,ADAM S ,et al.A statistical and structural approach for symbol recognition using XML modeling[J].Lecture Notes in Computer Science,2002,2396:201-238.

      猜你喜歡
      標(biāo)圖跨平臺開源
      重磅!廣東省“三舊”改造標(biāo)圖入庫標(biāo)準(zhǔn)正式發(fā)布!
      從技能生成規(guī)律入手優(yōu)化作戰(zhàn)標(biāo)圖技能訓(xùn)練方法
      西部論叢(2020年2期)2020-10-21 09:27:54
      五毛錢能買多少頭牛
      跨平臺APEX接口組件的設(shè)計與實現(xiàn)
      補孔井標(biāo)圖校深問題分析
      大家說:開源、人工智能及創(chuàng)新
      開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      開源計算機輔助翻譯工具研究
      基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計與實現(xiàn)
      基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
      都兰县| 同心县| 乌拉特中旗| 大安市| 于都县| 泗洪县| 昆明市| 富平县| 科技| 开原市| 香河县| 敦煌市| 云林县| 张掖市| 济阳县| 沂水县| 牟定县| 泾川县| 阿拉善右旗| 华宁县| 子洲县| 五寨县| 汤原县| 安丘市| 兴安县| 天气| 怀安县| 千阳县| 绵竹市| 洪湖市| 拜泉县| 满城县| 西林县| 平远县| 和龙市| 陇西县| 酒泉市| 济宁市| 临江市| 客服| 海伦市|