APP下载

基于微信公众号的气象服务平台的设计与实现

2017-07-13赵青松安晶晶叶金印刘高平

安徽农业科学 2017年24期
关键词:微信公众号

赵青松 安晶晶 叶金印 刘高平

摘要 基于微信公众号的气象服务平台利用CIMISS(全国综合气象信息数据共享平台)系统提供的气象基础数据,采用气象数据标准化处理、气象预报集成应用、气象服务产品快速更新等关键技术,实现气象实况监测、预报预警和决策服务等综合信息的实时在线显示功能和综合信息推送功能,具有传播快、操作简易、易分享互动等特点,通过安徽气象服务微信公众号可为社会公众及防汛抗旱决策指挥部门提供全天候服务,取得了较好的气象服务效果。

关键词 微信公众号;数据标准化;气象预报集成;气象服务产品

Design and Implementation of Meteorological Service Platform Based on WeChat Public Account

ZHAO Qing-song,AN Jing-jing,YE Jin-yin et al (Anhui Meteorological Observatory,Hefei,Anhui 230031)

Abstract Meteorological service platform based on WeChat public account utilized the meteorological basic data provided by the CIMISS system(China integrated meteorological information sharing system).Some key technologies such as standardization of meteorological data were used, integration of meteorological forecasts and rapid updating of meteorological service products were adopted,and the real-time and online display function of comprehensive information(such as weather situation, forecast and early warning,decision-making service) and the pushing function of comprehensive information were realized.The meteorological service WeChat platform had the characteristics of fast dissemination, easy operation, easy sharing and interaction.Anhui meteorological service WeChat public account can provide all-weather service for the public and flood control and drought relief decision-making command department,and better meteorological service effect had been achieved.

Key words WeChat public account;Standardization of data;Meteorological forecast′s integration;Meteorological service products

廣播、电视、电话、传真、手机短信等传统的气象服务方式存在时效性差、内容不够丰富、服务面窄等缺点,社会公众及相关决策指挥部门不能在第一时间全面了解气象实况及预报信息,难以满足防灾减灾、特别是应对突发气象灾害的需要[1-2]。随着移动通讯技术的普及和应用,新媒体等传播方式具有快速、便捷和全面等优势,其及时、便捷的互动功能使信息传播更加具有吸引力和亲和力。以微信为代表的新媒体工具已成为人们获得信息和互动交流的重要平台,各级政府和部门越来越重视利用微信平台及时发布权威政务信息[3-4]。建立气象服务微信公众平台,不仅能快捷地发布气象监测与预报信息,而且能提供良好的用户体验[5]。为更好地向社会公众和防汛抗洪指挥决策部门提供气象服务,笔者设计了安徽气象决策服务微信公众平台,该平台利用CIMISS(全国综合气象信息数据共享平台)提供的气象基础数据,实现了气象实况监测、预报预警和气象服务等综合信息的实时在线显示功能和综合信息推送功能。

1 功能模块设计

安徽气象服务微信平台包括实况监测、预报预警、气象专报和后台管理等功能模块。前3个模块解决气象实况、预报和服务信息的自动生成、实时上传以及显示功能;后台管理模块主要是对微信公众号的前台菜单管理、数据上传和消息推送发布等。

该微信平台的总体架构分为物理层、数据层、业务层、服务层、用户层5层(图1)。系统基于Android、iOS、Windows Phone等主流智能手机操作系统,采用ArcGIS、HTML5+CSS3+JavaScript等技术进行开发。

实况监测模块主要展示实况监测、雷达和卫星产品(图2a1~a3)。实况监测包括:过去(1、3、6、12、24 h)全省累积降水量图、全省实时气温分布及近24 h全省最高与最低气温分布图、全省实时风力及近24 h极大风速与最大风速分布图、全省10 cm、20 cm土壤墒情分布图等。雷达产品是采用全省7部新一代天气雷达资料形成的全省雷达基本反射率拼图。卫星云图产品是FY2E红外1通道云图产品。

