• 
    

    
    

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

      ?

      態(tài)勢標繪軟件跨平臺設計與實現(xiàn)

      2015-11-25 02:59:16吳亞非臧義華
      計算機與現(xiàn)代化 2015年12期
      關鍵詞:標繪圖形符號跨平臺

      吳亞非,臧義華

      (華北計算技術研究所,北京 100083)

      0 引言

      態(tài)勢標繪軟件是在電子地圖上以交互式標圖方式為作戰(zhàn)參謀人員展現(xiàn)首長決心、反映戰(zhàn)場態(tài)勢和擬制作戰(zhàn)方案的可視化工具軟件,在幾乎所有的作戰(zhàn)應用系統(tǒng)中都是不可或缺的組成部分[1]。近年來,態(tài)勢標繪研究領域逐步擴展,技術水平日趨成熟。從二維平面標圖、三維虛擬戰(zhàn)場展現(xiàn)到二三維聯(lián)動,從美觀易用的手工標圖,到海量實時的戰(zhàn)場態(tài)勢顯示[2],從運用動畫效果推演作戰(zhàn)計劃,如實反映作戰(zhàn)過程到大幅面精準制圖,這些研究成果的推廣應用,正在助力作戰(zhàn)人員謀劃打贏信息化條件下的現(xiàn)代戰(zhàn)爭。

      與此同時,作戰(zhàn)空間的拓展要求態(tài)勢標繪軟件的應用領域向著多樣化發(fā)展,其運行環(huán)境已經(jīng)由傳統(tǒng)的Windows 操作系統(tǒng),推廣至國產(chǎn)桌面Linux 系統(tǒng)、資源受限的嵌入式VxWorks 系統(tǒng)和手持終端的Android移動系統(tǒng),甚至面向服務的網(wǎng)絡化系統(tǒng)中都有相關的研制與實現(xiàn)。聯(lián)合作戰(zhàn)時必須保證不同參謀人員對戰(zhàn)場信息理解的一致性,這就要求不同環(huán)境下繪制的態(tài)勢圖[3]顯示必須一致。

      在各種操作系統(tǒng)下基于統(tǒng)一標準研制態(tài)勢標繪軟件是理所當然的,但是一套功能完備的態(tài)勢標繪軟件必然意味著巨大的投入,不僅成本上難以控制,而且不同項目組之間很難做到全時全域?qū)π枨蠓治?、設計實現(xiàn)保持完美的一致,這種情況下態(tài)勢圖的一致性就愈發(fā)困難了。態(tài)勢標繪軟件與常用的圖形處理軟件不同,不僅必須與地理信息系統(tǒng)結合使用,而且需要根據(jù)多個位置點實時生成多達幾百個的圖形符號[4],且生成算法復雜,要求各個平臺態(tài)勢圖顯示一致,而常用圖形處理軟件跨平臺設計幾乎不需要考慮這些方面的要求,因此借鑒意義不大。態(tài)勢標繪軟件研制中跨平臺的設計主要探討了二維態(tài)勢標繪軟件跨平臺設計的解決方案,基本做到了框架共用、算法共享、成果一致的預期目的,從技術上和經(jīng)濟上都取得了良好的效果[5-6]。

      1 態(tài)勢標繪軟件的一般設計方法

      態(tài)勢標繪軟件的核心功能是標繪編輯態(tài)勢圖,圖1 展示了新建一幅態(tài)勢圖的主要流程。

      圖1 標繪態(tài)勢圖的主要流程

      背景地圖除了能夠顯示作戰(zhàn)區(qū)域外,還能為其上的圖形符號提供精準地理坐標定位,其相關功能是由第三方軟件-地理信息系統(tǒng)(GIS)實現(xiàn)的,態(tài)勢標繪軟件需要集成地理信息系統(tǒng)的相關功能;與Visio 選取不同的“樣式(Shape)”繪圖方式類似,態(tài)勢圖也是由多個不同種類、不同樣式的圖形符號組成的,而圖形符號存儲于符號庫中,初次標繪的符號采用缺省屬性顯示,標圖人員可根據(jù)需要調(diào)整顏色、大小、方向、位置等屬性后形成作戰(zhàn)方案,然后打印或保存成態(tài)勢圖文件。

      圖2 態(tài)勢標繪軟件的一般設計方法

      圖2 顯示了上述過程的設計方法。符號庫使用獨立的工具軟件制作,為了能夠在不同的視圖窗口顯示使用,其中的圖形符號應當矢量化存儲各組成圖元(視圖窗口坐標系);標繪時,對其實施視圖坐標系到世界坐標系的空間變換;編輯時,在世界坐標系中對其施加平移、旋轉、縮放等二維矩陣變換;顯示時,依靠操作系統(tǒng)定義的顯示方式,輸出到屏幕顯示;存儲時,按照約定好的標準化格式,以將圖形符號逐一存儲于文件之中。

      2 跨平臺的態(tài)勢標繪軟件設計方法

      態(tài)勢標繪系統(tǒng)功能包括圖形數(shù)據(jù)管理、圖層管理、屬性管理、文件管理、圖形編輯、顯示控制等核心功能,還包括結合特定應用的軌跡目標處理和動畫處理等標繪擴展功能[7],系統(tǒng)體系結構如圖3 所示,可以看出態(tài)勢標繪系統(tǒng)的功能較多且復雜,這就需要軟件設計從不同層次解決跨平臺問題[8]。

      圖3 態(tài)勢標繪系統(tǒng)系統(tǒng)圖

      態(tài)勢標繪軟件可能運行的平臺涵蓋了多數(shù)常見的桌面類系統(tǒng)、嵌入式系統(tǒng)和手持終端系統(tǒng),其與操作系統(tǒng)關聯(lián)的部分主要集中在I/O 讀取、顯示器渲染輸出、標繪編輯等部分[9]。針對這些問題,采用的方法如下:

      1)選擇跨平臺開發(fā)語言;

      2)設計圖元繪制中間層屏蔽系統(tǒng)差異;

      3)MVC 架構設計模式;

      4)依賴系統(tǒng)接口標準化設計,通過設計一套標準的地理信息系統(tǒng)接口,實現(xiàn)與依賴系統(tǒng)的解耦。

      2.1 開發(fā)語言的選擇

      態(tài)勢標繪軟件需要根據(jù)設置的屬性將圖形符號進行解析,這個過程需要大量復雜計算及反復的屏幕輸出渲染,實驗證明,這些都是Java 軟件的弱點。而標準C++語言本身具備跨平臺特性,利用其提供的模板類、I/O 接口等實現(xiàn)符號庫解析等核心功能,屏蔽操作系統(tǒng)帶來的差異。

      使用JNI 技術解決Java 語言訪問及接口封裝問題[10]。Android 平臺態(tài)勢標繪軟件研制時,運用系統(tǒng)自身的NDK 編譯核心代碼,通過JNI 訪問態(tài)勢標繪軟件核心功能,向上提供Java 接口解決軟件界面交互問題。

      服務化設計時,同樣采用JNI 方式實現(xiàn)對符號庫解析等核心功能的訪問,對HTTP 請求以JSON 或XML 格式的數(shù)據(jù)應答。

      圖4 說明了多種語言如何使用態(tài)勢標繪軟件內(nèi)核。

      圖4 接口關系

      2.2 圖元繪制中間層設計

      態(tài)勢標繪系統(tǒng)需要繪制大量的圖形符號,圖形符號由多個圖元組成,而操作系統(tǒng)已經(jīng)封裝了顯卡驅(qū)動并提供高級語言的圖形繪制函數(shù)庫,但不同操作系統(tǒng)之間的繪圖接口并不相同[11-12]。

      設計一套與操作系統(tǒng)無關的圖形繪制庫,屏蔽操作系統(tǒng)差異對態(tài)勢標繪軟件的影響,能夠最大化地共享符號繪制模塊。圖元繪制庫應具備圖形圖像繪制和文字顯示能力,能提供畫筆、畫刷、文本屬性設置以滿足特殊繪制效果,態(tài)勢標繪的符號相對復雜,所以路徑、區(qū)域和裁剪區(qū)能力也是必不可少的。圖元繪制中間層抽取常用圖形庫的共性能力后作統(tǒng)一設計,向上提供平臺無關的繪制接口,以解決圖形繪制的跨平臺需要,如圖5 所示。

      圖5 跨平臺的圖形繪制庫

      圖形符號顯示模塊采用操作系統(tǒng)無關接口后,能夠有效屏蔽不同操作系統(tǒng)影響。而Web 服務設計時,態(tài)勢標繪服務不應負責顯示,而是服務的請求者依賴各自顯示能力提供圖形符號的顯示功能。因此,在設計符號顯示模塊時,顯示與模型必須分開設計,只有這樣服務器端才可能有效利用桌面的設計成果。

      2.3 MVC 架構的設計模式

      顯示模塊的顯示與數(shù)據(jù)分離,只是單純?yōu)榱舜a共享,而MVC 架構設計模式是解決態(tài)勢標繪軟件跨平臺設計要求的核心思想,它實現(xiàn)了模型與顯示的分離,由于這種設計思想與具體系統(tǒng)無關,大大降低了操作系統(tǒng)對態(tài)勢標繪軟件的影響程度。

      圖6 MVC 架構設計模式

      圖6 演示了MVC 架構的基本理念,模型(Model)、視圖(View)和控制器(Controller)3 個抽象模型控制著整個系統(tǒng)的運轉,抽象的模型部分負責對象的邏輯描述[13],但與顯示無關。需要顯示時,模型通知控制器,由其更新視圖上的顯示。視圖部分只負責顯示并接受用戶的輸入,當有變化時也是通過控制器更新對象模型。MVC 的設計理念將模型與顯示分離開來,模型與數(shù)據(jù)的關系可以是一對多的關系,允許同一套數(shù)據(jù)模型在多個不同的視圖上顯示。

      采用MVC 架構模式,對態(tài)勢圖對象、態(tài)勢圖層對象和圖形符號模型與顯示分開設計,模型部分負責對象的物理組成、操作方法、響應邏輯,態(tài)勢標繪軟件所有的外部接口都由模型部分具體實現(xiàn)[14];顯示部分負責對象在窗口視圖下的繪制,設計時,實施圖形符號制作窗口與視圖窗口的矩陣變化決定圖元的實際位置后,依靠跨平臺的圖形繪制庫進行屏幕渲染[15]。

      圖7 觀察者模式實現(xiàn)視圖與模型的通信

      控制器的實現(xiàn)方法有很多,其中消息響應機制是最簡單,也是最容易實現(xiàn)的。本文推薦使用與操作系統(tǒng)無關的觀察者模式實現(xiàn)視圖與模型的通信。

      觀察者模式定義了對象間的一種一對多的依賴關系,當一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。在態(tài)勢標繪軟件中,顯示對象被關聯(lián)(Attach)到模型對象上,當模型對象發(fā)生變化時,會自動通知(Update)所有與之粘結的顯示對象,顯示對象負責更新視圖窗口。

      2.4 依賴系統(tǒng)標準化設計

      態(tài)勢標繪軟件可通過設計圖元繪制中間層,采用MVC 架構設計模式等方法實現(xiàn)跨平臺設計,但對系統(tǒng)外部的地理信息系統(tǒng)卻無能為力,而地理信息系統(tǒng)(GIS)是態(tài)勢標繪軟件唯一必須依賴的支撐軟件,態(tài)勢標繪軟件需要依賴地理信息系統(tǒng)提供世界坐標空間定位、背景地圖顯示功能。應用中態(tài)勢標繪軟件也需要適應不同的地理信息系統(tǒng),因此應盡可能地減少與支撐軟件的耦合性。

      通過建立獨立的虛擬地理信息系統(tǒng),解耦地理信息系統(tǒng)與態(tài)勢標繪軟件的依賴管理,能夠保證態(tài)勢標繪在各種場景下都能顯示。所謂虛擬地理信息系統(tǒng),包括世界坐標與視圖坐標的定義與相互轉換,地圖的縮放、漫游等基本功能,將態(tài)勢標繪軟件必需的功能接口進行標準化設計,滿足該標準的地理信息系統(tǒng)都可以與態(tài)勢標繪軟件結合使用。同時,系統(tǒng)中缺省定義一個世界坐標系與視圖坐標系,不同的地理信息系統(tǒng)可以實例化該系統(tǒng),也可以不接入任何地理信息系統(tǒng),直接在空白背景下顯示,作為一個草稿系統(tǒng)使用。

      3 結束語

      筆者從事多年態(tài)勢標繪軟件的研制工作,組織并參與完成了基于桌面、嵌入式和面向服務的多個平臺的態(tài)勢標繪軟件研制。未考慮跨平臺設計時,實施跨平臺移植、復用研制成果難度很大,投入的人力、研發(fā)周期甚至軟件質(zhì)量成本都很高。

      基于本文提出的設計理念和方法,筆者帶領團隊首先在桌面Linux 系統(tǒng)進行了系統(tǒng)重構,并在不同平臺進行了跨平臺移植實踐,最后對跨平臺效果進行了評估。不同平臺間代碼共享率有較大幅度的提升??缙脚_設計之前,由于平臺相關性代碼分布在各個文件,幾乎所有文件都需要改造,代碼共享率低于30%。跨平臺設計后,視平臺性質(zhì)的不同,代碼共享率提升到75%以上。服務化的態(tài)勢標繪系統(tǒng)需要進行Web Service 改造,接口部分需要按照網(wǎng)絡化機制進行封裝,相對代碼修改率較高;而同等性質(zhì)的桌面系統(tǒng),運行機制類似,代碼共享率達到90%以上,個別甚至更高。態(tài)勢圖顯示效果基本一致。

      [1]楊詠建,祝勝強.態(tài)勢標繪系統(tǒng)設計分析[J].無線電通信技術,2012,38(1):52-55.

      [2]張云貴.面向移動設備的矢量繪圖平臺設計與實現(xiàn)[D].北京:北京理工大學,2013.

      [3]聶穎.圖形應用系統(tǒng)下Undo/Redo 操作的設計與實現(xiàn)[J].計算機應用究,2005,22(3):181-182.

      [4]Jiang Hua-wen,Che Xiang-ju,Gao Zhan-heng,et al.Design and realization of 3D irregular military symbols base on B-Spline[C]// The 5th International Conference on Frontier of Computer Science and Technology.2010:515-517.

      [5]鄧廣宏,蔡斌,池志強,等.一種實現(xiàn)應用軟件跨平臺特性的解決方案[J].計算機與數(shù)字工程,2008,36(8):157-161.

      [6]章琦鴻.共用態(tài)勢圖應用的實現(xiàn)和集成技術[J].計算機工程與設計,2011,32(7):2557-2561.

      [7]胡洪波,郭徽東.通用作戰(zhàn)態(tài)勢圖的構成與實現(xiàn)方法[J].指揮控制與仿真,2006,28(5):28-32.

      [8]林彩霞,仇建偉.基于REST 的圖形標繪服務系統(tǒng)技術研究[J].計算機與現(xiàn)代化,2012(10):76-81.

      [9]Sandeep Mulgund,Seth Landsman.User defined operational pictures for tailored situation awareness[C]// The 12th International Command and Control Research and Technology Symposium.2007.

      [10]李亞東,夏雨佳,席裕庚.基于JNI 的跨平臺軟件設計[J].計算機工程,2000,26(9):87-88.

      [11]肖習攀,閻小兵,賈迎樂,等.GUI 應用程序移植-在Linux 上模擬Windows API 的方法[M].北京:電子工業(yè)出版社,2007.

      [12]宋偉寧.嵌入式跨平臺軟件底層庫的設計[J].軟件導刊,2008(11):120-121.

      [13]張俐.MVC 模式在數(shù)據(jù)中間件中的應用[J].計算機工程,2010,36(9):70-72.

      [14]于蕭榕.標牌圖形多對象修改的研究與應用[J].計算機應用與軟件,2012,29(5):248-250.

      [15]牛紅光,漢榮李,陳超,等.基于MGS 的航標信息查詢與顯示系統(tǒng)設計與實現(xiàn)[C]// 第二十屆海洋測繪綜合性學術研討會論文集,2008.

      [16]程杰.大話設計模式[M].北京:清華大學出版社,2007.

      猜你喜歡
      標繪圖形符號跨平臺
      一種松耦合的多模態(tài)標繪引擎設計
      后裝綜合態(tài)勢共享交換文件模型設計
      GB/T《流體傳動系統(tǒng)及元件 圖形符號和回路圖 第1部分:圖形符號》征求意見
      液壓與氣動(2020年2期)2020-02-18 12:13:13
      跨平臺APEX接口組件的設計與實現(xiàn)
      測控技術(2018年9期)2018-11-25 07:44:58
      川鄂鹽道白菜柱頭圖形符號意義分析
      雷達標繪訓練與自動評估系統(tǒng)設計
      船海工程(2017年2期)2017-05-16 07:53:58
      海量動態(tài)異構空間標繪信息實時接入技術
      手機界面中圖形符號的發(fā)展趨向
      新聞傳播(2015年11期)2015-07-18 11:15:04
      基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設計與實現(xiàn)
      基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
      陇川县| 萍乡市| 兖州市| 遂宁市| 松阳县| 莎车县| 华亭县| 南雄市| 前郭尔| 林州市| 肃南| 神木县| 嫩江县| 吐鲁番市| 大理市| 子长县| 陇西县| 稻城县| 江达县| 巴林左旗| 新干县| 莱州市| 徐州市| 广东省| 文化| 晋江市| 左权县| 涿鹿县| 桐城市| 同德县| 加查县| 乐至县| 东莞市| 宁国市| 札达县| 五台县| 新蔡县| 天津市| 玛沁县| 泰宁县| 靖宇县|