基于GMAP.NET飞行在线地图系统的设计与实现

更新时间:2024-03-06 作者:用户投稿原创标记本站原创 点赞:9280 浏览:34619

摘 要:随着航空业的发展,飞行安全越来越成为人们关注的一个主要问题.该文将开发GMAP.NET在线地图系统,用它来模拟飞行轨迹、绘制飞行进近剖面图、实现轨迹和进近图的重叠,通过这些功能技术的实现来辅助飞行分析和事件调查,从而提高飞行的安全裕度.

关 键 词 :GMAP.NET 飞行轨迹模拟 地图贴图 飞行进近图

中图分类号:G64 文献标识码:A 文章编号:1674-098X(2013)05(b)-0222-02

1.GMap.NET介绍

GMap.NET是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms和WPF环境中能够通过Google, Yahoo!,Bing,OpenStreetMap等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mobile环境中.

GMap.NET中几个常用的类:GMapOverlay:GMap图层,通过GMap.Overlays.Add方法添加到地图中,多个图层可叠加,可存放地标、路径等对象,可单独对某一图层显示或隐藏;PointLatLng:经纬度点,该类有两个属性,Lat表示纬度,double型,Lon表示经度,double型;GMarkerGoogle:地标,存放在图层中,新建时需要一个PointLatLng表示其位置信息和一个Bitmap表示其在地图上显示的图片;MapProvider:地图提供商,控件内置了几十种不同的地图供选择,如GoogleChinaMap、Openstreet、Yahoo等地图;GMapRoute:路径,可画出两点之间的线路、直线;Position:地图的中心点,为一个PointLatLng值,设置Position的值,可移动地图中心.


2.系统功能设计

系统功能:首先将CSV格式的飞行数据导入系统,再根据导入的飞行数据绘制飞行轨迹,利用地图贴图和进近剖面图完善模拟飞行动态.

3.飞行轨迹及动态模拟的实现

3.1 航路与航向介绍

航路,由国家统一划定的具有一定宽度的空中通道.具有较完善的通信、导航设备,宽度通常为20 km.划定航路的目的是维护空中交通秩序,提高空间利用率,保证飞行安全.航向,就是飞机航行的方向,利用飞机上装载的航向陀螺仪的陀螺特性测量得到飞机的航向.

3.2 实现方案及步骤

飞行轨迹模拟主要是利用飞机各个时间点的经纬度和航向,在平面地图上绘制出一条能够真实还原当时飞机航迹的轨迹线.利用该航迹线,可以辅助飞行事件分析,判断事件的原因是否由地形因素等导致.步骤如下:

(1)读取外部导入的飞行数据,获取每秒飞机的经纬度和航向值.

(2)利用GMapRoute类,按照每秒经纬度在地图上绘制轨迹线.

(3)获取第一秒和最后一秒的经纬度,绘制初始和终点GMarkerGoogle地标.

(4)绘制第一秒的飞机图标,该图标继承自GMarkerGoogle,更换了自定义的飞机图片,增加了旋转角度属性,可以根据航向值对飞机图标进行旋转.

(5)加入时间轴,将时间轴与飞行数据绑定,拖动时间轴,飞机可沿着轨迹线移动.

(6)加入计时器,当点击播放按钮时,计时器累加,飞机沿着轨迹线移动,模拟飞行过程.

4.地图贴图的实现

为了解决飞行分析中常见的问题,引入地图贴图.

4.1 设计思想

将标准航路图贴在地图上,与实际轨迹重叠,可以分析飞机是否按照航路飞行,有无偏航的情况;将飞机进近图贴在地图上,可以从飞行轨迹上看出进近的路线是否偏离,是否会遭遇高山等地形.

4.2 实现方案及步骤

要实现地图贴图,我们利用GMapMar ker来实现.GMapMarker可以指定要绘制的Image对象,在绘制图像时,指定区域,给定区域的左上顶点和右下顶点的经纬度,即可以在这两个点组成的区域内填充指定图片.步骤如下:

