本发明属于空中交通管理技术领域,特别是涉及一种基于相邻网格的飞行冲突快速检测方法。
背景技术:
对航空器之间的飞行冲突进行检测是保障航空运输安全的基础。传统的检测方法是对所有航空器进行两两判断,效率较低、检测速度较慢,已无法适应当前日趋繁忙的空中交通态势。在对空域进行网格划分后,基于相邻网格的飞行冲突检测速度高、性能可靠,是一种适用于大规模空中交通中检测飞行冲突的快速方法。可以弥补当前技术和方法的不足,为新一代空中交通系统建设提供基础。
技术实现要素:
为了解决上述问题,本发明的目的在于提供一种基于相邻网格的飞行冲突快速检测方法,可有效减小冲突判断次数,实现飞行冲突的快速检测。
为了达到上述问题,本发明提供的基于相邻网格的飞行冲突快速检测方法包括按顺序进行的下列步骤:
步骤1、将目标空域进行划分:基于设定的相邻航空器间水平间隔标准将目标空域划分为若干正方形,每一正方形称为一个网格子空域;
步骤2、提取航空器坐标:从空中交通管制系统接入航班航迹数据,从中提取出每一航空器的水平坐标及高度信息,由这些信息构成所有航空器集合;
步骤3、判断航空器所属网格子空域:基于每一航空器的水平坐标判断其所在的网格子空域,并记录下每一航空器所在的网格子空域的编号;
步骤4、提取相邻航空器集合:根据网格子空域之间的空间关系判断每一网格子空域的相邻网格子空域,并从所有航空器集合中提取出该网格子空域以及与其相邻的网格子空域内的航空器作为相邻航空器集合;
步骤5、相邻航空器冲突检测:依次判断所有相邻航空器集合内的航空器之间是否存在冲突。
在步骤1中,所述的将目标空域进行划分的方法是:设目标空域边界点横坐标为[x1,x2,...,xn],纵坐标为[y1,y2,...,yn],横坐标的最大、最小值分别为xmax、xmin,纵坐标的最大、最小值分别为ymax、ymin;则目标空域在水平面上的最小外接矩形的坐标为[xmax,xmin,ymax,ymin];进一步设规定的相邻航空器间水平间隔标准为dh,相邻航空器间垂直间隔标准为dv,则最小外接矩形可以由i×j个以dh为边长的正方形全部覆盖,其中i=ceil((xmax-xmin)/dh)、j=ceil((ymax-ymin)/dh),ceil为向上取整函数;这里的每一个正方形可称为目标空域中的一个网格子空域。
在步骤3中,所述的判断航空器所属网格子空域的方法是:设航空器fi的横、纵坐标分别为xi、yi,其所在网格子空域编号为(gi,gj),则gi=ceil((xi-xmin)/dh),gj=ceil((yi-ymin)/dh);
在步骤4中,所述的提取相邻航空器集合的方法是:先根据网格子空域之间的空间关系判断每一网格子空域的相邻网格子空域;设网格子空域的编号为(gi,gj),则其以及其相邻的网格子空域共9个,即(gi-1,gj-1)、(gi,gj-1)、(gi+1,gj-1)、(gi-1,gj)、(gi,gj)、(gi+1,gj)、(gi-1,gj+1)、(gi,gj+1)、(gi+1,gj+1)。然后从所有航空器集合f中提取出上述9个网格子空域内的所有航空器,以此作为第i个相邻航空器集合fi;遍历所有网格子空域,循环执行本步骤。
在步骤5中,所述的相邻航空器冲突检测的方法是:设第i个相邻航空器集合fi内共有n架航空器,则两两判断航空器间的水平间隔是否小于相邻航空器间水平间隔标准dh,如果满足则进一步判断航空器间的垂直间隔是否小于相邻航空器间垂直间隔标准dv,如果都满足则表明存在一次冲突;遍历所有相邻航空器集合,循环执行本步骤,即可完成所有航空器间的冲突检测。
本发明提供的基于相邻网格的飞行冲突快速检测方法的有益效果是:采用基于相邻网格子空域的方法,可以准确、快速地在大规模空中交通中检测出小于指定间隔标准的飞行冲突,本方法不受人为因素影响,评估方法简单易用。
附图说明
图1为本发明提供的基于相邻网格的飞行冲突快速检测方法流程图。
图2为目标空域划分示意图。
具体实施方式
以下结合附图及实施例对本发明做进一步说明。
如图1所示,本发明提供的基于相邻网格的飞行冲突快速检测方法包括按顺序进行的下列步骤:
步骤1、将目标空域进行划分:设目标空域边界点横坐标为[x1,x2,...,xn],纵坐标为[y1,y2,...,yn],横坐标的最大、最小值分别为xmax、xmin,纵坐标的最大、最小值分别为ymax、ymin。则目标空域在水平面上的最小外接矩形的坐标为[xmax,xmin,ymax,ymin]。进一步设规定的相邻航空器间水平间隔标准为dh,相邻航空器间垂直间隔标准为dv,则最小外接矩形可以由i×j个以dh为边长的正方形全部覆盖,其中i=ceil((xmax-xmin)/dh)、j=ceil((ymax-ymin)/dh),ceil为向上取整函数。这里的每一个正方形可称为目标空域中的一个网格子空域,目标空域划分示意图如图2所示;
步骤2、提取航空器坐标:从空中交通管制系统接入航班航迹数据,从中提取出每一航空器的水平坐标及高度信息,由这些信息构成所有航空器集合f;
步骤3、判断航空器所属网格子空域:基于每一航空器的水平坐标判断出其所在的网格子空域,并记录下每一航空器所在的网格子空域的编号。设航空器fi的横、纵坐标分别为xi、yi,其所在网格子空域编号为(gi,gj),则gi=ceil((xi-xmin)/dh),gj=ceil((yi-ymin)/dh);
步骤4、提取相邻航空器集合:先根据网格子空域之间的空间关系判断每一网格子空域的相邻网格子空域。设网格子空域的编号为(gi,gj),则其以及其相邻的网格子空域共9个,即(gi-1,gj-1)、(gi,gj-1)、(gi+1,gj-1)、(gi-1,gj)、(gi,gj)、(gi+1,gj)、(gi-1,gj+1)、(gi,gj+1)、(gi+1,gj+1)。然后从所有航空器集合f中提取出上述9个网格子空域内的所有航空器,以此作为第i个相邻航空器集合fi。遍历所有网格子空域,循环执行本步骤;
步骤5、相邻航空器冲突检测:设第i个相邻航空器集合fi内共有n架航空器,则两两判断航空器间的水平间隔是否小于相邻航空器间水平间隔标准dh,如果满足则进一步判断航空器间的垂直间隔是否小于相邻航空器间垂直间隔标准dv,如果都满足则表明存在一次冲突。遍历所有相邻航空器集合,循环执行本步骤,即可完成所有航空器间的冲突检测。