试飞监控电子地图设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试飞监控电子地图设计与实现
作者:王延路刘语乔
来源:《现代电子技术》2013年第13期
摘要:电子地图的直观性、可阅读性越来越来被各行各业所青睐,飞行试验是飞机在一定的空域进行的风险性试验,其对地理信息的依赖更加强烈。
在对试飞监控电子地图的功能需求分析后,提出了运用MapX组件与可视化高级语言相结合的开发模式,重点对开发过程中的关键技术进行了分析,提出了解决地理信息系统开发的方法,使非专业开发者同样能得心应手地开发出符合用户需求的地理信息系统产品。
关键词:飞行试验;电子地图; GIS; MapX
中图分类号: TN711⁃34 文献标识码: A 文章编号: 1004⁃373X(2013)13⁃0131⁃03 Design and implementation of flight⁃test monitoring electronic map
WANG Yan⁃lu, LIU Yu⁃qiao
(Chinese Flight Test Establishment,Xi’an 710089, China)
Abstract: Electronic map gets more and more popular due to its visualized and readable features. Flight test is a risky experimentation in certain airspace, and it heavily relies on geography information. After the analysis of the functional requirement of flight test monitoring electronic map, an development mode combining MapX groupware and visualized high⁃level language is proposed in this paper. We particularly analyze the key technologies during development process and bring forward a method of geographic information system exploitation, which makes
non⁃professional developer can also easily develop geographic information products to meet demands of the users.
Keywords: flight test; electronic map; GIS; MapX
0 引言
由于飞行试验过程的高风险性,实时监控是每一个型号定型试飞过程中重要的一个环节。
试飞监控电子地图实时显示飞机的各项参数、状态和所处的空域、航路等信息,清晰直观的图形、数据为指挥员和技术人员提供飞行指挥依据。
对飞行科目的优质完成和预防事故的发生起着至关重要的作用。
电子地图涉及到的信息数据具有很强的地理特征,如空域、航路、山峰、河流、地界等,因此飞行监控电子地图软件的开发实际上就是地理信息系统[1] (Geographical Information System,GIS)的二次开发。
GIS是在计算机硬件、软件支持下,对整个或部分地球表层空间中的有关地理分布数据进行采集、存储、管理、运算、分析和可视化表达的信息处理与管理系统。
传统GIS虽然在功能上已经比较成熟,但是由于这些系统多是基于十多年前的软件技术开发的,属于独立封闭的系统。
同时,GIS软件变得日益庞大,二次开发难度大,费用昂贵,阻碍了GIS的普及和应用。
组件式GIS的出现为传统GIS面临的多种问题提供了全新的解决思路。
本文设计的试飞监控电子地图采用可视化开发语言Delphi 和 MapX 组件结合的开发模式,运用组件式软件技术对试飞中的飞机进行精确定位,绘制飞行轨迹,并同时显示飞机各系统的工作状态,是非专业人员进行GIS开发的成功应用,在多个型号试飞过程中发挥了很好的作用。
1 试飞监控电子地图的运行环境
试飞实时监控系统是一个以计算机网络为基础,集遥测、信号处理和软件技术为一体的局域以太网系统[2],由遥测天线、前端服务器、数据服务器、分析显示终端以及各种外部设备组成。
系统组成如图1所示。
该系统搭建了一个基于TCP/IP协议的应用层通信接口框架,实现了把飞机各系统参数和定位数据遥测接收并发送给每一个分析显示终端。
试飞监控电子地图运行于分析显示终端,实时接收遥测数据,驱动各模块完成所有的功能。
图1 试飞实时监控系统组成
2 试飞监控电子地图设计
2.1 功能设计
在对飞行试验现有监控运行模式和电子地图需求进行反复分析研究基础上,结合航空新型号试飞的特点,确定电子地图的基本功能。
2.1.1 地图范围及显示内容
试飞监控电子地图以全国范围真实地理环境为背景,运行时根据配置信息自动将地图显示范围移动到试验场周围,并显示当前飞行空域、管制区范围、预先飞行航迹。
2.1.2 数据接收
运行于实时监控系统上的电子地图,能够实时接收数据服务器通过以太网发送的飞机遥测数据,经过数据处理后提供给电子地图用于数据的更新显示。
2.1.3 实时动画显示
实时接收数据后电子地图以动画的形式显示飞机所在位置和姿态,绘制飞行轨迹,并同时以数字形式显示时间、当前经度、当前纬度、到机场距离、所处的方位、高度、速度等飞机基本信息。
2.1.4 数据处理
该软件需具有通用数据处理功能,对空间坐标转换、空间距离、方位、飞机采集参数的取位、拼接、工程量转换等进行计算。
2.1.5 快捷工具
在完成基本功能的前提下,电子地图提供9个快捷工具,通过鼠标在工具栏选择后,可以对地图进行相应的操作,在操作地图的同时,飞行航迹和飞机图标也随之变化,能够更灵活的满足用户的需要。
分别为:放大工具(对地图进行放大操作);缩小工具(对地图进行缩小操作);平移工具(对地图进行平移操作);测距工具(测量地图上任意两点距离);测点工具(测量地图上任意点经、纬度值);中心点设置工具(将地图上任意点设置为显示中心);图层控制工具(对图层进行编辑、增加、删除等操作);飞机中心工具(以当前飞机所在位置为中心显示地图);航迹清除工具(清除已画飞行轨迹)。
2.2 界面设计
试飞监控电子地图要求有简洁、清晰、明了的界面,将其划分为菜单区、工具栏、地图区、数值显示区,飞行监控电子地图主界面如图2所示。
图2 主界面
2.3 结构设计
根据对试飞监控电子地图需要完成的功能分析,经过归纳整理,将该软件划分为五个主模块,它们分别是试验配置模块、网络接收模块、地图绘制模块、地图操作模块、算法库模块。
主模块下又有若干子模块,结构如图3所示。
图3 试飞监控电子地图结构
3 关键技术分析及实现方法
从以上设计能够看出,试飞监控电子地图软件属于实时数据处理范畴,又具备地图管理的特征,要求在地图背景下,用可视化的方法来显示和分析基于位置的数据,同时又要求与多个
实时系统紧密结合,保证网络通信畅通、数据处理准确可靠、操作简单明了。
鉴于以上要求,GIS与可视化、网络化编程的高效集成变得尤为重要。
3.1 MapX与Delphi结合技术
组件式软件技术已经成为当今软件技术的潮流之一,MapX是MapInfo公司推出的基于ActiveX技术的可编程控件[4],为开发人员提供了一个快速、易用、功能强大的地图化组件。
在VB、VC、Delphi、PowerBuilder等可视化开发环境中,只需在设计阶段将MapX控件放入窗体中,并对其进行编程以设置属性、调用方法或相应事件,即可实现数据的空间可视化、专题分析、地理查询、地图编辑等丰富的地理信息系统功能。
Delphi是目前非常流行的信息管理系统开发工具,全面支持面向对象编程,是集成功能强并易于使用的高级语言,内置多种对象类型,方便连接和访问多种数据库。
用它进行管理信息系统开发速度快、功能强、效率高、成本低。
使用MapX控件与Delphi编程语言的结合,实际上相当于用OLE的方式在可视化编程语言中嵌入了一个更为精炼、实用的MapInfo系统,使用可视化开发语言对MapInfo Professional 不具备的功能可以进行极大的扩充,具有简单、快捷、高效的开发特点,使其充分发挥各自的优势,将复杂的问题简单化,很好的解决了飞行试验中的实际问题。
3.2 图层、图元控制技术
MapX是一个功能齐全使用复杂的组件[5],如何建立MapX 图层、图元和如何控制图元的运动成为实现时的难点。
经过反复试验,采用动态图层、图元控制的方法,完成飞行轨迹绘制与清除、机场标识、飞机图标显示及运动的功能。
3.2.1 动态创建MapX对象
首先添加一个新的图层[6],定义好图层显示样式,用于存放用户所要增加和控制的图元。
然后在新图层上增加两个具有某些属性的图元对象,再将该图层与其他图层叠加。
具体方法如下:使用Layers对象创建图层,函数为:yers.CreateLayer;使用FeatureFactory对象创建图元对象,函数为fFtrFactory.CreateSymbol;最后设置图元的属性,包括形状、颜色等。
3.2.2 控制图元对象的运动
试飞监控电子地图要求能实时显示飞机运动轨迹和飞机运行姿态,因此控制图元对象的运动是非常重要的。
实际设计时,通过实时接收网络传送的飞机位置、速度、姿态数据,经过计算整理,在当前活动的图层中,对添加的飞机图元实时改变位置[7],控制飞机的运动,同时通过设置图元的旋转角度来控制飞机机头的转动。
具体方法如下:
fFeature.style.SymbolFontRotation:=alpha; //设置飞机航向角
fFeature.Point.Set(dXpos, dYpos); //设置位置参数
fFeature.Update; //刷新
3.3 通信与多线程技术
试飞监控电子地图的运行环境是飞行试验实时监控系统,由于技术的开放性和多样性,不同国家、不同时期研制的多种系统在网络传输的方式上不尽相同[8],为了满足多系统要求,设计时以插件的方式编写与各版本系统相适应的网络接口[9],依据配置模块的定义,调用不同的接口。
如果增加系统只需编写接口程序就可方便的投入使用,很好的解决了软件的通用性。
为了提高试飞监控电子地图的运行效率,软件采用多线程编程技术[10],将数据接收、从主线程中分离,创建数据接收子线程。
子线程完成数据接收后通知主线程,由主线程完成数据解算、飞机运动、轨迹绘制和数据显示等功能。
4 结语
试飞监控电子地图具有简洁的界面和强大的实时数据接收、动画显示及地图操作功能,而且可同时显示丰富的地理信息、航路信息。
电子地图直接用于试飞监控,实时性强,地理位置显示准确可靠,为指挥员和试飞工程师提供了准确、清晰、可靠的数据显示。
基于MapX组件的试飞监控电子地图在ARJ飞机等许多型号试飞实时监控中得到了成功应用,在飞行试验中发挥了重要的作用,得到了试飞工程师等用户的肯定。
它不仅适用于试飞实时监控系统,而且还适用于遥测接收人员使用,通过电子地图为遥测跟踪提供飞机的跟踪信息,减少目标丢失的次数,快速定位跟踪目标,提高跟踪质量。
本软件虽然是为飞行试验实时监控而设计和实现的,但其技术可适用于飞行训练,汽车试验等更大范围的用户群体。
在新的需求下经过进一步完善和推广,可接收光测、雷测、多目标数据,实现多数据流多目标的实时监控显示。
参考文献
[1] 华一新,吴升,赵军喜.地理信息系统原理与技术[M].北京:解放军出版社,2001.
[2] 袁炳南,张建琳.PCM与网络数据采集系统技术分析[J].测控技术,2009,28(4):29⁃31.
[3] 罗云启,曾琨,罗毅.GIS数字化地理信息系统建设与MapInfo高级应用[M].北京:清华大学出版社,2003.
[4] 李连营,李清泉.基于MapX的GIS应用开发[M].武汉:武汉大学出版社,2003.
[5] 齐锐,屈韶琳.用MapX开发地理信息系统[M].北京:清华大学出版社,2003.
[6] 柏玉华.基于MapX技术的地理信息系统开发实例[M].北京:清华大学出版社,2009.
[7] 周心铁,刘毓华.组件技术与GIS的发展[D].北京:中国科学院地理信息产业发展中心,1998.
[8] 安淑芝,詹青龙.计算机网络[M].北京:中国铁道出版社,2006.
[9] 罗军舟,黎波涛.TCP/IP协议及网络编程技术[M].北京:清华大学出版社,2004.
[10] 郝文化.Windows 多线程编程技术与实例[M].北京:中国水利水电出版社,2005.。