预报预警模块包括全省降水预报、流域降水预报和灾害预警产品(图2b1~b3)。全省降水预报包括未来(12、24、36、48、60、72 h)全省降水预报图。流域降水预报包括淮河流域、安徽省长江流域及新安江流域各子流域面雨量(1、2、3、6、12、24、36、48、60、72 h)预报图。灾害预警产品为用户实时发布可能发生的各种灾害性天气预警信息,以便社会公众和政府决策指挥部门提前进行防范应对。

信息专报模块包括安徽省气象台每日天气、根据天气变化对外发布的全省气象信息专报及流域天气专报等文字类综合性服务材料(图2c1~c3)。

2 气象服务平台关键技术

2.1 气象数据采集及标准化处理

2.1.1 数据采集。

数据采集整理模块负责从全国综合气象信息共享系统(China integrated meteorological information sharing system,简称CIMISS)[6]采集气象实况数据、雷达数据、卫星数据、预报预警数据的实时气象信息。CIMISS系统为气象业务和相关科研用户快捷便利地获取气象基础数据提供数据使用环境,提供数据应用开发接口(API)。采用JAVA开发语言结合客户端模式获取CIMISS降水实况数据,主要代码如下:

//实例化客户端类,并根据所在位置指定登录的CIMISS分布服务器IP、端口号

CimissClient=new CimissClient("xxx.xxx.xxx.xxx","xxxx");

//初始化客户端,并且与分布式服务器产生连接

CimissClient.initResources();

//根据数据需求选择查询的数据表,如自动站资料数据库、雷达资料数据库、主观预报服务数据库等

queryParamList.Add("dataCode", "SURF_CHN_MUL_DAY");

//选取查询对象表的查询要素如站名、日期、位置、观测值等

queryParamList.Add("elements", "Station_Name,Station_Id,Lon,Lat,PRE08_08....");

//添加其他查询约束条件,如查询时间、查询站点、查询经纬度范围等查询约束信息

queryParamList.Add("timeRange", 查询时间段);

//根据用户名、密码、查询接口、查询条件从CIMISS查询相关基础数据,并返回查询结果

CimissClient.callAPI_to_array2D(userName,password,interfaceID,queryParamList,returnResult);

//中断客户端连接,结束查询

CimissClient.destroyResources();/

2.1.2 数据标准化。实况数据(离散点向格点化)、雷达数据(拼图及重采样)、卫星数据(地图投影转换及重采样)、预报预警数据(预警信号表达),各种数据的标准化处理。

该系统中降水、气温等实况数据利用ArcGIS的组件库实现反距离加权插值接口和自然邻点插值法对离散点进行格点化处理[7-8],并生成平滑曲线的等值面图形。

在处理雷达数据时,采用基于傅里叶谱分析的雷达回波强度图像插值方法,利用谱特征对观测数据离散点拟合,再进行重采样,将多部雷达数据处理后,形成雷达拼图[9]。

卫星数据采用风云卫星HDF格式资料,首先对数据进行解码定标,得到对应经纬度点上的辐射亮温和反照率,同时应用双线性插值法将离散点数据进行格点化处理,最后利用等经纬度投影进行图像的绘制[10]。

2.2 气象预报集成及预警信号发布方法

该平台采用欧洲中期天气预报中心(ECMWF)细网格(格距0.125°×0.125°)、日本气象厅(JMA)模式(格距0.5°×0.5°)的降水预报产品进行集成应用[11-12]。选取的ECMWF和JMA降水预报产品通过中国气象局广播系统(CMACast)收集获取。各模式均以北京时20∶00为起始场,预报时效划分为24、48、72 h 3个时段。

(1)基于数值天气预报的集成降水预报方法。集成预报是近年来发展起来的一种用于从多种预报结果中获得一个较为确定的预报结论的方法,该方法以提高预报准确率为目的,将多种数值天气预报模式的预报结果进行集成[13-14]。但是,在实际降水预报业务中,难以同时获得长时间序列的多种降水预报产品,对于降水集成预报常常面临小样本问题。信息扩散技术是一种对小样本进行集值化的模糊数学处理方法,相对于传统的方法,信息扩散技术能够从小样本中获取更充分的信息[15]。根据信息扩散技术的基本原理与数学模型,利用数值天气预报(输入维)和降雨量实况(输出维)建立3维n元学习样本M={m1,m2,…,ms,…,mn},其中ms=(xs,ys,zs),xs,ys為输入维,zs为输出维。选定3维监控空间C=(U,V,W)(输入-输出空间),其中U=V=W={0,0.1,0.2,…,1.0},Δu=Δv=Δw=0.1,共11个监控点。通过3维信息扩散函数μ(ms,c)将样本点ms所携带的信息扩散到3维监控空间C中所有的点,采用最简单的线性扩散函数即信息分配函数,如下所示。

