1. 引言
航空气象历史数据是开展航空气象预报业务、研究、服务、数据统计分析的重要基础,对提高航空气象服务水平至关重要。在中国气象局气象系统中,对历史数据存储和检索方面有较多的经验,张明 [1] 等通过对县级台站如何做好气象资料存储和备份工作进行了探讨,为气象历史资料备份工作提供了有效的参考;康晋闽 [2] 等通过构建福建省气象历史资料可视化平台,提高了历史资料共享效率;张悦 [3] 等设计了大连百年历史资料查询,为数据挖掘在气象上的应用提供了有效的支持。可见合理规范的数据存储及便捷的数据检索和获取,对气象业务及研究非常重要。
在民航气象中,气象研究人员在气象数据应用方面也做了大量的研究。梁艳等 [4] 通过对机场预报进行解析后,为用户提供更加简单便捷的预报数据;陈阳权等 [5] 通过正则表达式解析航空气象报文数据,为用户提供可视化的辅助决策信息;吕常胜 [6] 则利用实时的航空气象数据实现航空气象服务平台,为航空用户提供实时的气象服务;李阳 [7] 则探讨利用航空气象数据分析来促进空中交通管理效率的提升。这些研究大多都是基于实时的气象数据,为用户提供实时的航空气象服务,而对航空气象历史数据的应用和服务水平上与国家气象局气象系统相比有一定的差距。
对于新疆航空气象除了航空气象报文、自观、卫星、雷达、天气图进行了较规范的存储外,其它数据如MICAPS数据、格点数据、自动站数据等存储没有一定的规范,从而导致部分数据丢失,难以补录。且一直没有提供便捷的数据获取渠道,获取数据时通过硬拷贝或通过数据库软件从数据库拖取,获取方式不安全也不便捷。随着航空业务量的逐年增加,多部门协作方式已经成为一种共识,对气象历史数据的需求已经不仅限于气象部门,因此迫切的需要提供一种规范的、便捷的历史数据获取方式或平台,以满足不同用户和部门对气象数据需求。在此背景下通过对航空气象数据进行收集和整理,构建了航空气象历史数据文件池和数据检索统计平台,为航空用户提供数据检索、下载、分析等工具,可大大提高民航气象在航空气象数据服务上的水平。
2. 资料及特点介绍
航空气象数据种类繁多,格式不一,既有文本数据,也有二进制格点数据、图片数据等。这些数据的存储包括文件系统存储和数据库存储两大类。就数据种类而言,主要包括了航空气象报文类、自动观测要素类、MICAPS数据类、GRIB格点数据类、云图及雷达图等图片类、航空气象产品类、航空器空中报告类等,这些类型的数据具有不同的格式、不同的要素、不同大小、不同的存储方式以及不同的使用方式。
航空气象报文类主要包括了机场的机场预报(9小时和24小时时效)、机场天气报告(例行的和特殊的)、重要气象情报、低空气象情报等,以航空气象电码或缩写明语方式提供服务,这类报文专业性强,需要对行业有较深入了解才能进行解析,以字符串文本存储在气象数据库中。机场预报时间分辨率为3小时或6小时,机场例行天气报告每半小时或逐小时分辨率,特殊天气报告、重要气象情报和低空气象情报均为不定时发布。此类数据具有要素分散、不易使用的特点。
自观要素类为机场自动观测系统输出的航空气象要素数据,主要包括直接从自观系统串口中输出的文件数据和通过数据处理后生成的行标9格式数据。文本数据以文件形式存储在文件系统中,行标9数据存储在数据库中。自观要素类的时间分辨率为30秒或1分钟,该数据具有数据时间分辨率高、要素整齐齐全的特点。
MICAPS数据类主要包括了基于MICAPS系统的高空、地面、自动站等实况数据,以MICAPS第3类或第4类格式进行存储,EC细网格、WAFS模式、GFS模式等全球数值预报模式数据,以MICAPS第4类格式进行存储。此类数据具有数据量大、文件细碎、要素和层次多的特点。
GRIB格点数据包括了GFS、WAFS等全球模式预报格点数据和FNL再分析格点数据等,数据存储以GRIB1和GRIB2两种格式存储在文件系统中。此类数据具有数据整齐完整、数据存储量大的特点。
图片类数据包括了对航空用户极为重要的卫星云图、雷达图、雷达拼图等实时监测数据及重要天气预告图、风温预告图等航路预报产品。卫星云图、雷达数据等均以图片文件按时间序列存储在文件系统中,具有较高的时间分辨率,而航路预报产品则以二进制格式将图片存储在数据库中,每天进行4次产品制作和存储。
航空气象产品类主要包括了气象预报部门所发布的预警、通报、天气报告、周预报等文本数据,这些数据以pdf或word格式进行存储,用户在对预报产品进行分析评价时可使用。
航空器空中报告类是气象部门不定时收集到的飞行中的航空器在遇到如颠簸、积冰、雷雨、风切变或其它危害飞行的气象信息时通报的信息,这类信息通过将收集到的信息进行解析后按要素存储到数据库供用户查询、统计和检验分析。
可见,航空气象信息种类繁多,格式不一,特点各异,需要对这些数据按其特点进行分类整理,按一定规则分类存储和检索,用户才能方便及时的获取到所需要的历史数据,以统一的规则和格式去查询和下载数据,也避免了数据因为人为因素造成的丢失或错误。
3. 系统设计
3.1. 数据池的构建
由于航空气象数据量大,种类多,格式不一的特点,在设计系统对非结构化数据和大文件采用文件磁盘存储,对结构化数据则采用数据库存储。
磁盘存储中主要存储自观文本数据、MICAPS数据、GRIB格点数据、卫星雷达数据、航空气象产品数据等,这些数据均以文件形式存储。在设计存储时,按资料类型建立文件存储文件夹,并根据资料文件时间,分别建立年、年月文件夹,然后存储数据,即“资料类型/yyyy/yyyymm/文件”。在进行资料分类归档时,将部分文件数据时间特征不明显的文件名按时间进行重新命名。通过这种方式构建文件磁盘存储数据池,按年、月分类后可大大提高数据检索的效率。由于部分历史数据数据格式与近年不一致,因此将这类数据进行单独的处理,以便系统进行统一检索。在实际业务运行中,以python编程为基础,采用多进程对数据进行归档,大大提高归档的效率。具体流程如图1所示。

