禁航通告分析逻辑

发布时间 2023-10-09 15:03:58作者: navii

1. 禁航解析结果csv

1.1. 保存路径

\juneyaoair.com\file\运行控制部\航务技术处\情报\00通告席位共享资料\10-席位软件\RouteRestrictionAnalysisSystem\database_for_analyse\database_all_notam_analyse_save

1.2. 各表介绍

1.2.1.《db_all_notam_restrictive_coordinate.csv》——《固定限制区坐标》——无用,请忽略

1.2.2.《db_all_notam_airway_prohibit_airway_with_two_point.csv》——《禁航区域的影响航段》

  • 上图中坐标之后的数字请忽略,为墨卡托投影转换值
字段名 简义 行内位置(前含,后也含) 实例 可空
NOTAM_TYPE 通告类型 1-7 NOTAMN(新报)
NOTAMR(替代报)
N
NOTAM_SERIAL_NO 通告序号 8-15 B0959/23(B系列,2023年,第959份) N
ITEM_A 发生地 16-43 EDWW(情报区四字码,需要TRIM)
ZLHWZWUQ(情报区四字码组合,需要TRIM,最多7个四字码)
N
ITEM_B 起始时间 45-54 2309290830(年 月 日 时 分) N
ITEM_C 结束时间 56-65 2309291130(年 月 日 时 分) N
HAS_PERM 是否PERM 67-70 PERM Y
HAS_EST 是否EST 72-74 EST Y
ZONE_NAME 限制区名称 76-120 EDR401 BASIC C/MVPA NORTH EAST BASIC 1C Y
AIRWAY_NAME 所限航路名 122-126 L23 (需要TRIM) N
SEG_POINT1 所限航段起点名称 128-132 LEGSA(需要TRIM) N
SEG_LAT1 所限航段起点纬度 134-142 N53451197(北纬53度45分11.97秒) N
SEG_LON1 所限航段起点经度 144-153 E012472264(东经12度47分22.64秒) N
SEG_POINT2 所限航段终点名称 198-202 N
SEG_LAT2 所限航段终点纬度 204-212 N
SEG_LON2 所限航段终点经度 214-223 N
  • 国内所发C系列通告,为北京时;其余通告,为UTC时制——注意转换,与FOC航班【起飞基准时间】的时制统一

  • 如出现国内所发非C系列通告,请务必忽略

  • IS_PERM 非空时,无论ITEM_C值为何,NOTAM结束时间实际都是2100年1月1日

  • IS_EST 非空时,无论ITEM_C值为何,NOTAM结束时间实际都是2100年1月1日


1.2.3.《db_all_notam_airway_prohibit_airway_with_two_point.csv》——《禁航航段》

字段名 简义 行内位置(前含,后也含) 实例 可空
NOTAM_TYPE 通告类型 1-7 NOTAMN(新报)
NOTAMR(替代报)
N
NOTAM_SERIAL_NO 通告序号 8-15 B0959/23(B系列,2023年,第959份) N
ITEM_A 发生地 16-43 EDWW(情报区四字码,需要TRIM)
ZLHWZWUQ(情报区四字码组合,需要TRIM,最多7个四字码)
N
ITEM_B NOTAM起始时间 45-54 2309290830(年 月 日 时 分) N
ITEM_C NOTAM结束时间 56-65 2309291130(年 月 日 时 分) N
HAS_PERM 是否PERM 67-70 PERM Y
HAS_EST 是否EST 72-74 EST/UFN Y
AIRWAY_NAME 所限航路名 122-126 L23 (需要TRIM) N
SEG_POINT1 所限航段起点名称 128-132 LEGSA(需要TRIM) N
SEG_LAT1 所限航段起点纬度 134-142 N53451197(北纬53度45分11.97秒) N
SEG_LON1 所限航段起点经度 144-153 E012472264(东经12度47分22.64秒) N
SEG_POINT2 所限航段终点名称 198-202 N
SEG_LAT2 所限航段终点纬度 204-212 N
SEG_LON2 所限航段终点经度 214-223 N
  • IS_PERM 非空时,无论ITEM_C为何值,NOTAM结束时间实际都视为2100年1月1日

  • IS_EST 非空时,无论ITEM_C为何值,NOTAM结束时间实际都视为2100年1月1日


