
[0001]
本发明涉及民航空域数据处理的技术领域,尤其涉及一种基于航行通告分析受影响航班的装置,其借助解析动态报文结合静态情报数据用于分析受影响航班。
背景技术:[0002]
航行通告(notam)是飞行人员和与飞行业务有关的人员必须及时了解的,以电信方式发布的,关于航空设施、服务、程序的建立情况或者变化,以及对航空有危险的情况的出现和变化的通知,它在航空公司生产运行中起着非常重要的作用。当前,国内多家航空公司已拥有自己的航行通告处理系统,但随着我国民航行业的快速发展、航班量不断增加,航行通告处理系统的应用需求也在不断扩大,有着很大的提升空间。而航行通告作为生产运行一线数据,其内容(尤其是e项)的精细化解析一直没有完全被挖掘出来,因此可以尝试从精细化解析的角度进一步深入研究,在原有的应用中更集中关注在航行通告对航班运行的实时影响上。
技术实现要素:[0003]
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种基于航行通告分析受影响航班的装置,其可以从航行通告中逐步分析出受影响的航路、公司航线、飞机计划,最后得出受影响的航班,以便进一步挖掘航行通告的价值,为未来的报文处理应用提供新的思路。
[0004]
本发明的技术方案是:这种基于航行通告分析受影响航班的装置,其包括:
[0005]
航行通告时间解析模块,其配置来解析notam报中的生效时间范围,并根据数十类d项模板,通过正则适配的方式精细化解析出具体哪几天的哪些时段是报文生效时段;
[0006]
航行通告区域解析模块,其配置来通过解析notam报的q项、e项,识别有效关键字,利用自动或传参的方式来精确分析出报文所影响的区域范围;
[0007]
受影响航路分析模块,其配置来分析在报文生效时间范围内,被明确禁航的航段或受影响区域范围所涉及的航段;
[0008]
受影响公司航线分析模块,其配置来通过分析受影响的飞行计划范围,进而确定受影响的公司航线;
[0009]
受影响航班分析模块,其配置来使用受影响的公司航线去获取未来三天的航班计划,进而确定受影响的航班集合。
[0010]
本发明通过精细化解析手段,建立通告报文中时间维度与空间维度的范围模型,再结合静态情报数据,逐步分析出受影响的航路、公司航线、飞机计划,最后得出受影响的航班,以便进一步挖掘航行通告的价值,为未来的报文处理应用提供新的思路。
附图说明
[0011]
图1为本发明的基于航行通告分析受影响航班的装置的结构示意图;
[0012]
图2为本发明实施例航行通告时间解析模块结构示意图;
[0013]
图3为本发明实施例航行通告区域解析模块结构示意图;
[0014]
图4为本发明实施例受影响航路分析模块结构示意图;
[0015]
图5为本发明实施例受影响公司航线分析模块结构示意图;
[0016]
图6为本发明实施例受影响航班分析模块结构示意图;
[0017]
图7为航行通告时间解析模块中报文生效/失效时间解析单元工作流程图;
[0018]
图8是航行通告时间解析模块中报文详细时间补充解析单元工作流程图;
[0019]
图9是航行通告区域解析模块中报文q项区域解析单元工作流程图;
[0020]
图10是航行通告区域解析模块中报文e项区域补充解析单元工作流程图;
[0021]
图11是航行通告区域解析模块中报文e项区域补充解析单元下步骤d5的工作流程图;
[0022]
图12是航行通告区域解析模块中报文e项区域补充解析单元下步骤d6的工作流程图;
[0023]
图13是受影响航路分析模块中航路限制解析单元的工作流程图;
[0024]
图14是受影响航路分析模块中区域影响航路分析单元的工作流程图;
[0025]
图15是受影响公司航线分析模块中飞行计划受影响范围确定单元的工作流程图;
[0026]
图16是受影响公司航线分析模块中受影响航线确定单元的工作流程图;
[0027]
图17是受影响航班分析模块中航班计划获取单元的工作流程图;
[0028]
图18是受影响航班分析模块中受影响航班确定单元的工作流程图。
具体实施方式
[0029]
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0030]
为了使本揭示内容的叙述更加详尽与完备,下文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的装置步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。
[0031]
如图1所示,这种基于航行通告分析受影响航班的装置,其包括:
[0032]
航行通告时间解析模块,其配置来解析notam报中的生效时间范围,并根据数十类d项模板,通过正则适配的方式精细化解析出具体哪几天的哪些时段是报文生效时段;
[0033]
航行通告区域解析模块,其配置来通过解析notam报的q项、e项,识别有效关键字,利用自动或传参的方式来精确分析出报文所影响的区域范围;
[0034]
受影响航路分析模块,其配置来分析在报文生效时间范围内,被明确禁航的航段或受影响区域范围所涉及的航段;
[0035]
受影响公司航线分析模块,其配置来通过分析受影响的飞行计划范围,进而确定受影响的公司航线;
[0036]
受影响航班分析模块,其配置来使用受影响的公司航线去获取未来三天的航班计划,进而确定受影响的航班集合。
[0037]
本发明通过精细化解析手段,建立通告报文中时间维度与空间维度的范围模型,再结合静态情报数据,逐步分析出受影响的航路、公司航线、飞机计划,最后得出受影响的航班,以便进一步挖掘航行通告的价值,为未来的报文处理应用提供新的思路。
[0038]
优选地,所述航行通告时间解析模块包括:
[0039]
报文生效/失效时间解析单元,通过解析notam报的b项和c项,来确定报文的整体生效时间和失效时间;
[0040]
报文详细时间补充解析单元,通过解析并适配notam报的d项,来确定报文的详细生效时间和失效时间。
[0041]
优选地,所述航行通告区域解析模块包括:
[0042]
报文q项区域解析单元,通过解析notam报的q项,来确定报文的整体影响范围区域;
[0043]
报文e项区域补充解析单元单元,通过拆解报文e项、提取关键字的方式,解析出受影响区域的形状、范围集合。
[0044]
优选地,所述受影响航路分析模块包括:
[0045]
航路限制解析单元,用于对报文e项逐行去匹配禁航描述,拆解出所有的禁航航段;
[0046]
区域影响航路分析单元,计算得出与报文影响区域相交的航段集合。
[0047]
优选地,所述受影响公司航线分析模块包括:
[0048]
飞行计划受影响范围确定单元,利用受影响航段,查出受影响的公司航线,进而获取对应的计算机飞行计划,确定飞行计划中受影响的起点和终点;
[0049]
受影响航线确定单元,使用飞机计划中受影响的高度范围与最低安全高度或报文高度上下限范围进行比较,来确定受影响的公司航线集合。
[0050]
优选地,所述受影响航班分析模块包括:
[0051]
航班计划获取单元,利用受影响的公司航线集合,获取未来三天的航班计划数据,并确定合适的航班起飞时间;
[0052]
受影响航班确定单元,通过判断计算飞行计划受影响航段的起始、结束时间与报文生效、失效时间是否存在交集,来确定所有的受影响航班集合。
[0053]
优选地,所述航行通告区域解析模块中,报文e项区域补充解析单元下自动分析步骤(d4)包括:
[0054]
(d51)提取航行通告e项关键字及对应内容;
[0055]
(d52)按照航行通告b、c项表达的时间范围,来获取对应的情报数据周期,进而去相应周期中获取e项关键字中航路点的经纬度;
[0056]
(d53)判断关键字中包含的点是否只有一组,若是的话转至步骤(d54),
[0057]
否则转至步骤(d59);
[0058]
(d54)判断e项关键字中包含的要素的种类,去匹配下列四种情况:
[0059]
1)点、半径;
[0060]
2)点、长半径、短半径;
[0061]
3)点、半径、起始/终止角度;
[0062]
4)点、长半径、短半径、起始/终止角度;
[0063]
(d55)转至此步,说明上述情况(1),解析为圆形区域;
[0064]
(d56)转至此步,说明上述情况(2),解析为椭圆形区域;
[0065]
(d57)转至此步,说明上述情况(3),解析为扇形区域;
[0066]
(d58)转至此步,说明上述情况(4),解析为椭圆扇形区域;
[0067]
(d59)转至此步说明关键字中包含多组点信息,按照点的顺序解析为多边形区域。
[0068]
优选地,所述受影响航路分析模块中航路限制解析单元执行:
[0069]
(e1)获取航行通告e项内容;
[0070]
(e2)解析e项内容是否包含禁航关键字;
[0071]
(e3)无禁航信息,则执行区域影响航路分析单元;
[0072]
(e4)系统按照航行通告有效时间b、c项获取情报基础数据,获取当前周期的所有航路和航路点数据;
[0073]
(e5)将报文e项逐行拆分,每一行拆分结果去和正则表达式:航路标识+[^a-z0-9a-z]{1,},进行匹配;
[0074]
(e6)判断是否匹配成功,若成功,执行步骤(e7),否则返回步骤(e5),执行下一行;
[0075]
(e7)获取匹配航路的所有航路点,并对该行内容再次进行航路点匹配,正则表达式为:航路点标识+[^a-z0-9a-z]{1,};
[0076]
(e8)逐行判断识别的航路点个数是否为2个;
[0077]
(e9)直接使用匹配出的2个点,作为禁航的起始点和结束点;
[0078]
(e10)转至此步说明航路点超过2个,使用这些航路点中的第一个点和最后一个点,作为禁航的起始点和结束点;
[0079]
(e11)禁航的起始点和结束点,共同构成了禁航的一个航段,将此航段加入到定义的受影响航段集合setsegment中,继续执行下一行,从步骤(e5)开始循环执行,直至e项最后一行。
[0080]
优选地,受影响公司航线分析模块中飞行计划受影响范围确定单元执行:
[0081]
(g1)从受影响航段集合setsegment中循环取出每一组[开始点,结束点];
[0082]
(g2)将取出的[开始点,结束点]作为公司航线走向中的首尾点参数,去查询对应的公司航线,组成集合setairway;
[0083]
(g3)使用公司航线集合setairway,调用soap接口,获取每一组公司航线对应的计算机飞行计划,组成集合setplan;
[0084]
(g4)循环解析每一组计算机飞行计划,获取每一组的巡航开始点toc、巡航结束点tod、飞行总耗时,以及每个点的名称、剩余时长及高度层的关键信息;
[0085]
(g5)判断飞行计划中的受影响航段起始点p_begin是否在toc之前,若是则转至步骤(g6),否则转至步骤(g7);
[0086]
(g6)将巡航开始点toc定义为飞行计划受影响起点;
[0087]
(g7)将受影响航段起始点p_begin定义为飞行计划受影响起点;
[0088]
(g8)判断飞行计划中的受影响航段结束点p_end是否在tod之后,若是,则转至步骤(g9),否则转至步骤(g10);
[0089]
(g9)将巡航结束点tod定义为飞行计划受影响终点;
[0090]
(g10)将受影响航段结束点p_end定义为飞行计划受影响终点;
[0091]
(g11)获取飞行计划中受影响起点、终点之间的部分,拆分为多个连续航段,并将每个航段的高度层提取出来,存入集合setaltitude。
[0092]
优选地,受影响公司航线分析模块中受影响航线确定单元执行:
[0093]
(h1)判断受影响航段在当前周期的航路基础表中是否存在msa最低安全高度,若是则转至步骤(h2),否则转至步骤(h9);
[0094]
(h2)使用setaltitude集合中航段对应的所有高度层,与msa进行比较;
[0095]
(h3)判断是否存在任一高度层小于msa,若是则转至步骤(h4),否则转至步骤(h7);
[0096]
(h4)认为飞行计划与msa的高度存在交集,将对应的该条公司航线加入受影响公司航线集合setaffectedairway;
[0097]
(h5)判断计算机飞行计划集合setplan是否循环执行至最后一条,若是则转至步骤(h6),否则转至步骤(h7);
[0098]
(h6)判断受影响航段集合setsegment是否循环执行至最后一条,若是则结束本单元的工作流程,直接转至下一单元继续执行,否则转至步骤(h8);
[0099]
(h7)转至步骤(g4),继续循环执行计算机飞行计划集合setplan中的下一条;
[0100]
(h8)转至步骤(g1),继续循环执行受影响航段集合setsegment中的下一条;
[0101]
(h9)获取航行通告报文的f项、g项内容;
[0102]
(h10)使用正则表达式解析f项、g项,作为高度的下限和上限;
[0103]
(h11)使用解析出的上、下限度作为高度范围,与setaltitude集合中的所有高度层进行比较;
[0104]
(h12)判断上、下限高度范围与高度层是否存在交集,若存在,转至步骤(h4),否则转至步骤(h7)。
[0105]
通过本发明可以实现以下有益效果:
[0106]
一、解析notam报中的生效时间范围,并根据数十类d项模板,通过正则适配的方式精细化解析出具体哪几天的哪些时段是报文生效时段。
[0107]
二、通过解析notam报的q项、e项,识别有效关键字,利用自动或传参的方式来精确分析出报文所影响的区域范围。
[0108]
三、分析在报文生效时间范围内,被明确禁航的航段或受影响区域范围所涉及的航段。
[0109]
四、通过分析受影响的飞行计划范围,进而确定受影响的公司航线。
[0110]
五、使用受影响的公司航线去获取未来三天的航班计划,进而确定受影响的航班集合。
[0111]
以下更具体地说明本发明的内容。
[0112]
图1为本发明实施例主要功能模块结构示意图,包括:
[0113]
航行通告时间解析模块1,用于解析notam报中的生效时间范围,并根据数十类d项模板,通过正则适配的方式精细化解析出具体哪几天的哪些时段是报文生效时段。
[0114]
航行通告区域解析模块2,通过解析notam报的q项、e项,识别有效关键字,利用自动或传参的方式来精确分析出报文所影响的区域范围。
[0115]
受影响航路分析模块3,分析在报文生效时间范围内,被明确禁航的航段或受影响
区域范围所涉及的航段。
[0116]
受影响公司航线分析模块4,通过分析受影响的飞行计划范围,进而确定受影响的公司航线。
[0117]
受影响航班分析模块5,使用受影响的公司航线去获取未来三天的航班计划,进而确定受影响的航班集合。
[0118]
上述算法建立在航行通告notam的动态数据基础上,结合航路、航段、航路点、限制区等周期性情报数据,通过解析通告报文中与时间、空间相关的要素,进而分析出受影响的航路、公司航线、飞行计划乃至航班。
[0119]
图2为本发明实施例航行通告时间解析模块结构示意图,本模块包括:
[0120]
报文生效/失效时间解析单元11,通过解析notam报的b项和c项,来确定报文的整体生效时间和失效时间;
[0121]
报文详细时间补充解析单元12,通过解析并适配notam报的d项,来确定报文的详细生效时间和失效时间。
[0122]
图3为本发明实施例航行通告区域解析模块结构示意图,本模块包括:
[0123]
报文q项区域解析单元21,通过解析notam报的q项,来确定报文的整体影响范围区域;
[0124]
报文e项区域补充解析单元单元22,通过拆解报文e项、提取关键字的方式,解析出受影响区域的形状、范围集合;
[0125]
图4为本发明实施例受影响航路分析模块结构示意图,本模块包括:
[0126]
航路限制解析单元31,用于对报文e项逐行去匹配禁航描述,拆解出所有的禁航航段;
[0127]
区域影响航路分析单元32,计算得出与报文影响区域相交的航段集合。
[0128]
图5为本发明实施例受影响公司航线分析模块结构示意图,本模块包括:
[0129]
飞行计划受影响范围确定单元41,利用受影响航段,查出受影响的公司航线,进而获取对应的计算机飞行计划,确定飞行计划中受影响的起点和终点;
[0130]
受影响航线确定单元42,使用飞机计划中受影响的高度范围与最低安全高度或报文高度上下限范围进行比较,来确定受影响的公司航线集合。
[0131]
图6为本发明实施例受影响航班分析模块结构示意图,本模块包括:
[0132]
航班计划获取单元51,利用受影响的公司航线集合,获取未来三天的航班计划数据,并确定合适的航班起飞时间;
[0133]
受影响航班确定单元52,通过判断计算飞行计划受影响航段的起始、结束时间与报文生效、失效时间是否存在交集,来确定所有的受影响航班集合。
[0134]
图7为航行通告时间解析模块中报文生效/失效时间解析单元的工作流程图:
[0135]
a1:使用正则表达式,从notam航行通告中获取报文的b项和c项;
[0136]
a2:按规则解析b项,作为报文的生效时间;
[0137]
a3:判断获取的c项是否为null,若不为空则转至步骤a4,否则转至步骤a5;
[0138]
a4:转至此步说明c项不为空,按规则解析c项,并作为报文的结束时间;
[0139]
a5:转至此步说明c项为空,设置报文的结束时间为“2099/12/31 23:59:59”。
[0140]
图8是航行通告时间解析模块中报文详细时间补充解析单元的工作流程图:
[0141]
b1:解析报文,判断是否存在d项,若存在则转至步骤b2,否则结束本单元的工作流程,直接转至下一单元继续执行;
[0142]
b2:取出d项部分,对内容进行格式化,比如删除冗余文字:“odd”、“days”、“()”、“time”、“from”等等;
[0143]
b3:取出格式化后的d项内容,去逐一匹配预设的数十类模板;
[0144]
b4:匹配成功后,按此模块解析d项的具体时间范围。
[0145]
图9是航行通告区域解析模块中报文q项区域解析单元的工作流程图:
[0146]
c1:从notam报中解析获取q项内容;
[0147]
c2:通过正则表达式匹配方式,解析获取的内容,获取报文生效范围的中心点、半径要素。
[0148]
图10是航行通告区域解析模块中报文e项区域补充解析单元的工作流程图:
[0149]
d1:获取并拆解航行通告e项内容;
[0150]
d2:从e项内容中尝试提取关键字,包括“圆心”、“中心”、“半径”、“区域”、“范围”等;
[0151]
d3:判断提取的关键字是否为空,若不为空则转至步骤d4,若为空则转至步骤d5;
[0152]
d4:转至此步骤说明能够提取出有效关键字,认为e项描述的内容为简单类型的区域描述,后续进入自动分析报文e项影响区域步骤;
[0153]
d5:转至此步骤说明不能提取出有效关键字,认为e项描述的内容为复杂类型的区域描述,后续进入人工解析报文e项影响区域步骤。
[0154]
图11是航行通告区域解析模块中报文e项区域补充解析单元下自动分析步骤(d4)的工作流程图:
[0155]
d51:提取航行通告e项关键字及对应内容,比如关键字“圆心”及其经纬度、“半径”及其具体数值等;
[0156]
d52:按照航行通告b、c项表达的时间范围,来获取对应的情报数据周期,进而去相应周期中获取e项关键字中航路点的经纬度;
[0157]
d53:判断关键字中包含的点(航路点或直接用经纬度表示的点)是否只有一组,若是的话转至步骤d54,否则转至步骤d59;
[0158]
d54:判断e项关键字中包含的要素的种类,去匹配下列四种情况:
[0159]
1)点、半径;
[0160]
2)点、长半径、短半径;
[0161]
3)点、半径、起始/终止角度;
[0162]
4)点、长半径、短半径、起始/终止角度。
[0163]
d55:转至此步,说明上述情况(1),可解析为圆形区域;
[0164]
d56:转至此步,说明上述情况(2),可解析为椭圆形区域;
[0165]
d57:转至此步,说明上述情况(3),可解析为扇形区域;
[0166]
d58:转至此步,说明上述情况(4),可解析为椭圆扇形区域;
[0167]
d59:转至此步说明关键字中包含多组点信息,需按照点的顺序解析为多边形区域。
[0168]
图12是航行通告区域解析模块中报文e项区域补充解析单元下人工解析步骤(d6)
的工作流程图:
[0169]
d61:转至此步说明e项中无有效关键字,只能通过人工介入方式来确定影响区域。人工选择解析类型,传参至系统中;
[0170]
d62:系统判断传入的参数类型,若为区域连线相交,则转至步骤d63;若为航路限制区,则转入步骤d68;
[0171]
d63:系统提供情报区、管制区、限制区输入框,提供区域连线数据输入框,由人工填入数据;
[0172]
d64:系统按照航行通告有效时间b、c项获取对应周期情报区、管制区、限制区数据,并转换为经纬度区域;
[0173]
d65:判断连线及其延长线是否同获取的情报区、管制区、限制区区域存在相交,若存在,转至步骤d66,否则转至步骤d67;
[0174]
d66:计算情报区、管制区、限制区区域与连线数据相交的区域;
[0175]
d67:转至此步说明无相交区域,返回null;
[0176]
d68:系统提供限制航路输入框,提供限制航路点及半径输入框,由人工填入数据;
[0177]
d69:使用输入的限制航路点及半径信息,绘制圆形;
[0178]
d70:判断输入的限制航路是否与绘制的圆形存在交集,若存在,转至步骤d71,否则转至d67;
[0179]
d71:计算限制航路与圆形相交的区域。
[0180]
图13是受影响航路分析模块中航路限制解析单元的工作流程图:
[0181]
e1:获取航行通告e项内容;
[0182]
e2:解析e项内容是否包含禁航关键字,比如:xx航路,yy点至zz点禁航;
[0183]
e3:无禁航信息,则执行区域影响航路分析单元;
[0184]
e4:系统按照航行通告有效时间b、c项获取情报基础数据,获取当前周期的所有航路和航路点数据;
[0185]
e5:将报文e项逐行拆分,每一行拆分结果去和正则表达式“航路标识”+“[^a-z0-9a-z]{1,}”进行匹配;
[0186]
e6:判断是否匹配成功,若成功,执行步骤e7,否则返回步骤e5,执行下一行;
[0187]
e7:获取匹配航路的所有航路点,并对该行内容再次进行航路点匹配,正则表达式为“航路点标识”+“[^a-z0-9a-z]{1,}”;
[0188]
e8:逐行判断识别的航路点个数是否为2个;
[0189]
e9:直接使用匹配出的2个点,作为禁航的起始点和结束点;
[0190]
e10:转至此步说明航路点超过2个,使用这些航路点中的第一个点和最后一个点,作为禁航的起始点和结束点;
[0191]
e11:禁航的起始点和结束点,共同构成了禁航的一个航段。将此航段加入到定义的受影响航段集合setsegment中。继续执行下一行,从步骤e5开始循环执行,直至e项最后一行。
[0192]
图14是受影响航路分析模块中区域影响航路分析单元的工作流程图:
[0193]
f1:系统按照航行通告有效时间b、c项获取情报基础数据,获取当前周期的所有航路和航段数据;
[0194]
f2:计算得到这些航段和报文影响区域(航行通告区域解析模块的返回结果)相交的航段集合setsegment。
[0195]
图15是受影响公司航线分析模块中飞行计划受影响范围确定单元的工作流程图:
[0196]
g1:从受影响航段集合setsegment中循环取出每一组[开始点,结束点];
[0197]
g2:将取出的[开始点,结束点]作为公司航线走向中的首尾点参数,去查询对应的公司航线,组成集合setairway;
[0198]
g3:使用公司航线集合setairway,调用soap接口,获取每一组公司航线对应的计算机飞行计划,组成集合setplan;
[0199]
g4:循环解析每一组计算机飞行计划,获取每一组的巡航开始点toc、巡航结束点tod、飞行总耗时,以及每个点的名称、剩余时长及高度层等关键信息;
[0200]
g5:判断飞行计划中的受影响航段起始点p_begin是否在toc之前,若是则转至步骤g6,否则转至步骤g7;
[0201]
g6:将巡航开始点toc定义为飞行计划受影响起点;
[0202]
g7:将受影响航段起始点p_begin定义为飞行计划受影响起点;
[0203]
g8:判断飞行计划中的受影响航段结束点p_end是否在tod之后,若是,则转至步骤g9,否则转至步骤g10;
[0204]
g9:将巡航结束点tod定义为飞行计划受影响终点;
[0205]
g10:将受影响航段结束点p_end定义为飞行计划受影响终点;
[0206]
g11:获取飞行计划中受影响起点、终点之间的部分,拆分为多个连续航段,并将每个航段的高度层提取出来,存入集合setaltitude。
[0207]
图16是受影响公司航线分析模块中受影响航线确定单元的工作流程图:
[0208]
h1:判断受影响航段在当前周期的航路基础表中是否存在msa最低安全高度,若是则转至步骤h2,否则转至步骤h9;
[0209]
h2:使用setaltitude集合中航段对应的所有高度层,与msa进行比较;
[0210]
h3:判断是否存在任一高度层小于msa,若是则转至步骤h4,否则转至步骤h7;
[0211]
h4:认为飞行计划与msa的高度存在交集,将对应的该条公司航线加入受影响公司航线集合setaffectedairway;
[0212]
h5:判断计算机飞行计划集合setplan是否循环执行至最后一条,若是则转至步骤h6,否则转至步骤h7;
[0213]
h6:判断受影响航段集合setsegment是否循环执行至最后一条,若是则结束本单元的工作流程,直接转至下一单元继续执行,否则转至步骤h8;
[0214]
h7:转至步骤g4,继续循环执行计算机飞行计划集合setplan中的下一条;
[0215]
h8:转至步骤g1,继续循环执行受影响航段集合setsegment中的下一条;
[0216]
h9:获取航行通告报文的f项、g项内容;
[0217]
h10:使用正则表达式解析f项、g项,作为高度的下限和上限;
[0218]
h11:使用解析出的上、下限度作为高度范围,与setaltitude集合中的所有高度层进行比较;
[0219]
h12:判断上、下限高度范围与高度层是否存在交集,若存在,转至步骤h4,否则转至步骤h7。
[0220]
图17是受影响航班分析模块中航班计划获取单元的工作流程图:
[0221]
i1:从受影响公司航线集合setaffectedairway中循环取出每一组[起飞机场,降落机场];
[0222]
i2:以每一组起飞机场、落地机场为参数,去航司的航班计划数据中,获取未来三天的航班计划;
[0223]
i3:判断航班计划中的预计起飞时间是否有值,若是,则转至步骤i4,否则转至步骤i5;
[0224]
i4:使用预计起飞时间作为航班起飞时间;
[0225]
i5:转至此步说明预计起飞时间为空,则使用计划起飞时间作为航班起飞时间。
[0226]
图18是受影响航班分析模块中受影响航班确定单元的工作流程图:
[0227]
j1:计算对应的“(飞行计划总时长-飞行计划受影响航段起点对应的剩余时长)+航班起飞时间”,作为飞行计划受影响航段的起始时刻t_start;
[0228]
j2:计算对应的“(飞行计划总时长-飞行计划受影响航段终点对应的剩余时长)+航班起飞时间”,作为飞行计划受影响航段的结束时间t_end;
[0229]
j3:判断[t_start,t_end]时间范围是否和报文的生效时间、失效时间(d项的解析结果)存在交集;
[0230]
j4:认为该航班为受影响航班,加入受影响航班集合setflight中;
[0231]
j5:判断受影响公司航线集合setaffectedairway是否循环至最后一条,若是,转至步骤j6,否则转至步骤j7;
[0232]
j6:转至此步说明受影响公司航线集合未循环完毕,转至步骤i1开始下一个循环;
[0233]
j7:输出最终的受影响航班集合setflight。
[0234]
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。