μ(ms,c)=1-|xs-ui|Δu

1-|ys-vj|Δu

1-|zs-wk|Δw,

|xs-ui|≤Δu,|ys-vj|≤Δv,|zs-wk|≤Δw0,其他(1)

计算所有样本点在C空间上各点扩散的信息,得到原始信息矩阵Q(i,j,k),再生成模糊关系矩阵,经过模糊近似推理得出集成预报结果[16]。

(2)精细化流域面雨量预报方法。

面雨量(流域平均降雨量)是指一次降雨过程中整个流域面上的平均降雨量。最常用的推求方法有网格插值法、格点法、等雨量线法、算术平均法、泰森多边形法等,站点密度较低且分布不均时,泰森多边形方法计算简单,且效果优于其他方法[17]。利用上述集成降水预报产品,采用网格算术平均法估算流域各子单元的面雨量预报。网格雨量法的基本思路是将一个有一定密度的固定网格覆盖在流域面上,通过计算网格点上的雨量来计算流域面上的降雨量[18]。在网格间距较小、流域面积较大的情况下,整个流域的面雨量用下式计算:

P=Ni=1Pi/N (2)

式中,Pi为流域内各雨量站的时段降雨量(mm); N为流域内雨量站的个数。

(3)气象预警信号发布条件判别方法。气象预警信号是对即将发生或已经发生的灾害性天气向公众发布的预警信息,对气象防灾减灾具有重要价值[19-20]。为提高业务系统自动判别和预警能力,设计和开发了基于天气实况和天气预报的气象预警条件判别方法。气象信号预警条件判别公式为:

Fk+Ot-k≥Tt(3)

式中,Fk为k时间段内的预报量(k=1,2,3,…,6 h),Ot-k为t-k段时间内的气象实况量,Tt为各监控点t时间长度(一般取3、6、12、24 h)的气象预警信号发布条件阈值。

2.3 气象服务产品快速更新技术

该平台需要实时生成大量的服务产品,特别在某些整点时刻,雷达产品、降水实况产品以及各种预报产品均需要同时更新,这些任务的并发使得串行处理方式的后台处理缓慢,部分产品延时较多,降低了平台的用户体验。

微软.NET 4.0引入新的TPL(Task Parallel Library),该TPL支持数据并行、任务并行以及流水线(任务并行和数据并行的结合体),可极大发挥多核心处理器的性能。该平台的后台主要利用任务并行的方式解决多任务并发产品生成效率问题。任务并行主要使用TPL中的Task对象实现,其可由TaskFactory创建。实现代码如下:

System.Threading.Tasks.TaskFactory drawImageTaskFactory = new System.Threading.Tasks.TaskFactory();

foreach (ProductFactory factory in factories) //ProductFactory是气象产品生成功能类。

{ drawImageTaskFactory.StartNew() => {

factory.DrawImage();//在任务中加入具体产品生成方法。

};

}

后台产品生成后,需要立即通知平台数据库进行产品更新,该平台采用一种主动调用服务器WebService通知机制进行更新(图3)。为保证产品完整且与数据库记录同步,需要对产品上传是否成功进行验证,上传失败次数超过3次时,将放弃上传和更新。上传成功后,才能调用WebService更新产品信息。

3 结语

笔者介绍了基于微信公众号的气象服务平台功能模块设计以及气象数据采集及标准化处理、气象预报集成及预警信号发布方法等关键技术。该平台设计基于Android、iOS、Windows Phone等主流智能手机操作系统,采用ArcGIS、HTML5+CSS3+JavaScript等技术进行开发,实现气象信息采集、气象预报产品生成以及气象服务产品快速发布等功能。

