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