1.2.4.《db_all_notam_d_item.csv》——《各禁航NOTAM对应D项》

  • 上图中的 |B|1035|2023|EDWW| 可无视,与前字段重复
  • 上图中的 |68028246|5387302| 可无视,来自SNMS航行通告系统数据库中(本行数据|通告NOF)唯一ID(如有需要可考虑在新FOC自行生成)
  • 国内所发C系列通告,为北京时;其余通告,为UTC时制

字段名 简义 行内位置(前含,后也含) 实例 可空
NOTAM_SERIAL_NO 通告序号 1-8 B0959/23(B系列,2023年,第959份) N
ITEM_A 发生地 9-36 EDWW(情报区四字码,需要TRIM)
ZLHWZWUQ(情报区四字码组合,需要TRIM,最多7个四字码)
N
DAY_START 本日起始时间 72-90 2023-09-25 08:30:00(YYYY-MM-DD hh:nn:ss) N
DAY_END 本日结束时间 92-100 2023-09-25 11:30:00(YYYY-MM-DD hh:nn:ss) N
  • DAY_START / END中的秒可无视,CSV表中永远为00秒——原来NOTAM起止时间不含秒,都视为00秒

  • 允许存在某个NOTAM(例如ZLHW C0001/23)在此表无对应的D项时段数据行——将视为NOTAM在起止时段内,连续禁航


1.2.5.《db_all_notam_f_g_item.csv》——《各禁航NOTAM对应F/G项》

  • 上图中的 |B|1035|2023|EDWW| 可无视,与前字段重复
字段名 简义 行内位置(前含,后也含) 实例 可空
NOTAM_SERIAL_NO 通告序号 1-8 B0959/23(B系列,2023年,第959份) N
ITEM_A 发生地 9-36 EDWW(情报区四字码,需要TRIM)
ZLHWZWUQ(情报区四字码组合,需要TRIM,最多7个四字码)
N
ITEM_F 高度下限 第5到第6个“|“之间 FL123
10000
25,000M AMSL
250 FT AGL
00150M AMSL
SFC
GND
GROUND
N
ITEM_G 高度上限 第6到第7个“|“之间 UP TO BUT NOT INCLUDING FL180
FL100
10000
UNL
N
  • 允许存在某个NOTAM(例如ZLHW C0001/23)在此表无对应的F/G项高度数据行——将视为NOTAM在全高度范围内禁航

  • 去掉空格、英文逗号后——

    • 如包含“SFC”,“GND”,或“GROUND”即视为0FT;如否
    • 如包含“UNL”即视为99999FT;如否
    • 如包含“FL”后接数字,则视为该数字×100FT,例如“FL123”应视为12300FT;如否
    • 如包含数字后接"M"或“FT”,则视为米或英尺单位的该数字;例如“25,000M”视为25000M;“25000 FT”视为25000FT;如否
      • CFP中高度为百英尺,因此NOTAM中的M应转为FT,Ceiling(M×3.2808)
    • ITEM_F其他情况,视为FL000;ITEM_G其他情况,视为FL999;

2. 对比与告警

NOTAM禁航【航段】、【时段】、【高度范围】 VS CFP【航路点】、【飞越点时刻】、【飞越点高度】

2.0. 两个触发条件

  • 导入时,【起飞基准时刻】有预飞取预飞,无预飞取计飞,触发禁航检查

  • 起飞时,【起飞基准时刻】为实飞,再次触发禁航检查

2.1. 系统应支持配置的关键指标

无需用户界面,数据字典支持配置即可

  • 考虑的【提前起飞小时余度】,例如 1H
  • 考虑的【延误起飞小时余度】,例如 4H

2.2. 遍历NOTAM禁航表,对比CFP

2.2.1. 航路点对比

假设CSV表中,存在某航段——{“航路” = “A444”,“端点1”=“TEBON”,“端点2”=“SWA”}——则应认为与上图CFP是重叠的,过程如下

  • CFP某航路点名"SWA" = CSV表某航段端点1(或端点2)"SWA",且两处的“SWA”相比

    • 纬度南/北一致;且在【度位】都为“23”
    • 经度东/西一致;且在【度位】都为“116”
  • CFP某航路点名"TEBON" = CSV表该航段端点2(或端点1)"TEBON",且两处的“TEBON”相比

    • 纬度南/北一致;且在【度位】都为“24”
    • 经度东/西一致;且在【度位】都为“117”

为何考虑经纬度:避免全球航路点存在重名误取;

为何只考虑度位:避免中导航424、jetplan 424坐标精度不一致导致的细微差异(而实际无差异,是同一航路点)

  • 不考虑CFP中的航路“A470”是否与CSV表中该航段的航路“A444"匹配

