基于MGS的态势显示系统设计

时间:2022-09-25 07:20:29

基于MGS的态势显示系统设计

【摘 要】利用MGS(Military Graphic System,军用图形系统)设计态势显示系统,实现地图、各种航迹、各种相关数据以及电磁态势的显示。同时,该系统具有较好的可重用性,稍加改动,就可以应用在HLA系统中。

【关键词】态势显示;MGS;GIS

1 引言

GIS系统(Geographic Information System,地理信息系统)是一种将空间位置信息与属性数据结合在一直的系统。以此为基础建立起来的各种态势显示系统已应用到各个领域。大到针对某个地区乃至全球的数字地面模型资料所建立起来的庞大系统,如美国军方的C3I系统的辅助指挥作战的GIS系统、“陆地勇士”系统的综合头盔子系统 (IHAS);小到只是结合了简面位置坐标的小型管理系统,如一个城市的出租车定位显示管理系统。

地图处理和态势信息系统组件的军用图形处理开发软件包MGS(Military Graphic System,军用图形系统)属于GIS系统的一种,它提供了一组用于面向军事应用的图形程序设计的功能函数、方法和事件。MGS不仅为面向图形的应用程序提供了基本的开发环境,它还同时实现了程序的设备无关性,从而大大提高了图形应用程序的可移植性。

2 态势显示系统的组成

一个典型基于MGS的态势显示软件包括如下三个主要组成部分:MGS平台、数据处理模块和态势显示模块。系统组成如图:

2.1 MGS平台

MGS平台是显示系统的基础,用来支撑态势显示。在实际应用中,态势显示系统一般采用矢量格式的地图作为底图,这样可以保证在态势图时行缩放时,不会出现模糊失真的情况。下面讨论MGS平台的重要接口及概念。

MGS平台的API函数接口

MGS军用图形处理开发软件包提供了一套功能全面、使用灵活的API函数接口,这些函数从功能上分,可分为图形处理基础功能和应用功能两大部分。按照所提供的API函数功能的不同,这些函数被封装在几个标准动态链接库中,分别是:Mgsdll.dll――图形处理基础功能、地图操作功能;MgsSmap.dll――地图检索功能;MgsEtSym.dll――态势处理功能;MgsGrd.dll――地图量算功能;Mgscxfx.dll――地理信息查询功能,MgsTran.dll――地图格式转换功能。

以上六个动态链接库为独立于编程语言的标准动态库,它们输出的API函数接口可以被任何高级编程语言调用。

其中,mgsdll.dll是最底层的动态链接库,在用户自行建立的应用系统中,要成功地实现地图检索、态势处理、地图量算和地理信息查询功能,必须先调用该动态库中的图形处理基础功能―控制功能,来初始化应用系统。

由于地图处理和态势信息系统支持的地图数据来自两个方面:一方面支持文件形式的内部地图格式,一方面支持来自“平台”另一共性支撑软件军事地理信息系统的存在于数据库的矢量地图,因此,MGS军用图形处理开发软件包提供的某些API函数还依赖于军事地理信息系统的存在。如果没有连接地理信息库,则mgsdll.dll库、mgstran.dll和MgsGrd.dll中的若干函数不能使用,Mgscxfx.dll库中的所有函数都不能正常使用。

以上六个动态链接库的层次关系和依赖关系如图2所示。

图层是由有机关联的对象构成的集合,其中的元素在几何上不再相互独立,而是紧密相关的。如独立地物层、道路层、境界层、水系层、地貌层、土质层、植被层和垣栅城墙层等。图层中的元素对象一般较多,图层本身就是一个对象集。对象集加上自己特有的显示属性即是图层,因此对象集类型与图层类型是一一对应的。由于对象集包括点、线、面、注记对象集、复合对象集和场6种基本类型,因此图层也有相应的点、线、面、注记图层、复合图层和场图层6种基本类型。对象集用来存贮对象的空间与属性数据,而图层则用来设置对象集的显示风格并控制对象集的显示范围、显示比例和操作特性(如可显示、可选择、可编辑和可捕捉等),二者各司其职又相互联系。在对应关系上,一个图层只对应一个对象集,而一个对象集却可显示在不同的地图窗口中对应多个图层,因此对象集与图层之间的关系是一对多的关系。

