華韻子 林紅
摘 要:為提高華東區(qū)域自動氣象站快速共享及顯示查詢效率,重點研究數(shù)據(jù)庫引擎優(yōu)化技術(shù)、自動站插值與GIS信息疊加技術(shù)及實況信息警示技術(shù)。在探討適用于自動站數(shù)據(jù)顯示方法的基礎(chǔ)上,設(shè)計并開發(fā)了華東區(qū)域自動氣象站顯示查詢系統(tǒng)。平臺基于B/S架構(gòu)設(shè)計多層框架模型,結(jié)合.NET技術(shù)和Oracle數(shù)據(jù)庫技術(shù),實現(xiàn)對華東區(qū)域六省一市1200多個自動站的融合顯示查詢及多級自動報警等功能。系統(tǒng)多年來業(yè)務(wù)運行穩(wěn)定,為區(qū)域短時臨近天氣預(yù)報業(yè)務(wù)及災(zāi)害天氣早發(fā)現(xiàn)提供重要分析基礎(chǔ)。
關(guān)鍵詞: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)
近年來華東區(qū)域氣象現(xiàn)代化快速發(fā)展,自動氣象站數(shù)據(jù)已成為短時臨近預(yù)報的重要分析基礎(chǔ)。目前,華東區(qū)域六省一市內(nèi)共享的地面自動氣象站共計1200余個,其中國家級自動氣象站約70個,區(qū)域自動氣象站約1080個。然而,現(xiàn)有的自動站查詢系統(tǒng)僅支持本省市內(nèi)的資料,如何將區(qū)域共享的自動站信息快速呈現(xiàn)給預(yù)報員是迫切需要解決的問題。
為解決這個問題,在研究適用于自動站數(shù)據(jù)顯示方法的基礎(chǔ)上,設(shè)計并開發(fā)了華東區(qū)域自動站顯示查詢系統(tǒng)。該系統(tǒng)是長三角短時臨近一體化預(yù)報平臺的子系統(tǒng),可實現(xiàn)共享資料快速處理入庫,高分辨率信息的融合顯示,區(qū)域自動站產(chǎn)品的多級自動報警等功能。
2 系統(tǒng)架構(gòu)及關(guān)鍵技術(shù)(System framework and key technology)
2.1 系統(tǒng)架構(gòu)設(shè)計
根據(jù)對華東區(qū)域氣象自動站顯示查詢系統(tǒng)需求調(diào)研,系統(tǒng)采用B/S架構(gòu)設(shè)計,主要由三部分組成。底層為數(shù)據(jù)采集及數(shù)據(jù)庫優(yōu)化模塊和華東區(qū)域氣象自動站實時數(shù)據(jù)庫;中間層為應(yīng)用服務(wù)端,實現(xiàn)自動站插值、自動站融合顯示及自動警示等業(yè)務(wù)功能。最上層為瀏覽器端,實現(xiàn)數(shù)據(jù)顯示分析等用戶交互功能。整個系統(tǒng)如圖1所示基于多層體系架構(gòu),硬件方面主要包括Oracle數(shù)據(jù)服務(wù)器、WEB應(yīng)用服務(wù)器等。
2.2 關(guān)鍵技術(shù)
(1)數(shù)據(jù)庫引擎優(yōu)化技術(shù)
由于氣象自動站數(shù)據(jù)更新速度快、數(shù)據(jù)量大、實時性要求高的特點,需要對數(shù)據(jù)庫分區(qū)及索引技術(shù)進行研發(fā),以提高自動站數(shù)據(jù)在系統(tǒng)中的獲取效率。數(shù)據(jù)庫選用Oracle 11g,實現(xiàn)了數(shù)據(jù)庫引擎的優(yōu)化及應(yīng)用的大量壓縮技術(shù),使得讀寫數(shù)據(jù)的速度得到了大幅度提高,同時也降低了存儲成本。同時對自動站數(shù)據(jù)庫結(jié)構(gòu)進行了調(diào)整和優(yōu)化,將Oracle中的新技術(shù)間隔分區(qū)應(yīng)用到華東區(qū)域自動站數(shù)據(jù)庫的建設(shè)中,大幅度提高了數(shù)據(jù)庫的建設(shè)和維護的效率,分區(qū)表的設(shè)計有效地提高了查詢效率。經(jīng)過優(yōu)化后的自動站實時數(shù)據(jù)庫可實現(xiàn)華東區(qū)域平均每10分鐘1200多個自動站的實時解析及ORACLE歷史數(shù)據(jù)的存儲,從觀測到系統(tǒng)中顯示查詢的時間差縮短到10分鐘左右,其中上海市的自動站只需要3—5分鐘。
如圖2所示,數(shù)據(jù)采集及優(yōu)化模塊分為批量解碼與存儲過程兩個部分。其中批量解碼分為資料預(yù)處理、編碼解析、規(guī)范器三個部分。存儲過程分為編譯器、查詢優(yōu)化器、SQL管理器、表達式服務(wù)四個部分。當各個省的資料匯總后,首先對資料進行預(yù)處理,通過編碼解析和規(guī)范器進行批量解碼,再通過存儲過程實現(xiàn)數(shù)據(jù)矩陣的編譯和查詢優(yōu)化,最終利用SQL管理器和表達式服務(wù)存儲到數(shù)據(jù)庫中。
在自動站數(shù)據(jù)庫的分區(qū)技術(shù)方面,將自動站要素表和分鐘雨量表分離在若干個不同的表空間上,以支持無限增長的表空間。使用該技術(shù)可以改善海量數(shù)據(jù)的維護、備份、查詢的性能[1,2]。分區(qū)表的建立是以觀測時間這個數(shù)據(jù)列作為分區(qū)鍵,并以月為單位進行分區(qū)表的建設(shè)。利用間隔分區(qū)技術(shù)對范圍分區(qū)進行擴展,實現(xiàn)了自動化的等距范圍分區(qū)。將分區(qū)創(chuàng)建為元數(shù)據(jù),只有分區(qū)開始部分是不變的,附加的段是當數(shù)據(jù)抵達時才分配的,附加分區(qū)和本地索引則自動創(chuàng)建,其創(chuàng)建代碼如下:
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函數(shù)轉(zhuǎn)換一個數(shù)字為間隔一年至一個月的文字(年或月)。間隔分區(qū)的引入,大幅度提高了數(shù)據(jù)庫的建設(shè)和維護的效率[3]。通過在oracle數(shù)據(jù)庫服務(wù)中編寫插入記錄的存儲過程,使得入庫效率較傳統(tǒng)入庫方式提高了20倍,自動站表入庫速度達到每秒1萬條記錄,分鐘雨量表因表中字段較少,入庫速度達到每秒4萬條記錄。
(2)自動站插值與GIS信息疊加技術(shù)
自動氣象站實時資料是一種離散點資料,對于預(yù)報員來說需要將其轉(zhuǎn)化成地圖格點數(shù)據(jù)來方便研究空間上的分布情況,因此需要將站點要素進行插值并疊加精細化地理信息。首先需要利用GIS技術(shù)及空間映射技術(shù)將精細化的華東區(qū)域地圖底圖轉(zhuǎn)化為氣象專業(yè)軟件通用的底圖數(shù)據(jù)文件,如MICAPS格式或GRADS地圖格式;并且為配合地圖資料的精確配準,底圖原始數(shù)據(jù)坐標系采用蘭勃特投影,并轉(zhuǎn)換成直角坐標顯示。底圖范圍選擇中尺度底圖,即兩種網(wǎng)格點精度:1 km×1 km與5 km×5 km網(wǎng)格,而地圖底圖按不同需求可疊加省行政區(qū)邊界、地區(qū)界、高速公路、水系湖泊、鄉(xiāng)鎮(zhèn)街道、城市道路等信息。將所有預(yù)處理數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一的網(wǎng)格資料為后續(xù)圖形處理、等值線處理、數(shù)據(jù)疊加等提供標準化的數(shù)據(jù)同化手段。其次對自動站要素進行插值計算。確定插值的空間分辨率確定后,系統(tǒng)選用了IDW反權(quán)重插值法。IDW(Inverse Distance Weighted)是一種常用而簡便的空間插值方法,它以插值點與樣本點間的距離為權(quán)重進行加權(quán)平均,離插值點越近的樣本點賦予的權(quán)重越大[4,5]。設(shè)平面上分布一系列離散點,已知其坐標和值為Xi,Yi,Zi(i=1,2,…,n)通過距離加權(quán)值求Z點值,其基本公式:
通過IDW插值生成格點數(shù)據(jù),再按照各個要素不同的色標等級進行繪圖,如圖3所示。對于溫度要素采用2℃間隔進行圖像渲染;而風(fēng)速雨量等要素則按照中國氣象局相應(yīng)規(guī)定進行間隔化的圖像渲染。
(3)實況信息警示技術(shù)
實況信息警示技術(shù)可幫助預(yù)報員監(jiān)視災(zāi)害性天氣信息,有助于高影響天氣的早期發(fā)現(xiàn),避免突發(fā)災(zāi)害天氣的遺漏。該技術(shù)利用數(shù)據(jù)識別技術(shù)解析預(yù)警數(shù)據(jù),主要通過針對多種非圖像數(shù)據(jù)存儲方式進行數(shù)據(jù)查詢解析得到預(yù)警信息。系統(tǒng)根據(jù)設(shè)置的閾值,采用SQL語言具有針對性的方法挖掘數(shù)據(jù)中的有價值信息,并根據(jù)信息的關(guān)聯(lián)規(guī)則提取出強天氣預(yù)警信息。SQL(Structured Query Language)是高級的非過程化編程語言[6],允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作,具有極大的靈活性和強大的功能[7],方便系統(tǒng)從多種數(shù)據(jù)源中提取相互關(guān)聯(lián)的、有用的預(yù)警信息。
根據(jù)中國氣象局規(guī)定的預(yù)警信號發(fā)布規(guī)則及預(yù)報員多年的預(yù)報經(jīng)驗總結(jié),研制完成了自動站資料的預(yù)警初值。同時系統(tǒng)還提供專門的預(yù)警初值配置文件,可在后臺通過配置程序進行配置,并提供預(yù)警初值的查看和修改功能,根據(jù)不同季節(jié)以及天氣背景條件,可以方便的修改災(zāi)害天氣的預(yù)警閾值。
報警方式設(shè)計方面,實時警示技術(shù)研究了新穎實用的圖眉報警方式,實現(xiàn)自動站信息的多級自動報警技術(shù),并與中國氣象局發(fā)布的四色預(yù)警色碼進行匹配,有利于預(yù)警信號的發(fā)布。
3 系統(tǒng)實現(xiàn)(System implementation)
3.1 開發(fā)環(huán)境
系統(tǒng)是基于.NET應(yīng)用框架構(gòu)建的,其用戶界面及操作均遵循Microsoft Windows中文版及Microsoft .NET Framework v4.0的要求與規(guī)范[8]。采用B/S架構(gòu),能充分發(fā)揮B/S架構(gòu)跨平臺、無需安裝程序、維護方便等優(yōu)點[9]。前臺系統(tǒng)編程基于Microsoft Visual Studio集成開發(fā)環(huán)境,使用Microsoft Visual C#語言;后臺系統(tǒng)根據(jù)不同需求使用JAVA及Microsoft Visual C#語言。
3.2 功能模塊
根據(jù)系統(tǒng)架構(gòu)設(shè)計,華東區(qū)域氣象自動站顯示查詢應(yīng)用服務(wù)主要包括:自動站插值、融合顯示模塊、自動警示模塊三大模塊。
(1)自動站插值模塊
利用自動站插值技術(shù),針對自動站溫度、雨量、氣壓和風(fēng)向風(fēng)速四要素,每10分鐘進行一次將離散點的資料轉(zhuǎn)換為網(wǎng)格資料處理,網(wǎng)格點插值精度為1 km×1 km、5 km×5 km兩種。這種網(wǎng)格資料與雷達、云圖等資料的網(wǎng)格點相同,可直接疊加使用。對于處理為網(wǎng)格點后的資料,使用NCEP/NCAR繪圖軟件包和GrADS繪圖軟件,將這些網(wǎng)格資料處理為等值線圖供預(yù)報分析使用[10]。
(2)融合顯示模塊
融合顯示模塊主要研究自動站信息的綜合顯示技術(shù),實現(xiàn)信息的快速顯示分析。顯示查詢方式是否多樣化、是否具備實用性、易用性,對于方便用戶使用和豐富系統(tǒng)的表現(xiàn)力具有很大的影響力。綜合顯示查詢模塊是基于ASP.NET開發(fā)的B/S架構(gòu)查詢模塊,它提供多種可視化數(shù)據(jù)查詢統(tǒng)計功能。本系統(tǒng)中最終采用了以下三種查詢顯示方式。
(a)按單要素等值線圖
為了方便預(yù)報員綜合瀏覽實時自動站資料,系統(tǒng)使用長三角一體化平臺的縮微技術(shù)以電視墻的方式融合顯示自動站單要素等值線信息,如圖4所示。首先將后臺插值子模塊生成等值線產(chǎn)品轉(zhuǎn)換為統(tǒng)一的圖形文件,然后縮小為合適的圖像尺寸,排列顯示在主頁面上,可以讓預(yù)報員一目了然的綜觀所有資料。并提供小圖放大、動畫等功能。
(b)按要素統(tǒng)計排序表
系統(tǒng)提供按照自動站雨量、最低溫度、最高溫度、風(fēng)向風(fēng)速、等要素分類排序的功能。預(yù)報員可查詢區(qū)域內(nèi)任意時間段內(nèi)任意氣象要素的排序情況。排序分為整個區(qū)域自動站要素極值前10位排序、各個省內(nèi)自動站要素值的正序(或者逆序)排序。
(c)按單站查詢統(tǒng)計表
單站查詢統(tǒng)計功能提供針對某一個自動站單站在任意時間段內(nèi)所有要素的時間序列列表信息。并統(tǒng)計其最高溫度、最低溫度、最大陣風(fēng)風(fēng)速、最小相對濕度、累計雨量。
(3)自動警示模塊
預(yù)警顯示采用了對應(yīng)縮微圖的圖眉顯示方式,即將探測資料以圖形方式顯示,然后將圖按比例進行縮微成為小圖,在小圖的上端設(shè)計預(yù)警顯示區(qū),對應(yīng)該圖預(yù)先設(shè)置的閾值進行不同顏色的預(yù)警顯示,如圖4所示。每幅小圖圖像的眉首設(shè)計為一條報警色條,點擊小圖可如圖5所示直接彈出預(yù)警的詳細信息。這種顯示方式可以從大量信息數(shù)據(jù)中及時、準確地為預(yù)報人員提取出優(yōu)先需要關(guān)注的重要信息。
4 結(jié)論(Conclusion)
通過對數(shù)據(jù)庫引擎優(yōu)化技術(shù)、自動站插值技術(shù)及實況信息警示技術(shù)的研究,在探討適用于自動站數(shù)據(jù)顯示方法的基礎(chǔ)上,設(shè)計并開發(fā)了華東區(qū)域自動氣象站顯示查詢系統(tǒng)。該系統(tǒng)具有以下優(yōu)勢:(1)入庫模塊使用數(shù)據(jù)庫分區(qū)及索引技術(shù),大大提高了自動站數(shù)據(jù)處理及存儲效率;(2)研發(fā)多種自動站數(shù)據(jù)融合顯示查詢方式,更加貼合預(yù)報人員的使用習(xí)慣;(3)自動警示模塊可從大量實時數(shù)據(jù)中提取優(yōu)先需要關(guān)注的信息,有助于災(zāi)害天氣的早期發(fā)現(xiàn);(4)系統(tǒng)基于B/S架構(gòu)實現(xiàn),后臺數(shù)據(jù)處理及維護均在服務(wù)器端完成,具有操作方便、可視化效果顯著、高度集約化的特點。
參考文獻(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] 王興,等.臺站溫度質(zhì)量控制中IDW算法改進及應(yīng)用[J].氣象科技,2014,42(4):605-611.
[5] 陸忠艷,等.基于GIS的氣溫和降水推算方法研究[J].氣象科技,2008,36(4):389-395.
[6] 李洪進.LINQ to SQL技術(shù)在Web開發(fā)中的應(yīng)用[J].計算機與信息技術(shù),2012(01):20-22.
[7] 袁佰順,等.基于ORACLE的隴東南區(qū)域自動氣象站數(shù)據(jù)庫設(shè)計及應(yīng)用[J].干旱氣象,2014,32(3):475-480.
[8] 特羅爾森,著.朱曄,等,譯.C#與.NET4高級程序設(shè)計(第5版)[M].北京:人民郵電出版社,2011.
[9] 閻麗鳳,等.災(zāi)害性天氣監(jiān)測預(yù)警平臺設(shè)計與開發(fā)[J].氣象科技,2014,42(5):804-810.
[10] 劉瑾,等.利用區(qū)域自動站資料分析核桃花期凍害氣象條件及成因[J].氣象科技,2014,42(6):1100-1105.
作者簡介:
華韻子(1981-),女,碩士,工程師.研究領(lǐng)域:氣象行業(yè)軟件研發(fā).
林 紅(1966-),女,碩士,高級工程師.研究領(lǐng)域:氣象行業(yè)軟件研發(fā).