民航气象报文质量控制算法的开发设计

2019-11-07 05:35朱国栋杨乐孙少明
科技与创新 2019年20期
关键词:字符识别报文气象

朱国栋,杨乐,孙少明

民航气象报文质量控制算法的开发设计

朱国栋,杨乐,孙少明

(民航新疆空中交通管理局空管中心气象中心,新疆 乌鲁木齐 830000)

按照民航气象行业标准的定义和要求,设计开发民航气象报文质控与编发系统,实现对民航气象观测、预报及重要气象情报等报文内容的交互编写、解码分析及内容纠错告警和要素解析,通过定义完善的质量控制算法,降低民航气象情报在编发过程中出现错误的可能性,提高民航气象情报的质量。

民航气象报文;质量控制;气象业务;机场预报

1 引言

民用航空气象业务中,民航气象情报主要包含机场观测实况(METAR、SPECI)、机场预报(TAF)、重要气象情报(SIGMET)以及低空气象情报(AIRMET)等,其中机场观测实况主要用于描述机场天气的实际情况,包括机场的风、温度、气压、天气现象、能见度、云以及RVR等要素的观测值;机场预报则主要用于描述未来机场天气的演变情况,包括风、温度、能见度、天气现象及云等要素的预测值;重要气象情报、低空气象情报等主要用于描述特定区域内颠簸、积冰、火山灰、热带气旋以及对流等重要天气的分布、强度变化。

航空公司、机场等民航运行单位通过查阅相关气象情报,了解机场天气、航路天气的重要变化,为航班计划的执行提供客观的情报支持,而气象情报内容的准确与否,对民航航班运行、公司决策有重要影响。

目前中国已有相应的系统研究,实现了对民航气象报文的定时监测,确保相应的气象情报按时准点编发,防止气象情报出现漏发[1],尤其是机场观测报文的编发,已有相应的业务平台对机场观测报文的发布流程进行完整的监控[2-4],同时也具备观测报文内容的质量监控[5]和内容解析[6],但是缺乏统一的业务平台,来实现机场观测、预报、重要气象情报等多种类型的报文质量控制、编辑、发送业务平台的研究,本文尝试按照相关行业标准和规范要求,设计开发完整的气象情报纠错算法,实现对各类气象情报的质量控制和编辑发送功能,减少气象情报内容的编发过程中可能出现的错误,提高气象情报发布质量。

2 报文质量控制算法的设计

结合业务平台开发要求和业务实际应用场景的需要,算法使用C#语言进行开发,依托高效的正则表达式,实现对民航气象报文的类型判断、内容分解、字段判别、关键字过滤以及报文逻辑关系判断,通过可配置的模块化实现各项功能,并预留拓展接口,为后续的报文指控提供扩展接口,确保算法的准确性、高效性和可扩展性。

具体算法流程,以机场预报(TAF)为例,整体流程如图1所示。

图1 机场预报质量控制流程示意图

3 质量控制算法的实现

3.1 报文类型识别

民航气象报文主要包含机场观测、机场预报以及重要气象情报等报文类型,每种报文类型内容差异巨大,需要设计匹配不同的质量控制算法。因此算法首先需要输入报文的类型识别,再结合报文类型启用不同的纠错算法。具体实现方法为:通过正则表达式,按照报文内容,匹配相应的关键字段,具体匹配规则如表1所示。

表1 报文类型识别

序号类型正则表达式 1机场实况观测Regex.Match(FCTB.Text, "METAR|SPECI").Success 2机场预报Regex.Match(FCTB.Text, "TAF ").Success 3重要气象情报Regex.Match(FCTB.Text, "SIGMET").Success 4低空气象情报Regex.Match(FCTB.Text, "AIRMET").Success

3.2 报文内容分解

在完成报文类型识别后,算法需要拆解一份报文内容,通常一份民航气象报文以“=”符号结束,不同的字段内容使用空格进行分割,为了后续的报文质量控制,算法将通过正则表达式,按照空格或换行符进行拆解,并剔除多余的空格,为后续报文质量控制提供逐个报文字段数组的支持。

3.3 报文字符识别

民航气象报文中每个字段都有固定含义,且具备固定的特征、内容或字段长度,算法依据行业标准《民航气象第6部分电码》(以下简称行标)中的定义,按照相应的类型报文内容,判别每个字段的含义,具体如表2所示。按照行标的定义以及实际业务工作要求,对报文字段进行逐项比对,识别报文字段的特征属于那种字段类型,并按照字段类型进行标识。机场实况报文字符识别主要规则按照表2提供的清单进行相关内容的判别,判断检查报文字段中字母、数字以及“+、-、/”符号是否符合行标的具体规定。例如云组信息,云量必须由FEW、SCT、OVC、BKN组成,云高由3位数字组成,符合则判断该字段正确。同理可得其他特征字段检的检查方法,在此不再赘述。而机场预报、重要气象情报识别算法方法相同,此处不单独罗列具体字符特征。

3.4 报文逻辑关系判断

