<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于B/S結(jié)構(gòu)的通信指揮訓(xùn)練系統(tǒng)的設(shè)計(jì)

          基于B/S結(jié)構(gòu)的通信指揮訓(xùn)練系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2011-02-24 來源:網(wǎng)絡(luò) 收藏

          隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,尤其是.NET技術(shù)的飛速發(fā)展,使得實(shí)現(xiàn)較為復(fù)雜的網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)已成為可能,也為系統(tǒng)的集成和二次開發(fā)提供了一個(gè)平臺。為了滿足通信指揮訓(xùn)練的實(shí)際需要和網(wǎng)絡(luò)應(yīng)用進(jìn)一步發(fā)展的要求,在此提出了一種B/S模式下基于GIS的通信指揮網(wǎng)上訓(xùn)練系統(tǒng)設(shè)計(jì)。

          本文引用地址:http://www.ex-cimer.com/article/151006.htm

            1 GIS及其控件簡介

            地理信息系統(tǒng)(geographic information system,GIS)是整個(gè)地球或部分區(qū)域的資源環(huán)境在計(jì)算機(jī)中的縮影,是反映人們賴以生存的現(xiàn)實(shí)世界的現(xiàn)狀與變遷的各類空間數(shù)據(jù)及描述這些空間數(shù)據(jù)特征的屬性,是在計(jì)算機(jī)軟件和硬件的支持下,以一定的格式輸入、存儲、檢索、顯示和綜合分析應(yīng)用的技術(shù)系統(tǒng)。

            GIS的基本功能包括空間數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)存儲與組織、空間查詢與分析、圖形與交互顯示等。MapX是基于ActiveX技術(shù)的可編程組件,是在MapInfo公司為Microsoft Office開發(fā)的可視化地圖組件DataMap的基礎(chǔ)上推出的。它提供了真正的對象聯(lián)接與嵌入控件,能夠同標(biāo)準(zhǔn)的編程語言,如delphi,VB,VC++等結(jié)合進(jìn)行開發(fā)。MapX具有如下特點(diǎn):

            (1)按圖層組織計(jì)算機(jī)地圖,可以與數(shù)據(jù)庫中的圖表實(shí)現(xiàn)真正的交融。

            (2)使用的圖層為矢量圖層,可以進(jìn)行無限的放大或縮小。

            (3)采用組件技術(shù),縮短程序開發(fā)周期。MapX可以脫離MapInfo平臺運(yùn)行,并且提供了一個(gè)流線化的對象模型,大量的方法和事件,高效的屬性頁和默認(rèn)值,以及其他向?qū)В源藖韼椭喕瘧?yīng)用開發(fā)。

            該系統(tǒng)利用VC++編譯器進(jìn)行編程,在整個(gè)開發(fā)過程中,根據(jù)具體功能要求,采用了基于組件技術(shù)的二次開發(fā),在本系統(tǒng)設(shè)計(jì)中,二次開發(fā)主要是通過與MapX控件的集成,將電子地圖功能嵌入到本系統(tǒng)中。

            2 系統(tǒng)設(shè)計(jì)

            2.1 總體設(shè)計(jì)

            “通信指揮網(wǎng)上訓(xùn)練系統(tǒng)”是以總隊(duì)指揮自動(dòng)化信息網(wǎng)為平臺,為各級領(lǐng)導(dǎo)機(jī)關(guān)提供相關(guān)通信信息及通信人員訓(xùn)練服務(wù)而建立的通信訓(xùn)練平臺。系統(tǒng)包含了人員、信息管理、模擬訓(xùn)練、指揮輔助決策、信息綜合網(wǎng)絡(luò)發(fā)布等子系統(tǒng)。系統(tǒng)總體設(shè)計(jì)圖如圖1所示。其中,模擬訓(xùn)練子系統(tǒng)為核心部分,采用VC++與MapX相結(jié)合進(jìn)行二次開發(fā),內(nèi)容主要包括軍事標(biāo)圖、訓(xùn)練指定想定作業(yè)、創(chuàng)建新的想定作業(yè)、數(shù)據(jù)庫操作等幾大部分。在此重點(diǎn)對這一子系統(tǒng)進(jìn)行設(shè)計(jì)分析。


            2.2 主要功能模塊設(shè)計(jì)

            2.2.1 用戶信息管理模塊

            負(fù)責(zé)用戶權(quán)限管理、用戶信息管理等業(yè)務(wù)。系統(tǒng)權(quán)限層次劃分為參謀、高級參謀、專家、系統(tǒng)管理員。

            (1)參謀。為權(quán)限最低用戶,也是該系統(tǒng)的主要服務(wù)對象,通信人員均可以通過網(wǎng)絡(luò)申請成為參謀,以用戶名和警官證號雙重登陸后進(jìn)行個(gè)人信息修改、資料檢索、學(xué)習(xí)案例、訓(xùn)練等。只可以查看自身信息。

            (2)高級參謀。通信部門的領(lǐng)導(dǎo)登陸可以申請成為高級參謀,登陸后在進(jìn)行學(xué)習(xí)、訓(xùn)練的同時(shí),還可以查看各參謀的信息,并對各參謀的訓(xùn)練效果進(jìn)行評價(jià)。

            (3)專家。由系統(tǒng)管理員任命生效,一名專家可以參與多個(gè)參謀和高級參謀的指揮訓(xùn)練任務(wù),專家的權(quán)限在于給所負(fù)責(zé)參謀的訓(xùn)練進(jìn)行評判。

            (4)系統(tǒng)管理員。為系統(tǒng)最高權(quán)限用戶,負(fù)責(zé)高級參謀和專家的任命工作,以及數(shù)據(jù)庫的全面維護(hù)管理。同時(shí)可以根據(jù)需要對各用戶權(quán)限進(jìn)行進(jìn)一步劃分。

            .2.2 軍事標(biāo)圖模塊

            由于軍用地圖的繪制要求精度高,保密級別高,不允許未經(jīng)上級批準(zhǔn)的單位和個(gè)人擅自制作軍用地圖。因此,對軍用電子地圖大都是進(jìn)行二次開發(fā),以滿足訓(xùn)練和作戰(zhàn)等需要。

            該模塊負(fù)責(zé)作戰(zhàn)區(qū)域和行動(dòng)路線的軍事標(biāo)圖,標(biāo)圖的目的是把信息用可視化的形式在地圖上顯示出來,以方便從地圖上觀測各種數(shù)據(jù),結(jié)合所選擇的通信裝備進(jìn)行數(shù)字化標(biāo)圖,給作戰(zhàn)人員一種直觀的印象。在標(biāo)圖的過程中,可以實(shí)現(xiàn)重點(diǎn)部分的放大或縮小,實(shí)現(xiàn)通信指揮訓(xùn)練過程中圖上基本作業(yè)功能,以達(dá)到提高受訓(xùn)人員識圖用圖能力的目的。

            MapX在VC++中實(shí)現(xiàn)標(biāo)圖主要包括電子地圖功能的嵌入以及根據(jù)實(shí)際需要完成的各項(xiàng)應(yīng)用功能。

            (1)Project>Ad To Project>Files,選擇MapX.cpp和MapX.h(即將MapX支持類庫加入工程文件)。這2個(gè)文件包含用于對MapX控件進(jìn)行訪問的類定義和方法實(shí)現(xiàn)。

            (2)定義一個(gè)CmapX對象:

            


          上一頁 1 2 下一頁

          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();