張 華,李細(xì)生,肖妙妮
(1.湖南省株洲市氣象局,湖南 株洲 412003 ;2.湖南省婁底市氣象局,湖南 婁底 417000)
地級(jí)臺(tái)站自動(dòng)氣象站實(shí)況資料監(jiān)控的設(shè)計(jì)
張 華1,李細(xì)生1,肖妙妮2
(1.湖南省株洲市氣象局,湖南 株洲 412003 ;2.湖南省婁底市氣象局,湖南 婁底 417000)
2014年初觀測(cè)業(yè)務(wù)調(diào)整以來(lái),一些夜間觀測(cè)項(xiàng)目取消,給預(yù)報(bào)員快速獲取實(shí)況資料帶來(lái)困難,自動(dòng)站實(shí)況資料監(jiān)控程序及時(shí)地解決了這一問(wèn)題。該程序從上級(jí)服務(wù)器中自動(dòng)調(diào)取觀測(cè)站數(shù)據(jù)并顯示,既可監(jiān)視各個(gè)觀測(cè)站資料的及時(shí)性和完整性,又可為氣象要素的預(yù)報(bào)提供依據(jù)。程序運(yùn)行穩(wěn)定可靠,數(shù)據(jù)快速準(zhǔn)確,界面友好美觀;程序的設(shè)計(jì)方面突破了一些難點(diǎn)問(wèn)題,如借助Chart控件顯示平滑曲線和柱狀圖,利用圖像的旋轉(zhuǎn)技術(shù)顯示風(fēng)向和風(fēng)速等。
氣象自動(dòng)站;資料監(jiān)控;VB.NET;數(shù)據(jù)庫(kù)
隨著全國(guó)地面氣象觀測(cè)業(yè)務(wù)的調(diào)整,人工觀測(cè)時(shí)次和項(xiàng)目的減少,自動(dòng)觀測(cè)密度的項(xiàng)目的增多,目前全國(guó)大部分地區(qū)自動(dòng)站地面觀測(cè)全要素5 min發(fā)一次報(bào),要素達(dá)120余個(gè),如何快速獲取這些要素,以及從眾多要素中遴選出預(yù)報(bào)員需要的數(shù)據(jù)和常用的數(shù)據(jù)成為地市級(jí)預(yù)報(bào)員所面臨的一個(gè)難題。雖然MICAPS程序可以顯示全國(guó)范圍加密自動(dòng)站數(shù)據(jù),但一是由于MICAPS資料保存天數(shù)有限,對(duì)數(shù)天前的資料檢索無(wú)能為力,二是由于一般地市級(jí)區(qū)域范圍小,對(duì)要素的縱向比較和應(yīng)用要求更高,而MICAPS在這方面的功能不太多。此外,中國(guó)氣象局提供的“綜合氣象觀測(cè)系統(tǒng)運(yùn)行監(jiān)控程序”縱向檢索功能強(qiáng)大,要素也全面,但要在全國(guó)范圍內(nèi)找到本地區(qū)站點(diǎn),再找到相應(yīng)的要素并作出時(shí)序圖,操作稍顯繁瑣。因此,設(shè)計(jì)一個(gè)針對(duì)某一具體地區(qū)的實(shí)況資料監(jiān)控程序很有必要,該程序可以自動(dòng)快速調(diào)取本區(qū)域的氣象實(shí)況,實(shí)現(xiàn)24 h不間斷的監(jiān)控,預(yù)報(bào)員無(wú)需按鍵操作即可讀取相應(yīng)的資料,既快捷又方便,可以很好的發(fā)揮地市級(jí)預(yù)報(bào)員在地域資料應(yīng)用上的優(yōu)勢(shì),為各項(xiàng)氣象要素比如溫度、降水和風(fēng)向風(fēng)力、能見(jiàn)度等的預(yù)報(bào)提供有力依據(jù),在短臨預(yù)報(bào)中發(fā)揮作用。
應(yīng)上述需求,株洲市氣象臺(tái)開(kāi)發(fā)人員設(shè)計(jì)了一個(gè)實(shí)況資料的監(jiān)控程序,自2014年1月開(kāi)始,該程序一直在氣象臺(tái)使用,半年來(lái)運(yùn)行穩(wěn)定,數(shù)據(jù)準(zhǔn)確,操作簡(jiǎn)單,界面美觀,深受預(yù)報(bào)員喜愛(ài)。下面將設(shè)計(jì)思路、主要功能及開(kāi)發(fā)的難點(diǎn)和亮點(diǎn)逐一介紹。
2.1 總體設(shè)計(jì)要求
程序設(shè)計(jì)總體要求是:穩(wěn)定、可靠、快速、簡(jiǎn)便、美觀。
2.2 流程介紹
系統(tǒng)的工作流程:每小時(shí)通過(guò)FTP方式從省局服務(wù)器調(diào)取各個(gè)觀測(cè)站的整點(diǎn)報(bào)文(文本格式),由翻譯模塊處理后,數(shù)據(jù)顯示在主界面,并作出圖形曲線,同時(shí)自動(dòng)存入數(shù)據(jù)庫(kù),可供查詢和統(tǒng)計(jì)分析。
程序界面用Microsoft公司的VB.NET編程語(yǔ)言[1]開(kāi)發(fā),具有友好、美觀、傻瓜化等特點(diǎn),無(wú)需太多人工操作,主要的功能模塊有以下幾個(gè):
3.1 資料調(diào)取模塊
用微軟的Timer控件,每2 min(時(shí)間間隔可以調(diào)整)向省局服務(wù)器發(fā)送一次查詢,判斷是否有新報(bào)文數(shù)據(jù)生成,如有,即通過(guò)FTP方式調(diào)回本地,如沒(méi)有則進(jìn)入下一次查詢循環(huán)。
3.2 資料翻譯模塊
該模塊的作用是將調(diào)回的文本格式報(bào)文,根據(jù)中國(guó)局觀測(cè)司《地面氣象要素?cái)?shù)據(jù)文件格式(V1.0)》編碼規(guī)則,翻譯成要素?cái)?shù)值,并保存進(jìn)事先設(shè)計(jì)好的MDB數(shù)據(jù)庫(kù)。
圖1 程序主界面
3.3 顯示、作圖模塊
一旦數(shù)據(jù)庫(kù)中有新數(shù)據(jù)存入,則觸發(fā)顯示作圖模塊。數(shù)據(jù)顯示方式分為文本、折線圖、柱狀圖和位圖3種方式。整點(diǎn)時(shí)刻的各種要素以文本形式顯示在界面右側(cè),最近24 h的溫度、相對(duì)濕度和海平面氣壓以平滑的折線圖顯示在主窗口,最近24 h雨量數(shù)據(jù)以綠色柱狀圖顯示,風(fēng)向風(fēng)速則以位圖方式顯示,符合預(yù)報(bào)員使用習(xí)慣,各種數(shù)據(jù)一目了然。
3.4 數(shù)據(jù)庫(kù)模塊
考慮到主要是單位內(nèi)部使用,數(shù)據(jù)量和訪問(wèn)量都不大,安全性要求也不高,因此數(shù)據(jù)庫(kù)采用XP系統(tǒng)自帶的MDB設(shè)計(jì),此數(shù)據(jù)庫(kù)的優(yōu)勢(shì)是無(wú)需額外安裝數(shù)據(jù)庫(kù)服務(wù)器,通用性和移植性都比較好[2]。
3.5 統(tǒng)計(jì)、查詢模塊
該模塊的功能主要是實(shí)現(xiàn)歷史數(shù)據(jù)的年、月、日、小時(shí)的簡(jiǎn)單查詢和統(tǒng)計(jì),便于操作者快速掌握既往的天氣氣候資料。例如查詢2014年3月日最高最低氣溫,點(diǎn)擊“統(tǒng)計(jì)”,則出現(xiàn)如圖4“日最高、最低氣溫柱狀圖”窗口:
圖2 日最高、最低氣溫柱狀圖(3月)
此外,資料的查詢還可以表格形式顯示各種要素的歷史數(shù)據(jù)(圖略)。
技術(shù)的難點(diǎn)主要體現(xiàn)在:要素曲線的顯示;風(fēng)向風(fēng)速的圖形化顯示等。
亮點(diǎn):上述難點(diǎn)問(wèn)題的解決;界面的美觀性;資料的快速及時(shí)獲??;統(tǒng)計(jì)和查詢功能的實(shí)現(xiàn);程序的自動(dòng)化和穩(wěn)定性。
4.1 要素曲線顯示
要素曲線和柱狀圖使用.NET3.5程序自帶的Chart控件實(shí)現(xiàn),該控件的功能非常強(qiáng)大,做出的圖表效果也很美觀。下載和安裝好相關(guān)組件后,打開(kāi)VS2008,在工具箱中右鍵選項(xiàng),添加關(guān)于MSCHART組件的2個(gè)選項(xiàng),工具箱中即出現(xiàn)Chart組件。 設(shè)置好Chart控件的各種屬性參數(shù)后,使用DataBindings 屬性綁定到數(shù)據(jù)庫(kù)查詢產(chǎn)生的數(shù)據(jù)源即可。其中Chart控件用法的掌握是個(gè)難點(diǎn),包括安裝、數(shù)據(jù)源綁定、格式和屬性設(shè)置、事件的使用等等對(duì)于初次接觸的開(kāi)發(fā)者來(lái)說(shuō)都是個(gè)挑戰(zhàn),需要花時(shí)間去細(xì)細(xì)研究。
4.2 風(fēng)向風(fēng)速的圖形化顯示
VB.Net圖像操作的功能非常強(qiáng)大,如果用其GDI+接口來(lái)繪制圖像則顯得費(fèi)時(shí)費(fèi)力。用事先做好的透明位圖(gif格式),通過(guò)Picboxarray旋轉(zhuǎn)相應(yīng)的角度實(shí)現(xiàn)風(fēng)向、風(fēng)速的圖形化顯示是相對(duì)較快速簡(jiǎn)便的一種方式。圖像的平移和旋轉(zhuǎn)方法是利用TranslateTransform和RotateTransform子程序。主程序內(nèi)的調(diào)用方法是:Picboxarray().image=rotate(bmp1,具體角度數(shù)值),如果報(bào)文內(nèi)風(fēng)向風(fēng)速是“PPC”靜風(fēng),則Picboxarray().image = Nothing ,不畫圖。
①實(shí)況資料監(jiān)控程序能從上級(jí)服務(wù)器中自動(dòng)調(diào)取觀測(cè)站數(shù)據(jù)并顯示,既可監(jiān)視各個(gè)觀測(cè)站資料的及時(shí)性和完整性,又可為氣象要素的預(yù)報(bào)提供依據(jù)。
②經(jīng)過(guò)半年的試運(yùn)行,該程序運(yùn)行穩(wěn)定可靠,數(shù)據(jù)快速準(zhǔn)確,界面友好美觀。
③程序的設(shè)計(jì)方面突破了一些難點(diǎn)問(wèn)題,如借助Chart控件顯示平滑曲線和柱狀圖,利用圖像的旋轉(zhuǎn)技術(shù)顯示風(fēng)向和風(fēng)速等。
[1] 楊浩,著.VB.NET入門經(jīng)典(第3版)[M].北京:清華大學(xué)出版社.
[2] D.M.Kroenke著.數(shù)據(jù)庫(kù)處理--基礎(chǔ)、設(shè)計(jì)與實(shí)現(xiàn)(第七版)[M].北京:電子工業(yè)出版社.
2014-04-22
張華(1975—),女,工程師,主要從事地面氣象觀測(cè)工作。
1003-6598(2015)02-0058-02
TP311
B