华东区域自动站数据实时融合显示与多级警示技术研究
2016-10-21华韵子林红
华韵子 林红
摘 要:为提高华东区域自动气象站快速共享及显示查询效率,重点研究数据库引擎优化技术、自动站插值与GIS信息叠加技术及实况信息警示技术。在探讨适用于自动站数据显示方法的基础上,设计并开发了华东区域自动气象站显示查询系统。平台基于B/S架构设计多层框架模型,结合.NET技术和Oracle数据库技术,实现对华东区域六省一市1200多个自动站的融合显示查询及多级自动报警等功能。系统多年来业务运行稳定,为区域短时临近天气预报业务及灾害天气早发现提供重要分析基础。
关键词:Oracle;自动气象站;自动警示
中图分类号:TP399 文献标识码:A
Abstract:In order to improve the efficiency of fast sharing and inquiry in automatic weather stations in east China,this paper focuses on database engine optimization technology,interpolation and GIS information overlapping technology and warning information technology.After exploring suitable data displaying methods for automatic weather stations,the paper designs and develops a data inquery system for automatic weather stations in east China.The platform designs a multi-layered frame model based on B/S architecture and combines.NET and Oracle database technology.This system realizes the real time aggregated inquiry and the multi-level automatic alarming function for more than 1200 automatic weather stations in east China.The system has been smoothly working for several years,which provides the significant analytical basis for the latest weather forecast and the disaster weather prediction.
Keywords:oracle;AWS;automatic warning
1 引言(Introduction)
近年來华东区域气象现代化快速发展,自动气象站数据已成为短时临近预报的重要分析基础。目前,华东区域六省一市内共享的地面自动气象站共计1200余个,其中国家级自动气象站约70个,区域自动气象站约1080个。然而,现有的自动站查询系统仅支持本省市内的资料,如何将区域共享的自动站信息快速呈现给预报员是迫切需要解决的问题。
为解决这个问题,在研究适用于自动站数据显示方法的基础上,设计并开发了华东区域自动站显示查询系统。该系统是长三角短时临近一体化预报平台的子系统,可实现共享资料快速处理入库,高分辨率信息的融合显示,区域自动站产品的多级自动报警等功能。
2 系统架构及关键技术(System framework and key technology)
2.1 系统架构设计
根据对华东区域气象自动站显示查询系统需求调研,系统采用B/S架构设计,主要由三部分组成。底层为数据采集及数据库优化模块和华东区域气象自动站实时数据库;中间层为应用服务端,实现自动站插值、自动站融合显示及自动警示等业务功能。最上层为浏览器端,实现数据显示分析等用户交互功能。整个系统如图1所示基于多层体系架构,硬件方面主要包括Oracle数据服务器、WEB应用服务器等。
2.2 关键技术
(1)数据库引擎优化技术
由于气象自动站数据更新速度快、数据量大、实时性要求高的特点,需要对数据库分区及索引技术进行研发,以提高自动站数据在系统中的获取效率。数据库选用Oracle 11g,实现了数据库引擎的优化及应用的大量压缩技术,使得读写数据的速度得到了大幅度提高,同时也降低了存储成本。同时对自动站数据库结构进行了调整和优化,将Oracle中的新技术间隔分区应用到华东区域自动站数据库的建设中,大幅度提高了数据库的建设和维护的效率,分区表的设计有效地提高了查询效率。经过优化后的自动站实时数据库可实现华东区域平均每10分钟1200多个自动站的实时解析及ORACLE历史数据的存储,从观测到系统中显示查询的时间差缩短到10分钟左右,其中上海市的自动站只需要3—5分钟。
如图2所示,数据采集及优化模块分为批量解码与存储过程两个部分。其中批量解码分为资料预处理、编码解析、规范器三个部分。存储过程分为编译器、查询优化器、SQL管理器、表达式服务四个部分。当各个省的资料汇总后,首先对资料进行预处理,通过编码解析和规范器进行批量解码,再通过存储过程实现数据矩阵的编译和查询优化,最终利用SQL管理器和表达式服务存储到数据库中。
在自动站数据库的分区技术方面,将自动站要素表和分钟雨量表分离在若干个不同的表空间上,以支持无限增长的表空间。使用该技术可以改善海量数据的维护、备份、查询的性能[1,2]。分区表的建立是以观测时间这个数据列作为分区键,并以月为单位进行分区表的建设。利用间隔分区技术对范围分区进行扩展,实现了自动化的等距范围分区。将分区创建为元数据,只有分区开始部分是不变的,附加的段是当数据抵达时才分配的,附加分区和本地索引则自动创建,其创建代码如下:
CREATE TABLE ZDZ_MINRAIN
(STATION CHAR(5) NOT NULL,
SDATE DATE NOT NULL,
MIN_RAIN NUMBER(8,1)
)
PARTITION BY RANGE (SDATE)
INTERVAL (NUMTOYMINTERVAL(1,'month')
(PARTITION p_first VALUES LESS THAN ('01-JAN-2014');
其中NUMTOYMINTERVAL函数转换一个数字为间隔一年至一个月的文字(年或月)。间隔分区的引入,大幅度提高了数据库的建设和维护的效率[3]。通过在oracle数据库服务中编写插入记录的存储过程,使得入库效率较传统入库方式提高了20倍,自动站表入库速度达到每秒1万条记录,分钟雨量表因表中字段较少,入库速度达到每秒4万条记录。
(2)自动站插值与GIS信息叠加技术
自动气象站实时资料是一种离散点资料,对于预报员来说需要将其转化成地图格点数据来方便研究空间上的分布情况,因此需要将站点要素进行插值并叠加精细化地理信息。首先需要利用GIS技术及空间映射技术将精细化的华东区域地图底图转化为气象专业软件通用的底图数据文件,如MICAPS格式或GRADS地图格式;并且为配合地图资料的精确配准,底图原始数据坐标系采用兰勃特投影,并转换成直角坐标显示。底图范围选择中尺度底图,即两种网格点精度:1 km×1 km与5 km×5 km网格,而地图底图按不同需求可叠加省行政区边界、地区界、高速公路、水系湖泊、乡镇街道、城市道路等信息。将所有预处理数据转换为统一的网格资料为后续图形处理、等值线处理、数据叠加等提供标准化的数据同化手段。其次对自动站要素进行插值计算。确定插值的空间分辨率确定后,系统选用了IDW反权重插值法。IDW(Inverse Distance Weighted)是一种常用而简便的空间插值方法,它以插值点与样本点间的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大[4,5]。设平面上分布一系列离散点,已知其坐标和值为Xi,Yi,Zi(i=1,2,…,n)通过距离加权值求Z点值,其基本公式:
通过IDW插值生成格点数据,再按照各个要素不同的色标等级进行绘图,如图3所示。对于温度要素采用2℃间隔进行图像渲染;而风速雨量等要素则按照中国气象局相应规定进行间隔化的图像渲染。
(3)实况信息警示技术
实况信息警示技术可帮助预报员监视灾害性天气信息,有助于高影响天气的早期发现,避免突发灾害天气的遗漏。该技术利用数据识别技术解析预警数据,主要通过针对多种非图像数据存储方式进行数据查询解析得到预警信息。系统根据设置的阈值,采用SQL语言具有针对性的方法挖掘数据中的有价值信息,并根据信息的关联规则提取出强天气预警信息。SQL(Structured Query Language)是高级的非过程化编程语言[6],允许用户在高层数据结构上工作,具有极大的灵活性和强大的功能[7],方便系统从多种数据源中提取相互关联的、有用的预警信息。
根据中国气象局规定的预警信号发布规则及预报员多年的预报经验总结,研制完成了自动站资料的预警初值。同时系统还提供专门的预警初值配置文件,可在后台通过配置程序进行配置,并提供预警初值的查看和修改功能,根据不同季节以及天气背景条件,可以方便的修改灾害天气的预警阈值。
报警方式设计方面,实时警示技术研究了新颖实用的图眉报警方式,实现自动站信息的多级自动报警技术,并与中国气象局发布的四色预警色码进行匹配,有利于预警信号的发布。
3 系统实现(System implementation)
3.1 开发环境
系统是基于.NET应用框架构建的,其用户界面及操作均遵循Microsoft Windows中文版及Microsoft .NET Framework v4.0的要求与规范[8]。采用B/S架构,能充分发挥B/S架构跨平台、无需安装程序、维护方便等优点[9]。前台系统编程基于Microsoft Visual Studio集成开发环境,使用Microsoft Visual C#语言;后台系统根据不同需求使用JAVA及Microsoft Visual C#语言。
3.2 功能模块
根据系统架构设计,华东区域气象自动站显示查询应用服务主要包括:自动站插值、融合显示模块、自动警示模块三大模块。
(1)自动站插值模塊
利用自动站插值技术,针对自动站温度、雨量、气压和风向风速四要素,每10分钟进行一次将离散点的资料转换为网格资料处理,网格点插值精度为1 km×1 km、5 km×5 km两种。这种网格资料与雷达、云图等资料的网格点相同,可直接叠加使用。对于处理为网格点后的资料,使用NCEP/NCAR绘图软件包和GrADS绘图软件,将这些网格资料处理为等值线图供预报分析使用[10]。
(2)融合显示模块
融合显示模块主要研究自动站信息的综合显示技术,实现信息的快速显示分析。显示查询方式是否多样化、是否具备实用性、易用性,对于方便用户使用和丰富系统的表现力具有很大的影响力。综合显示查询模块是基于ASP.NET开发的B/S架构查询模块,它提供多种可视化数据查询统计功能。本系统中最终采用了以下三种查询显示方式。
(a)按单要素等值线图
为了方便预报员综合浏览实时自动站资料,系统使用长三角一体化平台的缩微技术以电视墙的方式融合显示自动站单要素等值线信息,如图4所示。首先将后台插值子模块生成等值线产品转换为统一的图形文件,然后缩小为合适的图像尺寸,排列显示在主页面上,可以让预报员一目了然的综观所有资料。并提供小图放大、动画等功能。
(b)按要素统计排序表
系统提供按照自动站雨量、最低温度、最高温度、风向风速、等要素分类排序的功能。预报员可查询区域内任意时间段内任意气象要素的排序情况。排序分为整个区域自动站要素极值前10位排序、各个省内自动站要素值的正序(或者逆序)排序。
(c)按单站查询统计表
单站查询统计功能提供针对某一个自动站单站在任意时间段内所有要素的时间序列列表信息。并统计其最高温度、最低温度、最大阵风风速、最小相对湿度、累计雨量。
(3)自动警示模块
预警显示采用了对应缩微图的图眉显示方式,即将探测资料以图形方式显示,然后将图按比例进行缩微成为小图,在小图的上端设计预警显示区,对应该图预先设置的阈值进行不同颜色的预警显示,如图4所示。每幅小图图像的眉首设计为一条报警色条,点击小图可如图5所示直接弹出预警的详细信息。这种显示方式可以从大量信息数据中及时、准确地为预报人员提取出优先需要关注的重要信息。
4 结论(Conclusion)
通过对数据库引擎优化技术、自动站插值技术及实况信息警示技术的研究,在探讨适用于自动站数据显示方法的基础上,设计并开发了华东区域自动气象站显示查询系统。该系统具有以下优势:(1)入库模块使用数据库分区及索引技术,大大提高了自动站数据处理及存储效率;(2)研发多种自动站数据融合显示查询方式,更加贴合预报人员的使用习惯;(3)自动警示模块可从大量实时数据中提取优先需要关注的信息,有助于灾害天气的早期发现;(4)系统基于B/S架构实现,后台数据处理及维护均在服务器端完成,具有操作方便、可视化效果显著、高度集约化的特点。
参考文献(References)
[1] Dong M,et al.Composite Differential Evolution with Modified Oracle Penalty Method for Constrained Optimization Problems[J].Mathematical Problems in Engineering,2014:1-15.
[2] Devolder O,Glineur F,Nesterov Y.First-order methods of smooth convex optimization with inexact oracle[J].Mathematical Programming,2013,146(1-2):37-75.
[3] Agarwal A,et al.Information-Theoretic Lower Bounds on the Oracle Complexity of Stochastic Convex Optimization[J].IEEE Transactions on Information Theory,2010,58(5):3235-3249.
[4] 王兴,等.台站温度质量控制中IDW算法改进及应用[J].气象科技,2014,42(4):605-611.
[5] 陆忠艳,等.基于GIS的气温和降水推算方法研究[J].气象科技,2008,36(4):389-395.
[6] 李洪进.LINQ to SQL技术在Web开发中的应用[J].計算机与信息技术,2012(01):20-22.
[7] 袁佰顺,等.基于ORACLE的陇东南区域自动气象站数据库设计及应用[J].干旱气象,2014,32(3):475-480.
[8] 特罗尔森,著.朱晔,等,译.C#与.NET4高级程序设计(第5版)[M].北京:人民邮电出版社,2011.
[9] 阎丽凤,等.灾害性天气监测预警平台设计与开发[J].气象科技,2014,42(5):804-810.
[10] 刘瑾,等.利用区域自动站资料分析核桃花期冻害气象条件及成因[J].气象科技,2014,42(6):1100-1105.
作者简介:
华韵子(1981-),女,硕士,工程师.研究领域:气象行业软件研发.
林 红(1966-),女,硕士,高级工程师.研究领域:气象行业软件研发.