报文字符识别是将逐个报文字段内容孤立地进行检查判断,但是实际业务中的报文内容,报文字段前后内容是关联存在的,比如温度与天气现象、云的高度等信息,所以报文必须进行内容的逻辑判断。

报文字符识别完成后,报文字段被逐个标记后,即可进行报文的逻辑关系检测。通过筛选、统计行业标准、气象要素历史特征等信息,本算法实现地面平均风速与阵风、主导能见度与天气现象、不同云组分布以及最高最低温度的组合,并分解BECMG和TEMPO中包含的时间转换组,判断时间转换组是否存在于有效时间内,此处以机场预报为例,罗列相应的逻辑检测内容,具体如表3所示。

表2 机场实况报文字符识别

序号字符识别含义实例 1机场代码报文类型、机场代码、时间等信息METAR ZWWW 2风风向、风速、阵风、风向变化范围18004G10MPS 3能见度能见度具体数值0800,9999 4天气参照4678电码表FZFG,-SHSN 5云云量,云高FEW030CB,BKN033 6RVR跑道视程R07/P2000 7温度、露点温度气温、露点温度12/10 8修正海平面气压 Q1011 9垂直能见度 VV002 10趋势预报机场未来天气变化趋势略 11其他项目CAVOK、NSC等略

表3 机场预报报文逻辑关系判断清单

序号检查内容检查条件错误案例 1风阵风风速与平均风速绝对差≥5 m/s12010G02MPS 2主导能见度与天气能见度低于某数值必须与指定的天气现象配合出现1200 FG 3多层云分布云高应当由低到高编报OVC040 BKN020 4温度排序最高温度应当大于最低温度TX13/09Z TN26/11Z 5温度极值最高、最低温度时间应当出现在报文有效时间内0009的TAF报文中出现TX20/08Z TN12/12Z 6BECMG、TEMPO的时间转换组时间转换组应当在报文有效时间内1221的TAF报文中出现BECMG 0809

机场实况与重要气象情报的逻辑关系判断与机场预报类似,依托报文字符识别后的标记,判断报文字段内容前后及要素本身的极值分布,进行相关的逻辑关系检测,确保报文内容不存在逻辑上的错误。

3.5 报文质控信息输出

本模块综合分析报文类型识别、内容拆解、字段内容识别和报文逻辑关系的算法输出信息,结合业务逻辑,将算法全过程的输出信息进行分析和综合,进而获得报文每个字段的报文指控信息,包括文字描述和相应的错误标识信息,同时输出信息具备完善的文档,可作为其他业务平台开发应用的输入信息。

4 质控算法的应用

民航气象报文质控算法作为民航气象业务通用模块,可直接作为民航气象业务平台的基础支持模块进行引用,相关业务平台开发人员不必重新设计开发相关算法,极大地简化了民航气象情报发布平台的开发工作,减少了相应平台的开发成本。目前,本算法已作为机场报文编发系统的控件,实现相应的业务化应用,具体如图2所示,本系统可自动生成报文的报头和时间字段,实时检测预报人员编辑输入的字符,自动提示报文内容缺失、错误部分,并将部分错误内容进行标红高亮显示,实现相应的纠错信息可视化。

图2 民航气象情报编发系统软件示意图

5 结论

民航气象情报的内容直接关系着民航气象服务工作的质量,报文质量控制算法是民航气象业务平台开发中最基础的一环,通过算法实现机场观测、预报及重要气象情报等多类型民航气象报文的质量控制,并实现对报文内容的解析,为民航气象业务平台、气象服务系统提供高效的算法支持,可直接拓展应用到民航气象报文编发、业务监控、报文质量评定以及个性化气象服务工作,改善民航气象报文数据的分析能力,进而提高民航气象业务系统的自动化程度。

[1]梁欣,黎巍,俞霄靓,等.基于Shell脚本的气象报文迟发漏发监控程序设计与实现[J].计算机时代,2015(3):46-49.

[2]朱勍,唐民.民航气象观测报文监控和反馈系统研究[J].中国民航飞行学院学报,2015,27(2):77-80.

[3]王健治.民航气象观测编发报系统的开发及介绍[J].气象研究与应用,2016,37(1):101-103,114.

[4]高宇.高可靠性民航气象情报发布系统设计[J].民航管理,2016(11):71-73.

[5]徐庆,张洋飞.民航气象观测报文质量检测系统研究[J].科技与创新,2018(17):42-44.

[6]李灿.基于Python正则表达式的航空气象观测报文检测[J].电脑知识与技术,2017,13(25):227-229.

V321.2

A

10.15913/j.cnki.kjycx.2019.20.022

2095-6835(2019)20-0053-02

〔编辑:张思楠〕

猜你喜欢
字符识别报文气象
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
气象树
专栏:红色气象 别有洞天
基于报文类型的限速值动态调整
浅析反驳类报文要点
大国气象
融合字符及字符排列特征的铭牌识别方法
一种基于OpenCV的车牌识别方法
基于MATLAB的图片中字符的分割与识别