对象集是用来存贮地理对象的,图层是用来控制对象的显示的,两者都不等同于地图或地图窗口。这里的地图或地图窗口是一种框架,是显示对象的实际载体,也是控制图层并对之进行操作和分析的主体。

2.2 数据处理模块

数据处理模块主要负责处理态势显示需要显示的数据。它通过与外部系统进行数据交换,从网络、数据库或串口接收态势数据,经过解析、融合处理后将结果传送给态势显示模块,在态势图上显示出来, 根据需要输出处理后的数据。

2.3 态势显示模块

态势显示模块是显示系统的关键,用来实现态势显示功能。态势显示模块接收并显示数据处理模块处理后的态势数据。根据系统要求不同,态势显示模块的功能也有较大的差异,在一些简单的静态态势显示系统(如标图系统) 中,可能仅需要一些静态的图形或图标;而在较高级的应用中,如航迹显示系统,则需要时时接收各种动态目标的位置信息来更新态势显示的内容;在更高级的一些应用中,如战场态势模拟系统中,则不仅需要接收外界传来的各种数据和指令,还要对各种数据进行融合处理,最终将处理结果显示出来。

3 态势显示功能的设计

态势显示是态势显示软件的主要组成部分,目前各种系统中显示的态势主要有以下几种:

(1) 标图

标图是目前常用的一种简单的态势显示方式,在这种应用中,一般预先设定一组或几组对象的坐标(可能是经纬度或相对坐标) 。进行态势显示时,将一组对象图标按照预定的位置显示在底图上,一般来说对象的位置一旦设定,很少再进行移动,而当需要表示对象的位置变化时,常常显示预设的第二组态势对象。因此这种态势显示软件相对来说最为简单,应用范围也最广,可以用来显示一个城市的人防部署、防洪指挥时的人力部署等。

(2) 航迹

航迹显示是态势显示模块中最重要的功能之一。在航迹态势显示系统中,一般需要从一个外部的接口(如串口、网络或数据库) 来获取态势显示目标的位置数据。态势显示目标会根据接收的位置信息来实时变化自己在底图上的坐标,从而形成一条运动轨迹,如在航空管制系统中飞机的运动轨迹显示。

对于不同的系统,航迹显示的内容可能不一样。对于军用态势显示系统而言,除了能够显示融合之后的航迹,还应该考虑显示融合之前的子源航迹和惯导数据。如果系统的数据来自模拟源,还应该加入显示模拟源的航迹。不同的航迹被设置为不同的颜色加以区分,而且可以根据需要显示或不显示。

(3) 电磁态势

电磁态势相对比较复杂。电磁波是不可见的,因此在态势显示时必须以可见的图形方式表示出来,而且由于电磁场受地形和天气等影响较大,在复杂情况下,电磁环境以可视的方式准确显现出来难度较大。但简单地来说,我们可以把辐射源的有效范围使用圆或扇形来表示。

(4) 具体数据显示

除了显示各种航迹、范围之外,态势显示模块还应该能够显示具体的数据,例如每个航迹点,该飞机的经度、纬度、高度、速度等等。还如融合之后的航迹是由哪几条子源航迹融合而成,这几条子源航迹的具体数据是什么。这些都属于态势显示模块必须的功能之一。

4 结束语

要想设计一个好的基于MGS的态势显示系统,要充分考虑系统的需要,在利用MGS平台的API函数的情况下,尽量多的将系统的数据显示出来。

参考文献:

[1] 汪成为,高文,王行仁.灵镜(虚拟现实)技术的理论、实现及应用[M].北京:清华大学出版社,1996.

[2] 王行仁.发展系统仿真技术 [J].系统仿真学报,1999.

[3] 陈建春.Visual C++开发GIS系统:开发实例剖析[M].北京:电子工业出版社,2000.

[4] 杨学良.多媒体计算机技术及其应用[M].北京:电子工业出版社,1995.

[5] MGS程序员参考手册

[6] MGS用户手机

上一篇:管理信息系统实施失败原因分析 下一篇:基于GSM通信的压路机远程监控系统实现