氣象數據接口設計在運動會的應用

時間:2022-05-10 10:54:32

導語:氣象數據接口設計在運動會的應用一文來源于網友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

氣象數據接口設計在運動會的應用

摘要:基于氣象統(tǒng)一數據環(huán)境,闡述將冬季運動會需要的地面資料和輻射資料融合存儲,冬季運動會氣象服務保障的統(tǒng)一服務接口,為各個賽區(qū)業(yè)務系統(tǒng)提供準確、高效的氣象數據。

關鍵詞:冬運會,氣象數據,接口設計,系統(tǒng)融合

第十四屆全國冬季運動會(十四冬)定于內蒙古自治區(qū)舉辦,是2022年北京冬奧會前在中國舉辦的規(guī)模最大、專業(yè)性最強、水平最高的冬季運動會,受到了各界高度重視。“十四冬”比賽項目與氣象條件緊密關聯,氣象保障工作好壞是冬運會成功的關鍵因素之一。“十四冬”主要應用的數據有雪溫、輻射、氣溫、降水、風速風向、氣壓等觀測數據,這些資料存儲在氣象數據環(huán)境的不同表中,在賽事氣象保障活動需要調用多張表,加大了數據獲取的繁雜度,為了更好地提供快捷、高效、準確的數據支撐,文章從實際需求出發(fā),利用Python語言對氣象要素存儲進行整合,基于氣象統(tǒng)一服務接口(MUSIC)框架,為十四冬氣象服務保障量身定制數據統(tǒng)一服務接口。

1總體設計

(1)氣象統(tǒng)一數據環(huán)境。全國綜合氣象信息共享平臺(CIMISS),是一套覆蓋全區(qū)的,集數據收發(fā)、質量控制、產品生成、存儲管理于一體的業(yè)務系統(tǒng)[1],存儲的資料包括地面、高空、海洋、輻射、農氣、數值模式、大氣成分、氣象災害、雷達、衛(wèi)星、服務產品等氣象觀測數據和氣象服務產品[2]。“十四冬”數據環(huán)境就是依托“CIMISS”數據環(huán)境設計的。(2)氣象統(tǒng)一服務接口。氣象數據統(tǒng)一服務接口(MUSIC),是基于氣象統(tǒng)一數據環(huán)境(CIMISS),面向氣象業(yè)務和科研,提供全國統(tǒng)一、標準、豐富的數據訪問服務接口,實現全區(qū)各級業(yè)務系統(tǒng)唯一權威的數據服務[3]。“十四冬”統(tǒng)一服務接口是基于CIMISS和MUSIC標準規(guī)范設計和實現的,設計思路是,首先從氣象觀測站的數據庫提取比賽場地的觀測數據,然后按照觀測時間對不同數據表提取的數據融合并存儲至CIMISS數據環(huán)境,按照MUSIC標準規(guī)范定義資料代碼、服務接口實現服務接口的供用戶使用。主要包括數據抽取、數據融合、數據寫入和接口配置和四部分,總體流程如圖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存儲規(guī)范要求,新建的數據表需要有四級編碼(D_DATA_ID)、入庫時間(D_RYMDHM)、緯度(V05001)、經度(V06001)、海拔高度(V07001)等管理字段,四級編碼按照國家局指導編訂為A.0099.0001.S001,入庫時間數據入庫的當前系統(tǒng)時間,經緯度和海拔高度則根據站號信息從臺站信息表讀取,然后遍歷字典dic2,讀取字典中各個要素信息,生成待入庫的SQL語句,CIMISS數據環(huán)境使用的數據庫為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]。基本信息包括服務代碼、資料名稱、站網信息、數據源等;的讀取接口主要有按時間檢索地面數據要素、按時間站號檢索地面數據要素、按時間段檢索地面數據要素、按時間段臺站檢索地面數據要素、按時間段統(tǒng)計地面數據要素、按時間段站號統(tǒng)計地面數據要素、按時間段地區(qū)統(tǒng)計地面數據要素等接口,配置頁面如圖2所示,保存即完成接口。

3結語

“十四冬”氣象數據統(tǒng)一服務接口自2019年以來,數據服務的下載量為35.26GB,下載次數5400余萬次,主要服務的業(yè)務系統(tǒng)有冬運會保障服務系統(tǒng)、呼倫貝爾氣象微信統(tǒng)一平臺、“十四冬”實況觀測展示平臺、內蒙古氣象臺預報檢驗平臺、內蒙古公共氣象服務網,接口調取數據及時、準確、快捷,為冬運會各項賽事預報和實況業(yè)務提供高效的基礎數據支撐。

參考文獻

[1]熊安元,趙芳,王穎,張小纓,高峰,鄧莉,譚小華,馬強.全國綜合氣象信息共享系統(tǒng)的設計與實現[J].應用氣象學報,2015,26(04):500-512.

[2]李志鵬,胡佳軍,楊立苑,李顯風,鄧衛(wèi)華.基于CIMISS的氣象數據處理時效監(jiān)視系統(tǒng)設計與實現[J].氣象與減災研究,2016,39(04):309-313.

[3]DB41∕T1809-2019,氣象數據統(tǒng)一服務接口(MUSIC)規(guī)范[S].2019.

[4]吳伶琳,方巍.Python語言程序設計基礎[M].遼寧:大連理工大學出版社,2019.

[5]國家氣象信息中心.接口配置的命名規(guī)則[M].2012.

[6]國家氣象信息中心.MUSIC管理員手冊[M].2015.

作者:王家樂 單位:內蒙古氣象信息中心