高空气象探测数据处理软件的国产化设计和实现

2019-10-21 05:48姜孪娟
市场周刊·市场版 2019年36期
关键词:国产化数据处理

摘 要:目前国家和军队对于信息技术自主可控的需求非常迫切。开发一套基于国产化操作系统的气象探测应用软件迫在眉睫。本文详细介绍了基于国产麒麟操作系统的气象数据处理软件功能设计和实现。该軟件通过测试运行软件工作稳定,操作方便,图形界面简洁明了,功能完善,性能基本达到与Window系统下的数据处理软件水平相当。

关键词:数据处理;国产化;QT;麒麟操作系统

一、 引言

我国气象探测系统中使用的各种软硬件设备、核心电子元器件和高端通用芯片长期依靠进口,但目前国际形势变幻莫测,西方的一些发达国家经常采取禁运、限购等方式遏制相关产品在我国气象领域的应用;同时,国外的基础平台还存在代码不开源,植入后门等不可控风险。软件国产化已成为国家信息化安全的重要组成部分。

目前,我国的高空气象探测系统主要基于Windows 操作系统研制开发,国产高性能处理器能够支持的桌面操作系统主要是麒麟系统。该操作系统已在航空、航天等领域得到了一定应用,但在气象探测领域尚未升入展开。结合我国自主可控需求,本文设计开发了一套基于中标麒麟操作系统的全自主气象数据处理系统,利用QT开发工具进行了软件设计和实现,采用二进制文件的方法对探测数据进行管理。根据麒麟操作系统下的运行要求,对系统软件进行了重新优化设计,使得国产化数据处理软件整体技术性能与Windows系统下的数据处理软件一致。

二、 软件系统设计

(一)开发环境

在中标麒麟操作系统下可选择的开发工具有GCC、Eclipse和QT等。其中QT具有很好的跨平台和丰富的C++应用程序库,并且拥有自主可控的国产化版本。气象探测系统数据处理软件的国产化设计以QT开发环境为平台,采用自顶向下模块化设计方法。系统采用QT4.8.6版本,C++语言作为人机交互界面的工具。

(二)软件结构

根据数据处理软件的设计需求,软件共包含如下三大模块:文件、探空数据显示、探空数据处理。其中文件操作模块包含了数据读取、数据存储子模块;数据显示模块包含了探空曲线、位置曲线、探空数据、风数据和飞行轨迹等子模块;探空数据处理模块包含了探空飞点剔除和探空数据修正子模块。如图1所示:

用户可通过人机交互界面,选择需要处理的探测数据文件,软件对用户选定的文件进行解析,如果不是格式正确的探测数据文件,则反馈给用户出相应的错误提示,如果数据格式正确,则显示相应的探空数据/曲线界面。用户可在探空曲线显示界面剔除数据飞点,对探空数据进行修正。修正后的探空数据会保存在探测数据文件中,原始探测数据不受影响。数据处理软件工作流程图如图2所示。

三、 主要功能模块设计和实现

(一)数据显示模块功能设计

数据显示功能负责人机界面交互,将探测数据产品以直观的方式显示给操作人员。能够生成温、压、湿随时间变化图、温、压、湿、高度、经纬度、风随时间变化报表等,绘图方式将依据通用气象标准执行。

气象产品的可视化涉及坐标系统、图形显示、图标等内容,依据数据类型不同,显示功能可以分为探空曲线图形显示、位置曲线图形显示、探空数据报表、风曲线显示、飞行轨迹显示等。

以绘制探空数据曲线图为例。首先根据探空时间绘制纵坐标,根据探空数据(包括温、压、湿)绘制横坐标,并标注横纵坐标值。纵坐标最小值为0分钟,对应放球时间,最大值为最新的探空时间。横坐标气温范围为-90℃至60℃,气压范围为50hPa到1150hPa,湿度范围为10%到100%。温、压、湿曲线分别使用红、蓝、绿颜色进行显示。每收到一个探空数据,则对曲线进行一次重绘。另外可以通过鼠标右键对探空曲线实现全程/分段显示、放大缩小、拖放、移动、时间设置、自动修改、自动滚屏等功能。Qt提供的绘图框架主要由3个类组成:Qpainter、QPaintDevice和QPaintEngine。QPainter用来执行与绘图相关的具体操作,既可以绘制点、线、矩形、多边形等等基本图形,也可以绘制比较复杂的图形。在绘图时,可以通过画笔(QPen)改变QPainter的属性(颜色、线宽等)。在绘制文字时,字体由QFont类定义,通过setFont()函数修改字体属。系统中通过使用Qt绘图scale()函数实现了放大,缩小功能。

数据显示功能将根据内存中的探空数据、设备状态数据、定位数据分别绘制探空曲线图形、位置曲线图、探空数据报表、风曲线显示图、飞行轨迹显示图等,并按照用户选择的显示类型、要求显示在界面上,如图3所示。

(二)探空数据处理功能设计

探空数据处理主要功能包括探空飞点剔除和探空数据修正,探空数据修正包括时间修正、温度修正、气压修正、湿度修正以及高度修正。

1. 探空飞点剔除

剔除飞点流程图如图4所示

图4 探空飞点剔除子功能活动图

首先循环所有数据,将每个数据与前后数据对比,如果超过阈值,则判断探空数据为飞点数据,并将该数据删除,使用周围数据的中值代替该数据,循环至数据结束。

2. 探空数据修正

在真实探测过程中,高空探测数据受各种因素影响,不能有效保证探空数据的质量,因此通过对各种影响因素的影响程度分析,对探空数据进行相应修正,从而能够提高探测精度,保证探空数据质量。在本系统设计中数据修正主要包括时间修正、高度修正、气压修正、温度修正和湿度修正。

时间修正:如果数据记录时间与探空仪离开地面不一致(提前后者延后点击放球键),则应对探空数据时间进行修正,将记录数据中的相对时间进行相应的推迟或者提前。

高度修正:在进行北斗/GPS定位中大气折射会对电磁波产生折射,通常北斗/GPS模块针对该折射进行了近地面的修正,但是当探空仪到达高空的时候,再进行与地面一致的修正使得探空仪的定位高度产生误差,因此需要将探空仪的定位高度进行折射补偿。

气压修正:在近地面,大气气压较大,气压传感器测得数值能真实的反映气压变化,到了高空,气压急剧降低,而气压传感器的探测精度保持不变,因此在高空使用压高公式对气压进行计算比实际探测结果更为准确,在低空到高空的变化过程使用权重法进行逐步迭代,以获取更为准确的探测结果。

温度修正:对温度的修正主要为短波辐射(太阳辐射)修正和出云过程修正。受太阳照射的时候应对温度数据进行短波辐射修正,在探空仪出云时,因为水分蒸发会带走大量热量,因此也需要在此时对温度进行补偿。

湿度修正:湿度传感器的灵敏度与大气密度具有较大的关联,在高空大气密度较低的情况下,湿度传感器与在舰面相比其灵敏度具有较大的降低,因此需要对湿度进行逆向修正,对湿度变化幅度进行跟大气密度相关的补偿。

时间修正,将探空数据时间与探空仪实际离开时间进行比较,超过阈值则认为时间不一致,更改探空数据中的时间数据,使其与探空仪实际离开时间一致。

探空数据修正算法通过动态库封装,程序调用接口函数实现,增强了系统的可移植性和可维护性,提高了软件质量。

四、 结语

本文基于麒麟操作系统和QT平台设计了适用于自主可控的探空数据处理系统,实现了数据产品处理和显示功能,可以满足用户软件国产化的使用要求。

值得指出的是,本系统对探空数据衍生的气象产品还需要进一步改善,以更有效地提高数据利用率。此外,该系统所绘制的飞行轨迹主要是在二维空间上,后期应增加三维空间的立体显示功能。

参考文献:

[1]王庆有,叶飞,陈士英,等.探空数据接收机疑难故障分析与排除[J].内蒙古气象,2017(6):32-33.

[2]杨程,董美莹,陈锋,等.浙江多源资料高空风对比分析[J].沙漠与绿洲气象,2018,12(4):74-81.

[3]周冲冲,钟世明,李薇,等.基于GNSS及探空仪数据的大气折射指数反演新方法[J].大地测量与地球动力学,2017,37(2):200-204.

[4]董晓雁.L波段探空数据备份接收机的注意事项及应用[J].气象水文海洋仪器,2015,32(4):79-82.

作者简介:姜孪娟,南京大桥机器有限公司。

猜你喜欢
国产化数据处理
电容式传感系统数据处理电路的设计
基于ARCGIS 的三种数据处理方法的效率对比研究
贵州开建FAST科学研究与数据处理中心
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
视频大数据处理的设计与应用
基于国产软硬件的行业大数据体系架构研究
试论中外合资企业管理的国产化问题
影响计算机数据处理的因素方法研究
非能动实体防火保护结构的国产化研制