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

跨平臺地圖SVG標圖方法研究

2011-06-07 01:34:48胡慶武龔書林
電光與控制 2011年11期
關鍵詞:跨平臺符號

李 艷,胡慶武,龔書林

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

0 引言

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

1 跨平臺地圖標圖需求與Qt SVG

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

圖1 基于Qt的SVG支持實現邏輯Fig.1 Qt extension principle to support SVG

2 基于Qt的SVG標圖設計

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

2.1 基于SVG的標圖數字組織存儲

采用SVG 1.2格式存儲每個標圖符號,每個SVG文件代表一個符號,常規的標圖符號采用標準SVG格式,非常規標圖符號采用擴展SVG格式存儲,SVG文件按標圖編碼命名。SVG標圖符號的數據模型如圖2所示。

圖2 SVG標圖符號數據模型Fig.2 Data model of SVG based on map plotting symbol

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

圖3 不同類型的標圖符號Fig.3 Different types of map plotting symbol

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

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

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

2.2 基于Qt的標圖符號操作

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

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

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

3 動態標圖實現技術

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

圖5 標圖符號動態推演流程圖Fig.5 Dynamic deduction flow chart of map plotting

4 實驗結果分析

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

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

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

圖7給出了基于本文動態標圖技術實現的標圖推演中3個關鍵幀效果。

圖7 動態標圖推演效果Fig.7 Deduction result of dynamic map plotting

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

5 結論

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

[1]胥少卿,路建偉,錢葉魁,等.基于SVG的戰術標圖系統設計與研究[J].電光與控制,2006,13(2):101-104.

[2]巨亞榮,劉小兵.SVG技術在軍事標圖中的應用研究[J].重慶科技學院學報:自然科學版,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]趙恩來,郝文寧,趙水寧,等.改進的基于密度方法的態勢聚類顯示算法[J].計算機工程,2010,36(18):35-37.

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

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

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

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

[9]宋榮.基于Qt/Embedded的嵌入式系統GUI開發[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.

猜你喜歡
跨平臺符號
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號的由來
跨平臺APEX接口組件的設計與實現
測控技術(2018年9期)2018-11-25 07:44:58
變符號
圖的有效符號邊控制數
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
基于OPC跨平臺通信的電機監測與診斷系統
基于B/S的跨平臺用戶界面可配置算法研究
主站蜘蛛池模板: 91久久夜色精品国产网站 | 996免费视频国产在线播放| 91网站国产| 亚洲高清在线天堂精品| 欧美在线观看不卡| 老司机久久精品视频| 2021国产在线视频| 欧美丝袜高跟鞋一区二区| 中文字幕亚洲乱码熟女1区2区| 四虎免费视频网站| 中日韩一区二区三区中文免费视频| 欧美在线视频不卡第一页| 国产SUV精品一区二区| 亚洲综合狠狠| 毛片免费视频| 女人18毛片久久| 人禽伦免费交视频网页播放| 无码'专区第一页| 国产在线无码av完整版在线观看| 亚洲av无码久久无遮挡| 欧美翘臀一区二区三区| 婷婷色丁香综合激情| 国产91无码福利在线| 国产呦精品一区二区三区下载 | 日韩欧美中文字幕在线精品| 国产精品丝袜视频| 日本午夜影院| 亚洲成人在线网| 一级毛片免费观看久| 18黑白丝水手服自慰喷水网站| 久久先锋资源| 国产成人久久777777| 国产va在线观看免费| 2022国产无码在线| 她的性爱视频| 国产成人高清精品免费软件| 99精品国产自在现线观看| 97se亚洲综合在线天天 | 国产亚洲精品自在线| 国产91特黄特色A级毛片| 午夜毛片免费看| 亚洲色精品国产一区二区三区| 在线观看国产精品日本不卡网| 国产精品真实对白精彩久久 | 国产精品人人做人人爽人人添| 欧美日韩国产成人在线观看| 国产成人精品高清不卡在线 | 干中文字幕| 一区二区三区精品视频在线观看| 一级毛片在线播放免费观看| 一本久道久久综合多人| 看你懂的巨臀中文字幕一区二区| 51国产偷自视频区视频手机观看 | 午夜国产大片免费观看| 久久精品人人做人人爽电影蜜月| v天堂中文在线| 欧美a在线看| 欧美综合中文字幕久久| 一级毛片在线免费看| 无套av在线| 精品国产91爱| 亚洲日本中文字幕乱码中文| 在线综合亚洲欧美网站| 亚洲av无码专区久久蜜芽| 亚洲av成人无码网站在线观看| 日韩在线影院| 午夜福利在线观看入口| 亚洲高清在线天堂精品| 欧美97欧美综合色伦图| 激情国产精品一区| 91视频首页| 色老二精品视频在线观看| 亚洲国产中文在线二区三区免| 一级在线毛片| 激情无码字幕综合| 午夜毛片免费看| 综合色婷婷| 亚洲欧洲国产成人综合不卡| 亚洲欧洲综合| 99re在线观看视频| 成人精品午夜福利在线播放| 日本爱爱精品一区二区|