气象数据接口设计在运动会的应用

时间:2022-05-10 10:54:32

气象数据接口设计在运动会的应用

摘要:基于气象统一数据环境,阐述将冬季运动会需要的地面资料和辐射资料融合存储,冬季运动会气象服务保障的统一服务接口,为各个赛区业务系统提供准确、高效的气象数据。

关键词:冬运会,气象数据,接口设计,系统融合

第十四届全国冬季运动会(十四冬)定于内蒙古自治区举办,是2022年北京冬奥会前在中国举办的规模最大、专业性最强、水平最高的冬季运动会,受到了各界高度重视。“十四冬”比赛项目与气象条件紧密关联,气象保障工作好坏是冬运会成功的关键因素之一。“十四冬”主要应用的数据有雪温、辐射、气温、降水、风速风向、气压等观测数据,这些资料存储在气象数据环境的不同表中,在赛事气象保障活动需要调用多张表,加大了数据获取的繁杂度,为了更好地提供快捷、高效、准确的数据支撑,文章从实际需求出发,利用Python语言对气象要素存储进行整合,基于气象统一服务接口(MUSIC)框架,为十四冬气象服务保障量身定制数据统一服务接口。

1总体设计

(1)气象统一数据环境。全国综合气象信息共享平台(CIMISS),是一套覆盖全区的,集数据收发、质量控制、产品生成、存储管理于一体的业务系统[1],存储的资料包括地面、高空、海洋、辐射、农气、数值模式、大气成分、气象灾害、雷达、卫星、服务产品等气象观测数据和气象服务产品[2]。“十四冬”数据环境就是依托“CIMISS”数据环境设计的。(2)气象统一服务接口。气象数据统一服务接口(MUSIC),是基于气象统一数据环境(CIMISS),面向气象业务和科研,提供全国统一、标准、丰富的数据访问服务接口,实现全区各级业务系统唯一权威的数据服务[3]。“十四冬”统一服务接口是基于CIMISS和MUSIC标准规范设计和实现的,设计思路是,首先从气象观测站的数据库提取比赛场地的观测数据,然后按照观测时间对不同数据表提取的数据融合并存储至CIMISS数据环境,按照MUSIC标准规范定义资料代码、服务接口实现服务接口的供用户使用。主要包括数据抽取、数据融合、数据写入和接口配置和四部分,总体流程如图1所示。

2实现方法

2.1数据提取

“十四冬”赛事主要应用的气象数据存储在中心站数据库的DATA_DMGD、DATA_DM5D、DATA_DMRD这三张表,本文基于Python语言[4]的pyodbc类库连接数据库并调用内置函数按照时间和台站信息读取所需数据,分别存储至RS_DM5D、RS_DMRD和RS_DMGD变量,关键代码如下。conn=pyodbc.connect('DRIVER={SQLServer};SERVER=ip;port=1433;DATABASE=database;UID=user;PWD=Password')cursor=conn.cursor()cursor.execute(sqlstr)rs=cursor.fetchall()

2.2数据融合

Python字典(dict)是一种无序可扩展的数据结构,以键值对(key-value)的形式存储。文中先定义了一个键值对为要素名称-要素值的字典dic1,用来存放气象要素数据,然后在定义一个键值对为站号_时间-dic1的字典dic2,用来存放某一个台站某一时次的dic1。数据融合思路:读取RS_DM5D变量,将对应要素名称作为键名和要素值作为键值添加到字典dic1,遍历完成后将站号_时间作为键名,dic1作为键值存储至字典dic2;然后分别遍历RS_DMRD和RS_DMGD变量,以变量中的站号和时间拼接成“站号_时间”格式作为字典dic2的键名,当匹配成功,则将气象要素数据添加至dic1字典中,实现数据融合。

2.3数据写入

CIMISS存储规范要求,新建的数据表需要有四级编码(D_DATA_ID)、入库时间(D_RYMDHM)、纬度(V05001)、经度(V06001)、海拔高度(V07001)等管理字段,四级编码按照国家局指导编订为A.0099.0001.S001,入库时间数据入库的当前系统时间,经纬度和海拔高度则根据站号信息从台站信息表读取,然后遍历字典dic2,读取字典中各个要素信息,生成待入库的SQL语句,CIMISS数据环境使用的数据库为ORACLE数据库,在写入之前先判断该记录在库中是否存在,不存在则调用cx_Oracle类库实现数据写入,关键代码如下:tns=cx_Oracle.makedsn(ip,1521,databasename)db=cx_Oracle.connect(user,password,tns)cursor=db.cursor()cursor.execute(sql,values)db.commit()

2.4接口配置与

(1)元数据信息配置。冬运会气象服务保障接口的元数据信息表包括DMIN_DATA_ID_DEFINE、DMIN_DATA_ID_TABLE和DMIN_DATA_TABLE_FIELD三张表。DMIN_DATA_ID_DEFINE存储的是资料四级编码及资料中文名称,DMIN_DATA_ID_TABLE存储的是资料四级编码和数据库表名,DMIN_DATA_TABLE_FIELD存储的是数据表名和数据表要素字段信息。将表名和表结构字段信息添加至以上三张元数据表即完成元数据信息配置。(2)服务接口配置与。登录MUSIC管理平台,配置冬运会气象服务保障接口,包括基本信息和读取接口2部分[5,6]。基本信息包括服务代码、资料名称、站网信息、数据源等;的读取接口主要有按时间检索地面数据要素、按时间站号检索地面数据要素、按时间段检索地面数据要素、按时间段台站检索地面数据要素、按时间段统计地面数据要素、按时间段站号统计地面数据要素、按时间段地区统计地面数据要素等接口,配置页面如图2所示,保存即完成接口。

3结语

“十四冬”气象数据统一服务接口自2019年以来,数据服务的下载量为35.26GB,下载次数5400余万次,主要服务的业务系统有冬运会保障服务系统、呼伦贝尔气象微信统一平台、“十四冬”实况观测展示平台、内蒙古气象台预报检验平台、内蒙古公共气象服务网,接口调取数据及时、准确、快捷,为冬运会各项赛事预报和实况业务提供高效的基础数据支撑。

参考文献

[1]熊安元,赵芳,王颖,张小缨,高峰,邓莉,谭小华,马强.全国综合气象信息共享系统的设计与实现[J].应用气象学报,2015,26(04):500-512.

[2]李志鹏,胡佳军,杨立苑,李显风,邓卫华.基于CIMISS的气象数据处理时效监视系统设计与实现[J].气象与减灾研究,2016,39(04):309-313.

[3]DB41∕T1809-2019,气象数据统一服务接口(MUSIC)规范[S].2019.

[4]吴伶琳,方巍.Python语言程序设计基础[M].辽宁:大连理工大学出版社,2019.

[5]国家气象信息中心.接口配置的命名规则[M].2012.

[6]国家气象信息中心.MUSIC管理员手册[M].2015.

作者:王家乐 单位:内蒙古气象信息中心