Figure 1. Schematic diagram of document filing process
图1. 文件资料归档流程示意图
针对气象报文数据、航空器空中报告数据通过构建历史数据库,将数据基本特征和数据要素存储在数据库中。本平台的数据库采用MySQL数据库,部署在Windows Server 2012上,方便管理。
对于机场报文产品,建立表为“metabbr”,按报文的要素信息构建字段为“id、odate、otime、vtime、tt、cccc、rptkey、rptcontent、inserttime”等字段,具体表设计如表1所示。

Table 1. Airport message data table design
表1. 机场报文数据表设计
对于航空器空中报告,建立表为“metar”,按报告的要素构建字段为“fname、cccc、retime、redepartment、flightnumber、flighttype、apoch、turb、ice、windshear、ts、othertype、location、height、affect、cause、remarks、issuetime、issuedepartment、inserttime”等字段,具体表设计如表2所示。

Table 2. Aircraft air reporting data sheet design
表2. 航空器空中报告数据表设计
数据入库采用C#实现,以Windows服务方式运行。通过轮询民航气象数据库,获取民航气象数据库中近3天的报文和航空器空中报告数据,将所获取的数据插入到历史数据库中,在插入时,监测历史数据库中是否已经存在该数据,若存在则不入库,并等待下一次数据读取。入库流程如图2所示。

Figure 2. Diagram of message and air report entry process
图2. 报文和空中报告入库流程示意图
通过对基于磁盘归档和数据库存储的设计,构建的数据池可为后续检索统计平台提供完备的数据源。
3.2. 检索平台架构
此平台采用全B/S架构实现,以“ASP.NET Core3.1”为底层框架,采用微软最新的“ASP.NET Core with Razor Pages & Tag Helpers”的新型MVC开发模式进行开发,开发过程中以“FineUI Core”商业框架作为开发框架,构建了此平台。
此平台实现的功能主要包括实况要素查询和统计分析、自观数据查询、卫星雷达数据查询、自动站数据查询、MICAPS数据查询、模式要素查询、格点数据查询、风廓线资料查询、航空气象产品查询、航空器空中报告查询等。通过数据查询,提供数据展示、要素分解、打包下载、图形动画制作、要素曲线绘制、数据基本统计分析等功能,尽可能满足用户对数据的需求。系统整体架构如图3所示。

Figure 3. Schematic diagram of the overall system architecture
图3. 系统整体架构示意图
从图3可见,此系统采用三层架构模式,将表现层、业务逻辑层、数据层分开,业务逻辑层主要与数据层和表现层通信,负责将数据层数据封装为表现层所需要的数据结构,当表现层需要数据时,从业务逻辑层中获取到数据;数据层则封装与数据池或数据库数据读取相关的功能,与业务逻辑层通过对象模型交换传递数据;表现层则进行业务数据展示,与客户端的交互采用AJAX技术,当用户需要某类数据时,向业务逻辑层发起请求,业务逻辑通过数据层获取数据并处理后进行反馈。本平台表现层中的机场实况要素及空中报告类的数据源为数据库,其它类型的数据数据源均为文件数据池。通过上述架构,对具体功能进行研发,实现基于两个数据源的数据统计和检索平台,如图4所示。
3.3. 功能实现及效果
3.3.1. 报文类
实况要素模块主要包括对报文类数据的应用,包括实况报文检索、实况报文要素解析、基于实况报文的重要天气统计分析和下载、基于报文统计分析的历史上当日要素统计、给定时段获取该时段历史上的重要天气等。

