李新慶,單新蘭,岳 勇
(寧夏氣象信息中心,銀川 750002)
寧夏氣象數據共享查詢系統的設計與實現*
李新慶,單新蘭,岳 勇
(寧夏氣象信息中心,銀川 750002)
為進一步改善寧夏氣象數據服務水平、規(guī)范CIMISS用戶數據接口,提升CIMISS基礎數據庫檢索效率,采用VC++和CIMISS API技術設計實現了寧夏氣象數據查詢系統;系統為授權用戶提供從CIMISS基礎庫中的數據查詢、圖形展示、導出等功能;系統已經投入到業(yè)務使用中,應用結果表明系統對開展氣候分析、天氣預報、氣象資料科研提供有力支撐。
CIMISS;API;數據查詢
全國綜合氣象信息共享平臺CIMISS(China Integrated Meteorological Information Service System)是中國氣象局構建的氣象信息網絡系統的核心業(yè)務框架,它是包含數據收集、處理、分發(fā)、服務、存儲管理、業(yè)務監(jiān)控一體化的氣象信息業(yè)務平臺[1],它采用國家、省兩級布局,由一個國家中心和31個省級中心組成[2],它是連接氣象服務業(yè)務、預報預測業(yè)務和氣象觀測業(yè)務的一個紐帶和橋梁,并向氣象業(yè)務提供共享服務的基礎信息平臺。CIMISS系統著重解決氣象數據從數據源到最終用戶的收集、處理、存儲和共享服務的問題[3],為用戶提供了覆蓋14大類的氣象數據[4],囊括了地面、高空、海洋、輻射、服務產品、衛(wèi)星數據和雷達數據等實時氣象數據資料,為各用戶單位提供氣象基礎數據支撐。為提升寧夏全區(qū)數據共享服務需求,對CIMISS系統開展本地化應用與研究,采用VC++和CIMISS API(Application Program-ming Interface,應用程序編程接口)設計實現區(qū)(?。┘墯庀髷祿蚕聿樵兿到y,系統可以滿足寧夏氣象各個業(yè)務用戶對實時氣象數據的共享和檢索需求,并能為預報預測提供有力的數據支撐。
CIMISS系統主要分為5個應用系統,包括數據收集分發(fā)系統(CTS),加工處理系統(DPC)、存儲管理系統(SOD)、共享服務系統(GDS)和業(yè)務監(jiān)控系統(MCP)[5]。各個系統通過消息的傳遞、文件共享服務的交互實現業(yè)務協作,并統一由業(yè)務監(jiān)控系統進行業(yè)務調度控制、配置管理和總體業(yè)務監(jiān)控,CIMISS邏輯結構如圖1所示。
數據收發(fā)系統主要功能包括數據收集、數據分發(fā)和處理、數據補調、數據存檔和管理、數據監(jiān)視等;加工處理主要功能包括數據解碼、質量控制、產品生成;存儲管理需提供主要包括數據的存儲和管理、數據備份和恢復、數據遷移和回遷等功能;共享服務系統主要功能包括數據和產品檢索下載、數據產品目錄服務、數據產品的顯示和統計等;業(yè)務監(jiān)控系統包括實時業(yè)務監(jiān)視、控制、告警和用戶管理等。
CIMISS系統提供了GDS數據訪問接口,它屏蔽后臺Oracle數據庫的底層細節(jié)[6],為省級用戶提供了一個可以定制的API編程接口[7],氣象業(yè)務系統通過調用部署在本地的API客戶端提交數據請求,獲取數據。API方式比較有針對性,實時性比較好,能夠滿足各用戶的使用需求。CIMISS API邏輯結構如圖2所示。系統采用VC++MFC設計軟件客戶端,向GDS發(fā)送數據檢索請求,接收用戶參數并進行校驗,GDS進行身份認證服務后,通過讀取參數校驗規(guī)則對檢索參數進行校驗,校驗完成后GDS對SOD請求數據,完成數據拷貝、數據處理和數據導出功能,并生成日志。
圖1 CIMISS邏輯結構[5]
圖2 CIMISS API邏輯結構
3.1 CIMISS API檢索數據步驟
目前,CIMISS僅提供了支持C++語言的應用程序編程接口,通過接口,氣象業(yè)務系統通過調用部署在本地的API客戶端提交數據請求,獲取氣象要素實時數據。
進行客戶端開發(fā)時,需要依賴CIMISS提供的DLL動態(tài)鏈接庫“l(fā)ibGdsAPI.dll”、“l(fā)ibcurl.dll”、“7z.dll”,以及“7z.exe”、“gdsAPIDef.h”、“gdsAPI.h”、“gdsAPI.cpp”、“l(fā)ibGdsAPI.conf”文件,各類文件功能如表1所示。
表1 CIMISS客戶端依賴文件
使用CIMISS API檢索數據步驟:系統初始化時,在調用開始需要先加載動態(tài)庫,調用InitDataLibrary();進行用戶認證,調用checkUser("gds","gds"),只有驗證成功后,才能進行數據檢索;數據檢索時,需要聲明返回結構;按照接口說明,傳入合理的參數值,等待并取得結果;解析返回數據。
目前,系統支持五類氣象要素資料(氣溫、降水、風、濕度、氣壓、地溫和天氣現象),系統界面如圖3所示。
圖3 CIMISS數據共享查詢系統界面
3.2 使用CIMISS API接口實現要素查詢
系統在檢索實時氣象要素數據時,需要采用CIMISS API提供的數據檢索通用接口,CIMISS為用戶提供了五類檢索通用接口[8],接口類型見表2。
表2 CIMISS數據檢索通用接口
其中,系統主要運用了站點要素類資料數據接口和站點要素類資料文件接口。站點要素類資料數據接口可以根據條件返回臺站類要素資料數據信息,返回結果為符合條件的要素數據流對象,它可以作為數據檢索和查詢使用。站點要素類資料文件接口根據條件返回臺站類要素資料數據信息,返回的結果為符合條件的要素文件,它可以作為數據文件導出和下載使用。
通過調用表2所示的通用接口方法,可以實現氣象要素的實時檢索和查詢。這里站點要素類型資料數據接口,GDS面向業(yè)務系統提供的getStaEleData()方法覆蓋了地面資料(10 min、逐小時、日值、月值、旬值、年值)、風能、輻射資料、沙塵資料、酸雨等103類資料編碼[9],在進行數據檢索和查詢時,需要設置相應資料類型編碼。
進行要素查詢時,查詢條件是以鍵和值(key-value)的形式給出的,一次檢索請求可通過設置多個不同的鍵值對,共同組成一個查詢條件。關鍵代碼為
以氣溫要素為例,檢索和查詢多站點小時數據界面見圖4。
圖4 CIMISS數據共享查詢系統界面
3.3 TeeChart組件實現要素圖形化展示
系統采用TeeChart Pro ActiveX控件實現氣象要素的圖形化展示功能,Teechart是由西班牙的Steema公司研發(fā)的一系列圖表控件的簡稱[10]。它是專門為C++編寫的一款功能強大的圖形工具軟件包,它可以在包括VC++、VB、.NET等多種編程環(huán)境下使用。
系統主要采用TeeChart控件中的Fast-Line進行繪圖,Fast-Line繪制的圖形都直接在Windows GDI上運行,因此可以增加系統繪制曲線的運行速度[11]。
TeeChart自身提供了圖片保存方法來導出圖片,為系統授權用戶提供圖片導出功能,關鍵代碼為
采用TeeChart控件繪制的CIMISS氣溫要素實時數據系統界面見圖5。
圖5 多站點氣溫要素實時數據圖形展示
采用基于CIMISS API設計實現寧夏氣象數據共享查詢系統,為授權用戶提供從CIMISS基礎數據庫和實時數據庫中檢索氣象數據資料[12],并提供數據查詢、圖形展示和數據導出功能。系統具有安裝部署簡單、數據檢索效率高、系統維護成本低等特點,不但能夠滿足寧夏氣象部門對實時氣象數據的檢索需求,而且還可以為其他省級氣象部門CIMISS本地化應用起到借鑒作用。
[1]趙芳.全國綜合氣象信息共享平臺CIMISS總體業(yè)務及數據構架[R].國家氣象信息中心,2013
[2]趙芳,馬強.新一代天氣雷達信息共享平臺總體設計說明書[R].國家氣象信息中心,2010
[3]楊潤芝,馬強,李德泉,等.內存轉發(fā)模型在CIMISS數據收發(fā)系統中的應用[J].應用氣象學報,2012,23(3):376-383
[4]沈堅.全國綜合氣象信息共享平臺(CIMISS)總體設計架構[R].國家氣象信息中心,2011
[5]趙芳.全國綜合氣象信息共享平臺(CIMISS)總體業(yè)務架構[R].國家氣象信息中心,2011
[6]王曼燕,鄧莉,趙芳,等.CIMISS中氣象衛(wèi)星數據存儲和服務模型[J].安徽農業(yè)科學,2012,40(8):4785-4789
[7]何文春.CIMISS應用服務接口(API)介紹[R].國家氣象信息中心,2013
[8]馬強.CIMISS應用檢索接口(API)用戶手冊[M].北京:輕工業(yè)出版社,2011
[9]馬強,楊潤芝.CIMISS-GDS應用檢索接口(API)用戶手冊[M].北京:輕工業(yè)出版社,2013
[10]程華、王華闖.TeeChart 8.0控件組在激光測距軟件中的應用[J].工業(yè)控制計算機,2013,26(4):39-42
[11]文治洪、胡文東.使用Chart控件實現生理信號的實時顯示[J].電子設計工程,2011,19(5):63-66
[12]楊藝,唐燦.一種啟發(fā)式Web信息檢索方法[J].重慶工商大學學報:自然科學版,2010,27(2):139-144
Design and Implementation of Ningxia Meteorological Data Share Query System
LI Xin-qing,SHAN Xin-lan,YUE Yong
(Ningxia Meteorological Information Center,Yinchuan 750002,China)
For improving Ningxia meteorological data service,standardizing user interface for CIMISS meteorological database and promoting retrieval efficiency of CIMISS database,this paper designs Ningxia meteorological data query system by VC++and CIMISS API.The system is accessible to authorized users for data query,graphical displaying and exporting from CIMISS basic data base.In application of the system,the results show the system is very supportive for climate analysis,weather forecasting and meteorological materials research.
CIMISS;API;Data Query
TP399
A
1672-058X(2015)03-0055-05
10.16055/j.issn.1672-058X.2015.0003.012
2014-08-18;
2014-09-20.
國家發(fā)展和改革委員會項目(TC09EL42);寧夏氣象信息中心青年基金課題(NQ2014113).
李新慶(1983-),男,陜西周至人,助理工程師,碩士,從事氣象資料應用研究.