(1)获取需要贴图的图片,如果图片的经纬度线不端正,首先对图片需要进行一定旋转.

(2)在图片上找两个基准点,尽量是对角线,相隔远的,录入两个基准点的经纬度,系统自动计算左上和右下顶点的经纬度.

(3)利用Markers.Add(Image),加载图片.

(4)使用GMap.SetZoomToFitRect (RectLatLng),让图片填充指定区域,并将地图缩放调整到合适的等级.

5.进近剖面图的绘制

5.1 相关概念介绍

(1)飞行进近,指的是飞机飞行最后阶段,从飞机建立进近准备到安全落在跑道上这一整个过程.根据飞机所使用的导航设备及精密仪表的不同,进近可分为两类:一类是所使用的设备能提供方位信息又能提供下滑道信息的称为精密进近程序.精密进近程序的精度较高,如:仪表着陆系统仅仅(ILS),精密进近雷达进近(PAR);另一类是所使用的设备只提供方位信息,不提供下滑道信息的称为非精密进近程序.非精密进近程序,精度较低,如NDB进近,VOR进近等.

(2)航向台(Localizer,LOC/LLZ),位于跑道进近方向的远端,波束为角度很小的扇形,提供飞机相对与跑道的航向道(水平位置)指引;下滑台(Glide Slope,GS或Glide Path,GP),位于跑道入口端一侧,通过仰角为3 °左右的波束,提供飞机相对跑道入口的下滑道(垂直位置)指引.

5.2 实现方案及步骤

每个机场投入运行前,都会公布一些标准的飞机进场程序,包括进近标准剖面线.根据机场提供的一些资料和数据,来研究进近实际轨迹剖面图.

(1)首先确定坐标轴,纵轴自然是用高度作为标尺,横轴呢?如果以时间作为标尺,则由于飞机单位时间内的速度不同,会导致跑道入口端的下滑台发射的下滑道波束不再是一条直线.所以只能以距跑道入口端的距离来作为横坐标.

(2)从地图中获取跑道入口端的经纬度值.

(3)从飞行数据中获取飞机着陆稳定后的机场气压高度.

(4)从机场公布的数据中,获取下滑台离跑道端口的距离,获取下滑道波束与水平面的夹角,也就是进近角.

(5)从飞行数据分析本次进近属于精密仪表进近还是非精密进近,找到机场公布的相应标准进近图,获取进近曲线上各越障点的信息.

(6)确定需要绘制剖面的数据范围.

把以上的资料输入系统,开始绘制剖面图,如上图所示:其中坐标原点为跑道端头,柱形为越障点,灰色直线从跑道端头附近引出,为下滑台发射的下滑道波束,绿色曲线代表飞机的实际轨迹剖面线,绿色竖直线与轨迹剖面线交叉的点为当前飞机位置,文字显示距跑道端头的距离及高度等数值.

6.工程及相关文件介绍

本系统引入了工程的概念,能够保存您当前制作的所有对象和输入的所有数据,并能在下次打开系统时,重新载入.并可对所有的工程文件进行备份和迁移,使您不需要进行重复的工作,也有利于数据的存档.

工程项目文件夹主要有三个文件:

(1)data.csv主要用于存储从外部导入的飞行数据.

(2)map.config,XML文档格式,存储工程的地图样式,贴图档案的名字,贴图的偏移量,轨迹的偏移量等.

(3)profile.config,XML文档格式,主要存储用户制作进近剖面图时录入的数据,如进近方式、进近角、跑道端口经纬度、越障点等等信息.

7.结语

本系统引入了在线卫星地图,实现了飞行轨迹的绘制和轨迹的动态播放,实现了地图的贴图功能,完成了对飞机进近剖面图的绘制,这在国内外的飞行分析系统中还没有类似的功能,是独创性的,对于飞行数据分析有极大的帮助,还原事件真相,吸取经验,使安全关口前移.