Figure 4. The overall display of Xinjiang aviation weather data retrieval platform
图4. 新疆航空气象数据检索平台整体展示的示意图
实况报文检索即通过给定时间和机场从数据库中检索出实况报文进行显示,若用户需要对报文进行解析时,则应用程序可对报文按标准进行解析,将报文要素解析为风、能见度、天气现象、云、温度、气压、湿度等气象要素进行展示和下载。无论是报文检索展示和要素解析展示,都会对大风、低能见度、低云、高温、对飞行有影响的重要天气现象进行着色显示。重要天气统计分析是根据可根据用户输入的气象要素阈值,根据解析的风、能见度、天气现象、云、气温等进行统计分析,将达到阈值的数据提取出来作为天气个例,并按持续时间给出天气案例的时段,用户可将统计结果下载到本地。若给定时段,则只统计历年该时段的重要天气进行展示。历史当天要素统计则只检索给定日期,检索该日的要素数据,并统计分析要素的最高、最低、平均值等,以图表方式向用户进行展示。如图5所示。


Figure 5. Retrieval and analysis of message type data. (a) For message retrieval; (b) For weather case statistic; (c) For the important weather in the calendar year for the given time period; (d) For the element statistics in the calendar year for the given date
图5. 报文类数据检索和分析。(a) 为报文检索;(b) 为天气案例统计;(c) 为给定时段历年重要天气;(d) 为给定日期历年要素统计
3.3.2. 自观要素类
自观数据是机场最重要的数据之一,无论是实时应用还是案例分析时均需要用到该数据,但该数据若直接从文件中获取并不容易,因此本平台中对自观数据的文件进行解析,用户可以通过选定时间提取到规整的要素数据,并可导出为csv格式。对自观要素中达到大风、低能见度、高温阈值的要素数据,平台给出着色展示。
除了要素数据检索外,平台还提供了自观要素的文件列表检索和数据预览,有需要的用户可以按需下载自观要素的文件。
自观要素类主要实现的功能如图6所示。


Figure 6. Schematic diagram of data retrieval for the self-view element category. (a) For the self-view data file retrieval; (b) For the parsed data of self-view elements
图6. 自观要素类数据检索示意图。(a) 为自观数据文件检索;(b) 为自观要素解析后数据
3.3.3. MICAPS数据类
MICAPS数据类包括了高空地面实况数据、EC全球预报、自动站数据、模式要素数据等,这些数据应用场景不一,用户对数据的需求也不一致。高空、地面实况数据及EC全球预报数据,用户往往需要在MICAPS中进行显示应用,在此平台中提供了要素、层次的分类打包下载,自动站数据用户不仅需要在MICAPS中进行数据查看,还需要获取该数据的各个要素时间列表,因而需要对数据进行解析,将数据要素按时间排序,以列表方式进行展示,并提供解析要素下载,模式要素数据则用户只需要对该数据的要素列表进行展示和下载即可。因此对MICAPS数据类,平台提供了MICAPS数据、自动站数据、模式数据等三个模块分别实现功能。如图7所示。
3.3.4. 图片类、气象产品类、格点数据类
本平台中图片类数据检索主要包括了卫星数据、雷达数据、雷达拼图数据。可按时段进行数据分类文件检索,提供数据打包下载、动画制作、图片预览。气象产品类主要包括各类预警、通报、周报等,这类数据与图片类一样可按时段分类检索、打包下载、文件预览等。格点数据类只提供数据检索和打包下载功能。


Figure 7. Schematic diagram of MICAPS data class display. (a) For automatic station element retrieval; (b) For automatic station file retrieval; (c) For pattern element retrieval; (d) For MICAPS data element classification retrieval
图7. MICAPS数据类展示示意图。(a) 为自动站要素检索;(b) 为自动站文件检索;(c) 为模式要素检索;(d) 为MICAPS数据要素分类检索
如图8所示为图片类和气象产品类展示示意图。

Figure 8. Schematic diagram of image and weather forecast product search display. (a) For image search; (b) For weather forecast product search
图8. 图片类和气象预报产品类检索展示示意图。(a) 为图片类检索;(b) 为气象预报产品检索
3.4.5. 航空器空中报告类
航空器空中报告是从数据库中读取数据航空器空中报告内容进行展示,分为乌鲁木齐机场和阿克苏机场,可分类检索和展示积冰、颠簸、风切变、雷暴、其它、8.4海里颠簸等报告数据,同时对不同类型的空中报告份数进行统计。用户可根据需要检索和统计数据,并下载为csv格式数据。展示效果如图9所示。

Figure 9. Schematic of the aircraft air report display
图9. 航空器空中报告展示示意图
4. 结束语
以新疆航空气象中心的各类航空气象数据为基础,通过数据分类构建新疆航空气象数据池和对这些数据的统计查询平台。航空气象数据池中对非结构化数据及大文件采用磁盘存储,按数据文件的年、月和数据类型进行分类归档,对于结构化数据如报文、空中报告等等产品则采用MySql数据库入库存储。在所构建的数据池的基础上,实现航空气象报文检索和天气统计分析,文件数据检索、预览及下载,以及航路天气检索和统计分析等功能。该平台的实现,向用户提供了标准、便捷的历史数据查询及统计方案和平台,弥补了新疆空管气象在历史数据查询、检索和可视化上的不足,为新疆民航航空气象数据服务提供有力的支撑。