隨著網(wǎng)絡技術的發(fā)展,尤其是.NET技術的飛速發(fā)展,使得實現(xiàn)較為復雜的網(wǎng)絡系統(tǒng)設計已成為可能,也為系統(tǒng)的集成和二次開發(fā)提供了一個平臺。為了滿足通信指揮訓練的實際需要和網(wǎng)絡應用進一步發(fā)展的要求,在此提出了一種B/S模式下基于GIS的通信指揮網(wǎng)上訓練系統(tǒng)設計。
1 GIS及其控件簡介
地理信息系統(tǒng)(geographic information system,GIS)是整個地球或部分區(qū)域的資源環(huán)境在計算機中的縮影,是反映人們賴以生存的現(xiàn)實世界的現(xiàn)狀與變遷的各類空間數(shù)據(jù)及描述這些空間數(shù)據(jù)特征的屬性,是在計算機軟件和硬件的支持下,以一定的格式輸入、存儲、檢索、顯示和綜合分析應用的技術系統(tǒng)。
GIS的基本功能包括空間數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)存儲與組織、空間查詢與分析、圖形與交互顯示等。MapX是基于ActiveX技術的可編程組件,是在MapInfo公司為Microsoft Office開發(fā)的可視化地圖組件DataMap的基礎上推出的。它提供了真正的對象聯(lián)接與嵌入控件,能夠同標準的編程語言,如delphi,VB,VC++等結合進行開發(fā)。MapX具有如下特點:
(1)按圖層組織計算機地圖,可以與數(shù)據(jù)庫中的圖表實現(xiàn)真正的交融。
(2)使用的圖層為矢量圖層,可以進行無限的放大或縮小。
(3)采用組件技術,縮短程序開發(fā)周期。MapX可以脫離MapInfo平臺運行,并且提供了一個流線化的對象模型,大量的方法和事件,高效的屬性頁和默認值,以及其他向導,以此來幫助簡化應用開發(fā)。
該系統(tǒng)利用VC++編譯器進行編程,在整個開發(fā)過程中,根據(jù)具體功能要求,采用了基于組件技術的二次開發(fā),在本系統(tǒng)設計中,二次開發(fā)主要是通過與MapX控件的集成,將電子地圖功能嵌入到本系統(tǒng)中。
2 系統(tǒng)設計
2.1 總體設計
“通信指揮網(wǎng)上訓練系統(tǒng)”是以總隊指揮自動化信息網(wǎng)為平臺,為各級領導機關提供相關通信信息及通信人員訓練服務而建立的通信訓練平臺。系統(tǒng)包含了人員、信息管理、模擬訓練、指揮輔助決策、信息綜合網(wǎng)絡發(fā)布等子系統(tǒng)。系統(tǒng)總體設計圖如圖1所示。其中,模擬訓練子系統(tǒng)為核心部分,采用VC++與MapX相結合進行二次開發(fā),內容主要包括軍事標圖、訓練指定想定作業(yè)、創(chuàng)建新的想定作業(yè)、數(shù)據(jù)庫操作等幾大部分。在此重點對這一子系統(tǒng)進行設計分析。
2.2 主要功能模塊設計
2.2.1 用戶信息管理模塊
負責用戶權限管理、用戶信息管理等業(yè)務。系統(tǒng)權限層次劃分為參謀、高級參謀、專家、系統(tǒng)管理員。
(1)參謀。為權限最低用戶,也是該系統(tǒng)的主要服務對象,通信人員均可以通過網(wǎng)絡申請成為參謀,以用戶名和警官證號雙重登陸后進行個人信息修改、資料檢索、學習案例、訓練等。只可以查看自身信息。
(2)高級參謀。通信部門的領導登陸可以申請成為高級參謀,登陸后在進行學習、訓練的同時,還可以查看各參謀的信息,并對各參謀的訓練效果進行評價。
(3)專家。由系統(tǒng)管理員任命生效,一名專家可以參與多個參謀和高級參謀的指揮訓練任務,專家的權限在于給所負責參謀的訓練進行評判。
(4)系統(tǒng)管理員。為系統(tǒng)最高權限用戶,負責高級參謀和專家的任命工作,以及數(shù)據(jù)庫的全面維護管理。同時可以根據(jù)需要對各用戶權限進行進一步劃分。
.2.2 軍事標圖模塊
由于軍用地圖的繪制要求精度高,保密級別高,不允許未經(jīng)上級批準的單位和個人擅自制作軍用地圖。因此,對軍用電子地圖大都是進行二次開發(fā),以滿足訓練和作戰(zhàn)等需要。
該模塊負責作戰(zhàn)區(qū)域和行動路線的軍事標圖,標圖的目的是把信息用可視化的形式在地圖上顯示出來,以方便從地圖上觀測各種數(shù)據(jù),結合所選擇的通信裝備進行數(shù)字化標圖,給作戰(zhàn)人員一種直觀的印象。在標圖的過程中,可以實現(xiàn)重點部分的放大或縮小,實現(xiàn)通信指揮訓練過程中圖上基本作業(yè)功能,以達到提高受訓人員識圖用圖能力的目的。
MapX在VC++中實現(xiàn)標圖主要包括電子地圖功能的嵌入以及根據(jù)實際需要完成的各項應用功能。
(1)Project>Ad To Project>Files,選擇MapX.cpp和MapX.h(即將MapX支持類庫加入工程文件)。這2個文件包含用于對MapX控件進行訪問的類定義和方法實現(xiàn)。
(2)定義一個CmapX對象:
(3)聲明一個常量:
(4)對象實例的創(chuàng)建。將(1)中兩文件加入工程后,用視圖類的構造函數(shù)聲明全局變量,并在響應WM_CREATE消息的OnCreate()函數(shù)創(chuàng)建地圖對象,代碼如下:
(5)圖形工具。包含實現(xiàn)圖形的移動、放大、縮小、居中和地圖的編輯等功能,只需設定MapX對象的CurrentTool屬性即可,具體可調用以下函數(shù)來實現(xiàn)。
2.2.3 專家評判模塊
在對通信指揮人員的訓練結果進行評分時還要負責對其長期訓練效果做出客觀評價。對于指定想定模塊的訓練由系統(tǒng)本身設定的正確答案對訓練人員進行評分,對于新的想定模塊的訓練由網(wǎng)上的專家進行評判。
3 數(shù)據(jù)庫設計
數(shù)據(jù)庫在一個系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結構設計的好壞將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結構設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時合理的數(shù)據(jù)庫結構也將有利于程序的實現(xiàn)。本系統(tǒng)采用SQLServer2005作為后臺數(shù)據(jù)庫管理系統(tǒng)。如何實現(xiàn)對數(shù)據(jù)庫的訪問是系統(tǒng)設計的重中之重。本系統(tǒng)采用ADO數(shù)據(jù)庫訪問技術,以實現(xiàn)對數(shù)據(jù)庫的設置操作和實時訪問。由于在默認的情況下,VC++不支持ADO對象,所以在通過ADO對象訪問數(shù)據(jù)庫時需要將ADO庫文件導入到工程中。導入代碼為:#import” c:ProgramFilesCommon FilesSystemadomsado15.dll”no_namespace rename ( “ EoF”,“ adoEOF”)rename(“BOF”“ad-oBOF”)。
4 結語
在此從基于B/S結構的Web技術研究出發(fā),完成了通信指揮訓練系統(tǒng)的設計和實現(xiàn)。采用B/S模式避免了客戶端復雜的開發(fā)過程,提高了系統(tǒng)的整體開發(fā)效率,系統(tǒng)的可維護性和可擴展性好。根據(jù)實際情況,采用了基于GIS的開發(fā)平臺,不僅滿足了通信人員日常的基本訓練需求,還為處突、反恐、執(zhí)行重大軍事任務提供了一個經(jīng)驗平臺。
該設計采用了B/S模式代替?zhèn)鹘y(tǒng)的C/S模式,提高了系統(tǒng)的整體性能和開發(fā)效率;在Visual C++等編程工具開發(fā)的應用程序中,以組件的形式直接將GIS功能控件MapX嵌入其中,實現(xiàn)了地理信息系統(tǒng)的各類功能。