[0001]
本发明涉及民航空域数据处理的技术领域,尤其涉及一种航空公司临时航路的频次处理装置及方法,其为航空公司节约运营成本、取得更大的经济效益提供依据。
背景技术:[0002]
航路飞行阶段是整个飞行过程中耗时最长的阶段,航路选择的经济性很大程度上影响整个飞行的经济性。航空公司在飞行航路的选择上余地有限,研究如何能高效利用临时航路在实际运行中有着节约成本的现实意义。这里的临时航路指的是航班在飞行过程中采用了临时航段的一整条航路。而临时航段可以理解为不存在于情报数据中航路信息表中的航路段,采用临时航段的航空器,通常其飞行距离要比计划飞行距离要短。这方面研究的前提是航行大数据,一要数据准确;二要数据持续完整,短期的样本数据没有参考价值。而广播式自动相关监视(ads-b)作为新一代监视技术,可以满足这方面研究的要求。
[0003]
ads-b是国际民航组织确定的、也是我国大力推进的未来主要监视技术,它将卫星导航、通信技术、机载设备以及地面设备等先进技术相结合,提供了更加安全、高效的空中交通监视手段,能有效提高管制员和飞行员的运行态势感知能力,扩大监视覆盖范围,提高空中交通安全水平、空域容量与运行效率。民航数据通信有限责任公司在ads-b领域深耕已久,不仅在全国建站百余个,而且是东部地区ads-b一级数据中心的承建单位。依托于民航数据通信有限责任公司在ads-b数据获取的先天优势,可以开展航路飞行领域的大数据研究,辅助航空公司选择更经济的临时航线,协助提升飞行航路阶段的经济效益。
技术实现要素:[0004]
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种航空公司临时航路的频次处理装置,其为航空公司节约运营成本、取得更大的经济效益提供依据。
[0005]
本发明的技术方案是:这种航空公司临时航路的频次处理装置,其包括:
[0006]
ads-b报文持久化模块,接收ads-b原始报文,拆分、解析为有意义的字段,并持久化存储在数据库中;
[0007]
临时航段数据准备模块,借助航路拟合算法,利用ads-b数据构建出实际飞行航迹,进而识别出未按计划飞行的航段,并对其中的非基础航路航段进行标记;
[0008]
采用临时航段的航班识别模块,通过两轮不同的过滤规则,筛选出符合临时航段特征的航路;
[0009]
含临时航段的航路存储模块,构造含临时航段的航路分别在拟合结果和对应计划数据中的数据集,并持久化存储到数据库中;
[0010]
临时航段的定位识别存储模块,定位识别临时航段在航路中的起始点和结束点,并单独存储到新的数据集中;
[0011]
临时航段的统计模块,从使用频次、飞越时长、节约距离的维度来统计临时航段的使用情况。
[0012]
本发明通过ads-b报文持久化模块、临时航段数据准备模块、采用临时航段的航班识别模块、含临时航段的航路存储模块、临时航段的定位识别存储模块、临时航段的统计模块,建立各个航空公司采用临时航路的轨迹模型,研判飞行效率,比对航空公司内部、公司与公司之间的关键指标,明确差距,为航空公司节约运营成本、取得更大的经济效益提供依据。
[0013]
还提供了一种航空公司临时航路的频次处理方法,其包括以下步骤:
[0014]
(1)接收ads-b原始报文,拆分、解析为有意义的字段,并持久化存储在数据库中;
[0015]
(2)执行航路拟合算法,识别出未按计划飞行的航段,并针对非基础航路航段进行标记;
[0016]
(3)通过两轮不同的过滤规则,筛选出符合临时航段特征的航路;
[0017]
(4)构造含临时航段的航路分别在拟合结果和对应计划数据中的数据集,并持久化存储到数据库中;
[0018]
(5)定位识别临时航段在航路中的起始点和结束点,并单独存储到新的数据集中;
[0019]
(6)从使用频次、飞越时长、节约距离的维度来统计临时航段的使用情况。
附图说明
[0020]
图1为本发明的航空公司临时航路的频次处理装置的结构示意图;
[0021]
图2为本发明的ads-b报文持久化模块结构示意图;
[0022]
图3为本发明的临时航段数据准备模块结构示意图;
[0023]
图4为本发明的采用临时航段的航班识别模块结构示意图;
[0024]
图5为本发明的含临时航段的航路存储模块结构示意图;
[0025]
图6为本发明的临时航段的定位识别存储模块结构示意图;
[0026]
图7为本发明的临时航段的统计模块结构示意图;
[0027]
图8是ads-b报文持久化模块的工作流程图;
[0028]
图9是临时航段数据准备模块的工作流程图;
[0029]
图10是采用临时航段的航班识别模块的工作流程图;
[0030]
图11是含临时航段的航路存储模块的工作流程图;
[0031]
图12是临时航段的定位识别存储模块的工作流程图;
[0032]
图13是临时航段的统计模块的工作流程图;
[0033]
图14是步骤e7转至e8的路径对应的场景;
[0034]
图15是步骤e7转至e9对应的场景。
具体实施方式
[0035]
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0036]
为了使本揭示内容的叙述更加详尽与完备,下文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的装置步骤与其顺
序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。
[0037]
如图1所示,这种航空公司临时航路的频次处理装置,其包括:
[0038]
ads-b报文持久化模块,接收ads-b原始报文,拆分、解析为有意义的字段,并持久化存储在数据库中;
[0039]
临时航段数据准备模块,借助航路拟合算法,利用ads-b数据构建出实际飞行航迹,进而识别出未按计划飞行的航段,并对其中的非基础航路航段进行标记;
[0040]
采用临时航段的航班识别模块,通过两轮不同的过滤规则,筛选出符合临时航段特征的航路;
[0041]
含临时航段的航路存储模块,构造含临时航段的航路分别在拟合结果和对应计划数据中的数据集,并持久化存储到数据库中;
[0042]
临时航段的定位识别存储模块,定位识别临时航段在航路中的起始点和结束点,并单独存储到新的数据集中;
[0043]
临时航段的统计模块,从使用频次、飞越时长、节约距离的维度来统计临时航段的使用情况。
[0044]
本发明通过ads-b报文持久化模块、临时航段数据准备模块、采用临时航段的航班识别模块、含临时航段的航路存储模块、临时航段的定位识别存储模块、临时航段的统计模块,建立各个航空公司采用临时航路的轨迹模型,研判飞行效率,比对航空公司内部、公司与公司之间的关键指标,明确差距,为航空公司节约运营成本、取得更大的经济效益提供依据。
[0045]
优选地,所述ads-b报文持久化模块包括:
[0046]
接收ads-b数据单元,接收ads-b原始报文;
[0047]
解析ads-b数据单元,拆分、解析成有意义的属性字段;
[0048]
存储ads-b数据单元,将有意义的属性字段,持久化存储到数据库中。
[0049]
优选地,所述临时航段数据准备模块包括:
[0050]
飞行计划预处理单元,重构飞行计划表,将飞行计划组织成每个航班多条记录的形式,提高后续与拟合结果进行比对的效率;
[0051]
航路拟合算法单元,通过ads-b数据拟合出实际飞行航迹,存储为拟合航路结果表,并从中识别出未按计划飞行的航段;
[0052]
判断并标记非基础航段单元,识别并记录未按计划飞行的非基础航段。
[0053]
优选地,所述采用临时航段的航班识别模块包括:
[0054]
dct过滤单元,从拟合航路表中,通过dct标记,筛选出未按计划飞行的非基础航段;
[0055]
距离过滤单元,通过比较实际航迹距离与计划航路距离长短,来二次筛选出包含临时航段的航路。
[0056]
优选地,所述含临时航段的航路存储模块包括:
[0057]
构造临时航路拟合数据集单元,新建一个数据集,来集中存储飞行临时航段的航班拟合航路记录;
[0058]
构造临时航路计划数据集单元,新建一个数据集,来集中存储飞行临时航段的航班飞行计划记录。
[0059]
优选地,所述临时航段的定位识别存储模块包括:
[0060]
临时航段的起点识别单元,识别临时航段的起点;
[0061]
临时航段的重点识别单元,识别临时航段的终点;
[0062]
临时航段的存储单元,将识别出的起点至终点段的拟合记录和计划记录分别存储为新的数据集。
[0063]
优选地,所述临时航段的统计模块包括:
[0064]
统计范围传参单元,提供给用户自定义统计参数;
[0065]
临时航段提取、分组单元,提取符合统计参数条件的记录提取出来,并按临时航段分组;
[0066]
多维度统计单元,系统按临时航段的不同要素来统计、产出统计结果。
[0067]
以下更详细地说明本发明。
[0068]
图1为本发明的装置的结构示意图,包括:
[0069]
ads-b报文持久化模块1,用于接收ads-b原始报文,拆分、解析为有意义的字段,并持久化存储在数据库中。
[0070]
临时航段数据准备模块2,借助航路拟合算法,利用ads-b数据构建出实际飞行航迹,进而识别出未按计划飞行的航段,并对其中的非基础航路航段进行标记。
[0071]
采用临时航段的航班识别模块3,通过两轮不同的过滤规则,筛选出符合临时航段特征的航路。
[0072]
含临时航段的航路存储模块4,用于构造含临时航段的航路分别在拟合结果和对应计划数据中的数据集,并持久化存储到数据库中。
[0073]
临时航段的定位识别存储模块5,用于定位识别临时航段在航路中的起始点和结束点,并单独存储到新的数据集中。
[0074]
临时航段的统计模块6,从使用频次、飞越时长、节约距离等多个维度来统计临时航段的使用情况。
[0075]
上述算法建立在ads-b技术、大数据等相关技术的基础之上,结合民航飞行航路航线,拟合历史飞行数据,建立各航空公司临时航线模型,可为航空公司提供内部航班的横向效率比较,以及与其它航空公司之间的纵向效率比较,为航司规划公司航线设计提供参考依据。
[0076]
图2为本发明的ads-b报文持久化模块结构示意图,本模块包括:
[0077]
接收ads-b数据单元11,用于接收ads-b原始报文;
[0078]
解析ads-b数据单元12,用于拆分、解析成有意义的属性字段;
[0079]
存储ads-b数据单元13,用于将有意义的属性字段,持久化存储到数据库中。
[0080]
图3为本发明的临时航段数据准备模块结构示意图,本模块包括:
[0081]
飞行计划预处理单元21,用于重构飞行计划表,将飞行计划组织成每个航班多条记录的形式,提高后续与拟合结果进行比对的效率;
[0082]
航路拟合算法单元22,用于通过ads-b数据拟合出类似“航路点-航路点”形态的实际飞行航迹,存储为拟合航路结果表,并从中识别出未按计划飞行的航段;
[0083]
判断并标记非基础航段单元23,用于识别并记录未按计划飞行的非基础航段。
[0084]
图4为本发明的采用临时航段的航班识别模块结构示意图,本模块包括:
[0085]
dct过滤单元31,用于从拟合航路表中,通过“dct”标记,筛选出未按计划飞行的非基础航段;
[0086]
距离过滤单元32,用于通过比较实际航迹距离与计划航路距离长短,来二次筛选出包含临时航段的航路。
[0087]
图5为本发明的含临时航段的航路存储模块结构示意图,本模块包括:
[0088]
构造临时航路拟合数据集单元41,用于新建一个数据集,来集中存储飞行临时航段的航班拟合航路记录;
[0089]
构造临时航路计划数据集单元42,用于新建一个数据集,来集中存储飞行临时航段的航班飞行计划记录。
[0090]
图6为本发明的临时航段的定位识别存储模块结构示意图,本模块包括:
[0091]
临时航段的起点识别单元51,用于识别临时航段的起点;
[0092]
临时航段的重点识别单元52,用于识别临时航段的终点;
[0093]
临时航段的存储单元53,用于将识别出的起点至终点段的拟合记录和计划记录分别存储为新的数据集。
[0094]
图7为本发明的临时航段的统计模块结构示意图,本模块包括:
[0095]
统计范围传参单元61,用于提供给用户自定义统计参数,比如日期范围、航司选择等。
[0096]
临时航段提取、分组单元62,用于提取符合统计参数条件的记录提取出来,并按临时航段分组。
[0097]
多维度统计模块63,用于系统按临时航段的不同要素来统计、产出统计结果。
[0098]
图8是ads-b报文持久化模块的详细工作流程:
[0099]
步骤a1:接收全国七个地区内的ads-b cat021格式v2.1版本的报文。
[0100]
转下步;
[0101]
步骤a2:按cat021的格式规定进行报文解析,拆分出有意义的字段,如经纬度、高度、速度、航向等。转下步;
[0102]
步骤a3:对来自7个地区的ads-b数据进行融合处理,主要是去重操作。转下步;
[0103]
步骤a4:处理完毕后将数据存储到数据库中,此处采用适合海量数据存储的hbase数据库。
[0104]
图9是临时航段数据准备模块的详细工作流程:
[0105]
步骤b1:依据航线描述,把飞行计划表组织成每个航班多条记录的结构,并存储下来。转下步;
[0106]
步骤b2:通过航路拟合算法,将ads-b数据按航班拟合成类似“航路点-航路点”的形态,存储为每个航班多条记录的拟合航路表。转下步;
[0107]
步骤b3:从拟合航路表中按顺序尝试取出每个航班的下一航段,比如a-b。转下步;
[0108]
步骤b4:判断航段a-b是否为空,即判断该航班所有拟合的航段是否遍历完毕。若是,则表明本阶段该航班的数据准备工作结束;否则执行步骤b5。
[0109]
步骤b5:拿a-b与处理后的飞行计划表记录进行比较,检查该航班在计划表中经过a点后,是否也是沿a-b航段飞行。若是,则执行步骤b3;否则转至步骤b6;
[0110]
步骤b6:判断a-b段,是否存在于航路基础情报表中。若是,则执行步骤b3;否则转
至步骤b7;
[0111]
步骤b7:更新拟合航路表。为a-b段对应的记录,添加标记字段“dct”。含义是被标记为“dct”的航段,是没有按计划飞行且不属于基础航段的路线。转至步骤b3,继续循环。
[0112]
图10是采用临时航段的航班识别模块的详细工作流程:
[0113]
步骤c1:从拟合航路表中,筛选出airway_name的值为
‘
dct’的所有记录。转下步;
[0114]
步骤c2:筛选出的记录按flightplan_id来分组,每个组按seg_seqno来排序,结果存入数据集dataseta中,即该数据集存储的是拟合结果。转下步;
[0115]
步骤c3:对数据集dataseta执行循环,依次按每个flightplan_id查找计划表中的关联记录,并按seg_seqno顺序存入数据集datasetb中,即该数据集存储的是计划数据。转下步;
[0116]
步骤c4:比较该flightplan_id在dataseta和datasetb中的航段距离之和的大小关系,若∑seg_distance(a)<∑seg_distance(b)+余度m,则转至步骤c6(公式中的余度可自定义,此算法设为0)。否则转至步骤c5;
[0117]
步骤c5:转至此步说明该航班实际飞行距离要比计划飞行距离长,则不认为该航班采用了临时航段飞行,继续执行下一个循环。转至步骤c3;
[0118]
步骤c6:转至此步说明该航班实际飞行距离要比计划飞行距离短,则认为该航班采用了临时航段飞行。
[0119]
图11是含临时航段的航路存储模块的详细工作流程:
[0120]
步骤d1:将dataseta中视为采用了临时航段飞行的航班的所有拟合航路记录,拷贝到新的数据集datasetdcta中。转下步;
[0121]
步骤d2:将datasetb中视为采用了临时航段飞行的航班的所有航班计划记录,拷贝到新的数据集datasetdctb中。
[0122]
图12是临时航段的定位识别存储模块的详细工作流程,整体思路是目标是先找到两个数据集中endpoint不同的记录,再往下找两边endpoint相同的记录,最后取中间的记录为临时航段。
[0123]
步骤e1:以flightplan_id为基准,依seq顺序查找datasetdct_a和datasetdct_b两边的数据中,start_point相同的航段记录。转下步;
[0124]
步骤e2:以该条记录为起点,循环比较datasetdct_a和datasetdct_b两边的航段记录。转下步;
[0125]
步骤e3:判断两条记录中end_point的值是否相同。若相同则转至步骤e2,继续循环;否则转至步骤e3;
[0126]
步骤e4:转至此步说明找到了第一个startpoint点匹配但end_point点不匹配的记录位置,标记一下datasetdct_a中的记录序号seq_a_start,以及datasetdct_b中的记录序号seq_b_start。转下步;
[0127]
步骤e5:标记datasetdct_a中的该记录的end_point值为value_mark。
[0128]
转下步;
[0129]
步骤e6:以seq_b_start这条记录为起点,往下循环去取datasetdct_b中的下一条记录。转下步;
[0130]
步骤e7:判断取出的记录是否为null。若不为null,则转至步骤e8,否则转至步骤
e9。其中,步骤e7转至e8的路径对应的场景可概括为图14:右侧表示计划从点a飞到点b需要经过好几个航段,左侧表示实际采用了直飞。
[0131]
而步骤e7转至e9对应的场景可概括为图15:右侧表示计划从点a飞到点b需要经过路线一,而实际采用了另外的路线二。
[0132]
步骤e8:判断取出的记录中end_point值是否等于value_mark。若不相等,则转至步骤e6,继续循环,否则说明找到了2个数据集中起始点相同但结束点不同的记录,转至步骤e10;
[0133]
步骤e9:取datasetdct_a中的下一条记录,记录其序号seq_a_end,并将其end_point值设为value_mark。转至步骤e6;
[0134]
步骤e10:标记此记录在datasetdct_b的序号seq_b_end。转下步;
[0135]
步骤e11:将datasetdct_a中自seq_a_start至seq_a_end对应的记录视为临时航段,存储至新的数据集datasetdct_a_final中;将datasetdct_b中自seq_b_start至seq_b_end的记录视为临时航段对应的计划路线,存储至新的数据集datasetdct_b_final中。转下步;
[0136]
步骤e12:以相同的唯一标识符在datasetdct_a_final和datasetdct_b_final中存储区分,该临时航段识别并存储完毕。
[0137]
图13是临时航段的统计模块的详细工作流程:
[0138]
步骤f1:从datasetdct_a中,提取选定时间范围内(比如1个月内,可传参)每一个临时航段。转下步;
[0139]
步骤f2:对提取的记录先按临时航段分组(相同的起始点和结束点),再按唯一标识符分组。之后转至多个步骤,同步执行:f3、f4、f6、f12和f17;
[0140]
步骤f3:对于相同的临时航段,统计存在不重复的唯一标识符的个数,视为途经该临时航段次数freq_a。
[0141]
步骤f4:计算每一个临时航段的结束点的tod结束时间与起始点的tod开始时间的差值。转下步;
[0142]
步骤f5:按临时航段分组,取相同组的起止时间差值的求和平均值,视为途经该航段的飞行平均时长。
[0143]
步骤f6:计算每一个临时航段的结束点与起始点的距离,通过读取这个航段中所有记录的两点间距离值,再求和得出。转下步;
[0144]
步骤f7:按临时航段分组,取相同组的起止距离的求和平均值,视为途经该航段的飞行平均距离dis_ave_1。转下步;
[0145]
步骤f8:根据该临时航段的唯一标识符,查找datasetdct_b_final里对应的记录。转下步;
[0146]
步骤f9:同样将每条记录的距离字段值执行求和平均,结果视为未直飞该临时航段的平均飞行距离。转下步;
[0147]
步骤f10:同样将每条记录的距离字段值执行求和平均,结果视为平均飞行距离dis_ave_2。转下步;
[0148]
步骤f11:取值(dis_ave_2-dis_ave_1)视为平均节约距离。
[0149]
步骤f12:抽取飞越每一个临时航段的所有航班号。转下步;
[0150]
步骤f13:按临时航段分组,取相同组的航班号。转下步;
[0151]
步骤f14:对同组的航班号进行分组,按出现次数降序排列。转下步;
[0152]
步骤f15:取顺序前三的航班号,列举出来,作为使用该临时航段频次最多的前三个航班。转下步;
[0153]
步骤f16:取航班号对应的航空公司,可以得出使用该临时航段频次最多的航空公司情况。
[0154]
步骤f17:对于每一个临时航段,查找拟合航路表中里所有经过其起点和终点的所有记录。转下步;
[0155]
步骤f18:统计这些记录中存在不重复的flightplan_id的个数,视为未直飞该临时航段的频次freq_b。转下步;
[0156]
步骤f19:取值(freq_a/freq_b),即视为临时航路的使用频次占比。
[0157]
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。