随着网络技术的发展,尤其是.NET技术的飞速发展,使得实现较为复杂的网络系统设计已成为可能,也为系统的集成和二次开发提供了一个平台。为了满足通信指挥训练的实际需要和网络应用进一步发展的要求,在此提出了一种B/S模式下基于GIS的通信指挥网上训练系统设计。
1 GIS及其控件简介
地理信息系统(geographic information system,GIS)是整个地球或部分区域的资源环境在计算机中的缩影,是反映人们赖以生存的现实世界的现状与变迁的各类空间数据及描述这些空间数据特征的属性,是在计算机软件和硬件的支持下,以一定的格式输入、存储、检索、显示和综合分析应用的技术系统。
GIS的基本功能包括空间数据输入、数据处理、数据存储与组织、空间查询与分析、图形与交互显示等。MapX是基于ActiveX技术的可编程组件,是在MapInfo公司为Microsoft Office开发的可视化地图组件DataMap的基础上推出的。它提供了真正的对象联接与嵌入控件,能够同标准的编程语言,如delphi,VB,VC++等结合进行开发。MapX具有如下特点:
(1)按图层组织计算机地图,可以与数据库中的图表实现真正的交融。
(2)使用的图层为矢量图层,可以进行无限的放大或缩小。
(3)采用组件技术,缩短程序开发周期。MapX可以脱离MapInfo平台运行,并且提供了一个流线化的对象模型,大量的方法和事件,高效的属性页和默认值,以及其他向导,以此来帮助简化应用开发。
该系统利用VC++编译器进行编程,在整个开发过程中,根据具体功能要求,采用了基于组件技术的二次开发,在本系统设计中,二次开发主要是通过与MapX控件的集成,将电子地图功能嵌入到本系统中。
2 系统设计
2.1 总体设计
“通信指挥网上训练系统”是以总队指挥自动化信息网为平台,为各级领导机关提供相关通信信息及通信人员训练服务而建立的通信训练平台。系统包含了人员、信息管理、模拟训练、指挥辅助决策、信息综合网络发布等子系统。系统总体设计图如图1所示。其中,模拟训练子系统为核心部分,采用VC++与MapX相结合进行二次开发,内容主要包括军事标图、训练指定想定作业、创建新的想定作业、数据库操作等几大部分。在此重点对这一子系统进行设计分析。
2.2 主要功能模块设计
2.2.1 用户信息管理模块
负责用户权限管理、用户信息管理等业务。系统权限层次划分为参谋、高级参谋、专家、系统管理员。
(1)参谋。为权限最低用户,也是该系统的主要服务对象,通信人员均可以通过网络申请成为参谋,以用户名和警官证号双重登陆后进行个人信息修改、资料检索、学习案例、训练等。只可以查看自身信息。
(2)高级参谋。通信部门的领导登陆可以申请成为高级参谋,登陆后在进行学习、训练的同时,还可以查看各参谋的信息,并对各参谋的训练效果进行评价。
(3)专家。由系统管理员任命生效,一名专家可以参与多个参谋和高级参谋的指挥训练任务,专家的权限在于给所负责参谋的训练进行评判。
(4)系统管理员。为系统最高权限用户,负责高级参谋和专家的任命工作,以及数据库的全面维护管理。同时可以根据需要对各用户权限进行进一步划分。
.2.2 军事标图模块
由于军用地图的绘制要求精度高,保密级别高,不允许未经上级批准的单位和个人擅自制作军用地图。因此,对军用电子地图大都是进行二次开发,以满足训练和作战等需要。
该模块负责作战区域和行动路线的军事标图,标图的目的是把信息用可视化的形式在地图上显示出来,以方便从地图上观测各种数据,结合所选择的通信装备进行数字化标图,给作战人员一种直观的印象。在标图的过程中,可以实现重点部分的放大或缩小,实现通信指挥训练过程中图上基本作业功能,以达到提高受训人员识图用图能力的目的。
MapX在VC++中实现标图主要包括电子地图功能的嵌入以及根据实际需要完成的各项应用功能。
(1)Project>Ad To Project>Files,选择MapX.cpp和MapX.h(即将MapX支持类库加入工程文件)。这2个文件包含用于对MapX控件进行访问的类定义和方法实现。
(2)定义一个CmapX对象: