首页 > 其他分享 >禁航通告分析逻辑

禁航通告分析逻辑

时间:2023-10-09 15:15:33浏览次数:33  
标签:逻辑 通告 航段 禁航 禁航区 ITEM 时间 NOTAM 起飞

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不在【安全起飞时段】内

标签:逻辑,通告,航段,禁航,禁航区,ITEM,时间,NOTAM,起飞
From: https://www.cnblogs.com/navii/p/17751624.html

相关文章

  • 用程序小小11孩岁女A片㓜或操作系统使用的逻辑地址式与具体的内存管理单元(MMU)的实现有
    在ARM架构中,块地址是物理地址的一部分,用于标识cache中存储数据的物理位置。索引(index)是用于确定cache行对应的物理地址的部分,而标记(tag)则用于标识cache行中所存储数据的虚拟地址。当CPU访问虚拟地址时,硬件会根据虚拟地址与索引掩码进行按位与(AND)操作,得到索引,然后使用索引和标记在c......
  • 5、二进制算数运算逻辑
    1、二进制四则运算(加减乘除)1.1、加减乘除1.2、关于除法为什么只有0/1和1/1?因为除数不能为0,也就是分母不能为0,所以没有1/0和0/0,因为不符合算数逻辑1.3、例题解题思路,笔试运算2、二进制逻辑运算(与或非异或)2.1、逻辑与运算^(逻辑乘,类似&&)只要0存在,那么逻辑与运算......
  • 07_逻辑判断
    1.逻辑或与非#连着用root@bk:~#abc=""root@bk:~#[-z$abc]&&echo"空"||echo"非空"空root@bk:~#abc="123"root@bk:~#[-z$abc]&&echo"空"||echo"非空"非空#分开用root@bk:~#[2-......
  • 服务器数据恢复-V7000存储更换故障磁盘后同步失败导致逻辑盘无法挂载的数据恢复案例
    服务器数据恢复环境:P740+AIX+Sybase+V7000存储,存储阵列柜上共12块SAS机械硬盘(其中一块为热备盘)。服务器故障:存储阵列柜中有磁盘出现故障,工作人员发现后更换磁盘,新更换的磁盘数据同步到40%左右时,阵列柜中的另一块磁盘也出现问题,数据同步中断,逻辑盘无法挂接到小型机上,业务中断。存......
  • 逻辑熔断的巧用
    巧用逻辑熔断之前我应该写过一篇逻辑熔断的文章(但是没找到,可能不是发布在博客园的吧)。简单来说就是当s1=false的时候s1&&s2&&s3比为false,不需要判断s2,s3。当s1为true的时候s1||s2||s3必为true,同样不需要判断s2,s3。在大多数编程语言中也是如此实现的。......
  • 位运算分为位逻辑运算与移位运算(对应二进制位)
    位运算分为位逻辑运算与移位运算(对应二进制位): 注:在逻辑运算中,数学表示符于编程逻辑的对应关系为:∧表示与∨表示或¬表示非含义C++语言表示规则与运算a&b都为1时为1,反之为0。或运算a|b两个数其中一个为1就为1,反之为0。异或运算a^b两个数不同时结果为1,......
  • SAP ABAP 系统传输请求(Transport Request)导入到其他系统背后执行的逻辑
    在SAP系统中,当我们需要将一些更改从一个系统(例如开发系统)传输到另一个系统(例如测试系统)时,我们会使用TransportRequest。这是一种将配置、报告、表等从一个系统复制到另一个系统的机制。在我们的例子中,我们正在谈论的是一个Dynpro程序。Dynpro(动态程序)是SAP系统中的标准用......
  • P8815 [CSP-J 2022] 逻辑表达式
    Problem考察算法:后缀表达式计算、建表达式树、\(DFS\)。题目简述给你一个中缀表达式,其中只有\(\&\)和\(\mid\)两种运算。求:\(\&\)和\(\mid\)运算中的“最短路”次数各出现了多少次。最短路的定义为:在\(a\)\(\&\)\(b\)运算中,如果\(a=0\),那么整个表达式的计算......
  • ST方案一个MCU带动两个无刷电机驱动的原生逻辑
    TIM1TIM8两个高级定时器,设置TIM2为启动计数触发源,触发时钟同步,并且设置上,两者错开相。核心思路是错开电流采样和处理的时刻1/*disablemainTIMcountertoensure2*asynchronousstartbyTIM2trigger*/3LL_TIM_DisableCounter(TIMx);45LL_T......
  • 数理逻辑 (1) 命题逻辑
    命题表达式命题语言的字符集由和变量和命题运算符构成,由于\(\land,\lor,\leftrightarrow\)都能用\(\lnot,\to\)代替,故定义符号表:\[\Sigma:=\{(,),\lnot,\to,A_n|n\in\mathbbN\}\]其中\(A_n\)代表了可数个命题变量命题逻辑的有限符号串定义为:\[\Sigma^......