(1)基于微信公众号的气象服务平台利用CIMISS系统提供的气象基础数据,采用气象数据标准化处理、气象预报集成应用、气象服务产品快速更新等关键技术,实现气象实况监测、预报预警和决策服务等综合信息的实时在线显示功能和综合信息推送功能。该气象服务微信平台具有传播快捷、操作简易、易分享互动等特点,取得了较好的气象服务效果。

(2)该微信平台的气象业务模块采用气象要素空间插值方法、基于信息扩散原理的降水预报集成方法,有助于提高气象信息应用水平;气象预警信号发布条件判别方法能提高气象预警信号发布效率,有效提升了气象预警服务能力。

(3)平台于2015年6月通过安徽省气象服务微信公众号为社会公众及防汛抗旱决策指挥部门提供全天候服务,现已稳定业务运行2年,取得了较好的气象服务效果。今后还应根据社会公众和政府决策指挥部门的需求对其进行不断改进和完善。

参考文献

[1] 张丽,朱芙蓉,江海萍,等.微信平台在气象信息传播中的应用[J].安徽农业科学, 2015,43(10):387-389.

[2] 齐新章.“互联网+”背景下西宁野生动物园智慧旅游景区的建设战略[J].安徽农业科学, 2016,44(3):219-220,224.

[3] 杨瑜峰,张莉,陈诚,等.关于规范气象预警信息手机发布的幾点思考[J].气象软科学,2011(1):87-90.

[4] 钱峥,赵科科,许皓皓.基于Android的移动气象信息服务系统设计与实现[J].气象科技,2014, 42(1):99-103.

[5] 袁正国,岳旭,雷桂莲,等.基于Android平台的江西省烟草气象服务系统的设计及实现[J].安徽农业科学, 2016, 44(13):283-286.

[6] 熊安元,赵芳,王颖,等.全国综合气象信息共享系统的设计与实现[J].应用气象学报,2015,26(4):500-512.

[7] 吴佳,高学杰.一套格点化的中国区域逐日观测资料及与其它资料的对比[J].地球物理学报,2013, 56(4):1102-1111.

[8] 李彦,王丽娜,蒋镇.一种针对气象要素的空间插值算法[J].重庆理工大学学报,2014,28(6):94-98.

[9] 伍静,刘黎平,尤卫红,等.应用雷达拼图数据估测降水试验[J].气象科技,2010,38(2):175-181.

[10] 叶金印,邱旭敏,黄勇,等.气象遥感图像及格点场重采样插值方法[J].计算机工程与应用,2013,49(18):237-241.

[11] 王宇,钟琦.欧洲中期天气预报中心(ECMWF)2014年预报性能[J].气象科技进展,2015(4):68-69.

[12] 尹恒,杜良敏,胡永光,等.细网格数值模式产品在水文气象服务中的应用[J].气象科技进展, 2017(1):155-158.

[13] 周之栩.短期温度、降水的多模式集成预报[J].科技通报,2010,26(6):832-836.

[14] 杨森,陈力强,周晓珊.数值降水预报定量集成方法的业务应用[J].气象与环境学报,2012,28(5):14-18.

[15] 张韧,徐志升,申双和,等.基于小样本案例的自然灾害风险评估——信息扩散概率模型[J].系统科学与数学, 2013, 33(4):445-456.

[16] 叶金印,刘静,罗静,等.信息矩阵方法在面雨量预报集成中的应用[J].自然灾害学报,2014,23(4):127-133.

[17] 马晶,陈锡云,刘晓燕.地理因素辅助的黄土高塬典型流域面雨量制图效果比较与评价[J].水土保持学报, 2016, 30(6):174-180.

[18] 叶金印,吴勇拓,李致家,等.湿润地区中小河流山洪预报方法研究与应用[J].河海大学学报(自然科学版),2012,40(6):615-621.

[19] 兰红平,陈训来,孙向明,等.深圳市气象灾害分区预警系统研究[J].气象科技,2010,38(5):629-634.

[20] 李娜,卢伟萍,王佳.小区广播在气象灾害预警信息发布中的应用[J].气象研究与应用,2009,30(S2):236-237.

猜你喜欢

微信公众号
江苏生鲜产品微信公众号营销问题及对策研究
微信公众号在高校“Photoshop图像处理”课程中的应用