不考虑航路原因:三种意外情况,高低空航路可能遗漏情况,和点点直飞无航路匹配不便情况,和国内非公布航路jetplan无航路但424有航路不匹配情况

2.3.2. 高度对比(2.3.1.航路点对比重叠,才进行高度对比)

  • 以上图为例,CFP中的过点高度“331” = FL331 = 33100FT
  • CFP中的过点高度可能不明(该点在TOC之前或在TOD之后),CFP中表现为“...”——应忽略(或视为999),不要报错
  • CFP关闭航段中每一个点的高度中,取【最低高度】,例如min(331,331,331) = 331,再与NOTAM中最高高度ITEM_G对比
    • 如ITEM_G < 【最低高度】,则判断为无重叠(NOTAM禁航高度范围太低,CFP将飞越禁航区域)

2.3.3. 时间对比(2.3.2.高度对比重叠,才进行时间对比)

  • 确定正点起飞时,【禁航区域进入时间】与【禁航区域退出时间】

    • 【禁航区域进入时刻】 = 【起飞基准时刻】 + 【进入点耗时】; 例如上图 STD/ETD/ATD + 40min;
    • 【禁航区域退出时刻】 = 【起飞基准时刻】 + 【退出点耗时】; 例如上图 STD/ETD/ATD+ 48min;
  • 判断属于以下哪种情形

    • 【禁航区域退出时刻】< 【NOTAM开始时间】

      ——业务意义上无影响(除非延误起飞),飞过区域后禁航才开始

      • 【时间差值A】 = 【NOTAM起始时间】 - 【禁航区域退出时间】
      • 【时间差值B】 = 【NOTAM结束时间】 - 【禁航区域进入时间】
      • 【安全起飞时段】 = 早于【起飞基准时间】 + 【时间差值A】,或晚于【起飞基准时间】 + 【时间差值B】
    • 【禁航区域进入时刻】> 【NOTAM结束时间】

      ——业务意义上无影响(除非提前起飞),飞至区域前禁航已结束

      • 【时间差值】 = 【禁航区域进入时刻】 - 【NOTAM结束时间】
      • 【安全起飞时段】 = 晚于【起飞基准时间】 - 【时间差值】
    • (【禁航区域进入时刻】> 【NOTAM开始时间】 且 【禁航区域进入时刻】< 【NOTAM结束时间】)

      (【禁航区域退出时刻】> 【NOTAM开始时间】 且 【禁航区域退出时刻】< 【NOTAM结束时间】)

      (【禁航区域进入时刻】< 【NOTAM开始时间】 且 【禁航区域退出时刻】> 【NOTAM结束时间】)

      ——业务意义上有影响

      • 【时间差值】 = 【NOTAM结束时间】 - 【禁航区域进入时刻】 -

      • 【安全起飞时段】 = 晚于【起飞基准时间】 + 【时间差值】

        虽然理论上可行,但不考虑提前起飞的安全起飞可能性,因为运行中一般不能把提前起飞当作风险缓解手段

  • 遍历NOTAM的每个航段(对应着每个进入/退出时间),进行以上判断

  • 如无D项,同上述,只关注一个时段做判断,即【NOTAM起始时间】 → 【NOTAM结束时间】)

  • 如有D项,嵌套遍历NOTAM的每个D项时段,当做【子起始时间】和【子结束时间】,进行以上判断

    • D项可能带来10000个时段,嵌套遍历时只关注那些属于航班日期前1日、当日、后1日的D项时段
  • 【安全起飞时段】综合取值——即,取最晚的“早于”,取最早的“晚于”

    • 如综合“早于”的时间,早于STD/ETD/ATD的跨度,大于用户定义的【提前起飞小时余度】,例如1H,则认为在STD/ETD/ATD前的时段均为安全起飞时段
    • 如综合“晚于”的时间,晚于STD/ETD/ATD的跨度,大于用户定义的【延误起飞小时余度】,例如8H,则认为在STD/ETD/ATD后的时段均为安全起飞时段
  • 绿:STD/ETD/ATD已在【安全起飞时段】内;且考虑【提前起飞小时余度】与【延误起飞小时余度】后,例如前1H、后8H,也均属于【安全起飞时段】内

  • 橙:STD/ETD/ATD已在【安全起飞时段】内;但考虑【提前起飞小时余度】与【延误起飞小时余度】后,例如前1H、后8H,存在不属于【安全起飞时段】的

  • 红:STD/ETD/ATD不在【安全起飞时段】内