劉高平 葉金印
摘 要:針對縣級氣象臺業(yè)務集約化水平低的現狀,利用C#、WPF、WCF以及SQL等技術,設計研發(fā)基于分布式架構的縣級氣象業(yè)務系統(tǒng),實現了氣象信息集成顯示、預報預警、氣象服務產品制作發(fā)布、業(yè)務流程監(jiān)控等四大業(yè)務功能的集約化。業(yè)務應用表明,該系統(tǒng)可提高縣級氣象臺預報預警業(yè)務效率和氣象服務能力。
關鍵詞:分布式;縣級氣象業(yè)務;業(yè)務系統(tǒng)
中圖分類號:P409 文獻標識碼:A
Abstract:In order to improve business intensive level at county level meteorological observatories,County Level Meteorological Operational System was designed and developed based on distributed structure with the help of C#,WPF,WCF,SQL,etc.technique.Four major operational functions including:meteorological information integrated display,forecasting and early warning,production and publishing of meteorological service products,operation process monitoring were integrated.Operational application proved that the system can improve meteorological service ability as well as the efficiency of forecasting and warning.
Keywords:distributed structure;county level meteorological service;operational system
1 引言(Introduction)
隨著我國經濟社會快速發(fā)展,自然災害問題日益突出[1]。其中因氣象災害造成的經濟損失和人員傷亡,引起了政府部門和社會各界越來越廣泛的關注[2]。縣級氣象臺是面向公眾和面向領導決策的氣象防災減災重要業(yè)務主體,其業(yè)務服務水平已經成為全國氣象現代化水平的重要標志[3],建設集約化的縣級綜合氣象業(yè)務系統(tǒng)是提升氣象防災減災能力的重要手段[4]。
隨著氣象業(yè)務的拓展和計算機技術在氣象行業(yè)的應用,為解決具體業(yè)務應用的軟件越來越多,這些業(yè)務應用軟件功能單一,對數據和運行環(huán)境的要求也不盡相同[5]。雖然這些業(yè)務軟件在一定的階段發(fā)揮了積極的作用,但是其業(yè)務自動化和集約化水平越來越不能適應社會經濟發(fā)展對氣象服務能力的需求[3-5]。氣象信息集成顯示、預報預警、氣象服務產品制作發(fā)布、業(yè)務流程監(jiān)控等四個方面是縣級氣象臺主要業(yè)務工作,也是我國氣象部門業(yè)務能力建設的重要內容[6]。本文以安徽省氣象部門研發(fā)的基于分布式架構的縣級氣象業(yè)務系統(tǒng)為例,介紹了系統(tǒng)的總體設計方案、功能實現以及關鍵技術集成應用等技術思路和方法。
2 系統(tǒng)總體設計方案(General designing plan of
this system)
安徽縣級氣象綜合業(yè)務系統(tǒng)采用分布式三層架構。數據層為多個SQL Server數據庫組成的數據庫集群;業(yè)務邏輯層是利用WCF技術建立的多個具有數據加工處理、信息傳達和業(yè)務管理功能的SOA應用服務器;表現層是利用.NET框架下的C#編程技術和WPF界面技術建立的客戶端,負責氣象信息顯示和人機交互。系統(tǒng)的拓撲結構如圖1所示。
3 系統(tǒng)功能及實現方法(Functions andimplementation)
3.1 氣象信息綜合集成顯示
利用C#編程與WPF技術自行研發(fā)了具有GIS功能的MeteoMap控件,實現種類繁多的氣象信息分層疊加和集成顯示。MeteoMap控件具有天氣符號等矢量圖形繪制、衛(wèi)星圖像繪制、雷達圖像繪制[7]、等值線繪制填色[8]等基礎功能,且支持地圖漫游、縮放以及投影轉換。
氣象數據的集成疊加顯示是使用MeteoMap控件中的圖層類來實現??丶械腁bLayer類是所有圖層的抽象基類,該類擁有添加圖元(AddFeatures)抽象方法,在其派生類的該方法下可添加點、線、面類型的圖元,每個圖元則包括定坐標定位信息和繪制自我(DrawMe)函數,圖元在DrawMe函數中利用控件的DrawingContext(WPF的圖形繪制類)對象進行繪制。圖層分為上、中和下三層,按照從下至上的順序進行疊加。上層為用戶交互、地理信息及氣象數據類型顯示圖層;中層為等值線類型顯示圖層;下層為衛(wèi)星雷達等遙感圖像顯示圖層。
客戶端通過SOA層調取自動氣象站、衛(wèi)星、雷達、主觀預報、客觀預報等數據,利用MeteoMap控件分層疊加和集成顯示。
3.2 氣象預報及服務產品制作
(1)圖形產品制作
通過建立MeteoMap控件圖元移動修改工具(ImageMetaTool),針對預報數據的修訂和不同行政區(qū)域、地圖元素(如圖例、標題等)的交互式操作,實現交互式的氣象預報及服務圖形化產品制作功能。
修改預報數據時,ImageMetaTool通過MeteoMap控件鼠標MouseRightButtonDown事件獲得鼠標位置,根據設定的距離選取雨量數據,并彈出對話框交互修改降雨數據。
移動地圖元素(如圖例、標題等)時,ImageMetaTool工具監(jiān)測MeteoMap控件的MouseLeftButtonDown、MouseMove事件,按下鼠標左鍵選取一個圖元,按住鼠標移動時在圖元初始位置坐標加上鼠標的移動向量實現坐標改變。通過調用MeteoMap控件的繪制圖層方法(DrawLayers)實現刷新。將圖元的操作(修改屬性、移動、刪除圖元、增加圖元)封裝成類,對這些類的對象進行執(zhí)行和撤銷,實現交互操作的執(zhí)行(重做)和撤銷。
(2)文字材料制作
TeX作為一種優(yōu)秀的排版系統(tǒng)[9],可以方便地制作高質量的DVI文件,并生成PDF文件。本系統(tǒng)定制了多個氣象服務文字材料TeX模板,并通過SOA層從相應的服務器中獲取數據,替換TeX模板中的關鍵變量,最終利用TeX形成PDF文檔。
3.3 氣象災害預警信號發(fā)布
氣象預警信號發(fā)布的關鍵環(huán)節(jié)是氣象災害預警區(qū)域的確定。系統(tǒng)通過在MeteoMap上建立用戶交互圖層(InteractiveLayer)用于確定預警發(fā)布區(qū)域;通過建立接收預警設備圖層(DevicesLayer)用于顯示預警信息接收設備。系統(tǒng)利用點與面的位置關系,判別和確定預警接收設備(如鄉(xiāng)村預警大喇叭、電子顯示屏、手機短信、微博等),通過SOA層對外發(fā)布。
3.4 業(yè)務流程監(jiān)控
氣象業(yè)務流程具有嚴格的時間規(guī)定,系統(tǒng)根據定時任務以列表的形式顯示業(yè)務流程狀態(tài)。系統(tǒng)通過自行設計開發(fā)的任務類(Task)來實現業(yè)務流程狀態(tài)實時監(jiān)控。
Task類設定“開始時間”“報警時間”“結束時間”等三個時間屬性,以及任務“已完成”“未完成”兩個任務標志屬性。通過三個時間屬性和兩個任務標志屬性組合,形成“未開始”“已完成”“進入任務時間”“任務即將延誤”“任務已延誤”五種狀態(tài)。
利用WPF模板技術,將Task實例集合綁定至ListBox控件,實現ListBoxItem以灰色、綠色、黃色、橙色、紅色五種顏色表示任務的五種狀態(tài)。流程進入后兩種狀態(tài)時,系統(tǒng)還將以聲音報警和發(fā)送手機短信的方式提醒業(yè)務值班人員。
4 關鍵業(yè)務技術(Key technologies of service)
4.1 氣象要素空間插值方法
4.2 變權重系數天氣預報集成方法
4.3 氣象預警信號發(fā)布條件判別方法
5 結論(Conclusion)
利用C#、WPF、WCF以及SQL等技術設計研發(fā)的基于分布式架構的縣級氣象業(yè)務系統(tǒng)分整合了多種氣象業(yè)務資源,實現了氣象信息集成顯示、預報預警、氣象服務產品制作發(fā)布、業(yè)務流程監(jiān)控等四大業(yè)務功能的集約化。
(1)系統(tǒng)客戶端集成了氣象信息綜合顯示、預報預警、氣象服務產品制作發(fā)布、業(yè)務流程監(jiān)控四大業(yè)務操作界面,優(yōu)化了縣級氣象臺業(yè)務流程,有助于提高氣象業(yè)務集約化水平。
(2)系統(tǒng)采用氣象要素空間插值方法和變權重天氣預報集成方法,有助于提供氣象資料的分析水平和氣象預報準確率。氣象預警信號發(fā)布條件判別方法改進了氣象預警信號發(fā)布效率,有效提升了氣象預警服務能力。系統(tǒng)提供的多種交互式、自動化功能(如圖形產品制作、文字材料制作等)提高了業(yè)務人員工作效率。
(3)系統(tǒng)于2014年6月在安徽省氣象部門縣級氣象臺投入業(yè)務應用,取得了較好的業(yè)務效果。今后還需要根據縣級氣象臺的業(yè)務需求對其進行改進和完善。
參考文獻(References)
[1] 劉彤,等.我國主要的氣象災害及經濟損失[J].自然災害學報,2011,20(2):90-95.
[2] 祝燕德,等.氣象災害預警機制與社會相應的思考[J].自然災害學報,2010,19(4):191-194.
[3] 劉煜,盧美偉,馮振家.加強縣級公共氣象服務能力建設的思考[J].氣象研究與應用,2011,32(2):32-34.
[4] 孫寶利,等.縣級氣象綜合業(yè)務工作平臺本地化[J].氣象與環(huán)境學報,2008,24(3):46-50.
[5] 曲文政.現代氣象預報系統(tǒng)平臺設計與實現[D].吉林大學,2011.
[6] 矯梅燕.天氣業(yè)務的現代化發(fā)展[J].氣象,2010,36(7):1-4.
[7] 李榮忠,等.基于查找表的激光雷達圖像快速繪制算法[J].地理空間信息,2009,7(5):54-56.
[8] 李強,李超,甘建紅.基于三角網的等值線填充算法研究[J].計算機工程與應用,2013,49(5):185-189.
[9] 李德泉,等.北京奧運氣象服務產品制作系統(tǒng)設計與實現[J].應用氣象學報,2010,21(3):372-377.
[10] 孟慶香,等.基于GIS的黃土高原氣象要素空間插值方法[J].水土保持研究.2010,17(1):10-14.
[11] 吳昌廣,等.三峽庫區(qū)降水量的空間插值方法及時空分布[J].長江流域資源與環(huán)境.2010,19(7):752-758.
[12] 陳淑佳,等.氣象要素柵格化方法比較——以福建省月平均氣溫為例[J].亞熱帶資源與環(huán)境學報.2010,5(4):43-51.
[13] 張冰,等.轉折性天氣降水預報檢驗方法及應用[J].氣象科技.2012,40(3):411-416.
[14] 石春娥,等.MM5與MM5-PAFOG模式區(qū)域霧預報效果評估比較[J].高原氣象,2013,32(5):1349-1359.
[15] 顧潤源,等.內蒙古數值天氣預報集成方法初探[J].成都信息工程學院學報.2011,26(4):451-454.
[16] 孫健,等.我國氣象預警信息覆蓋率的初步分析[J].氣象科技進展,2013,3(5),19-23.
作者簡介:
劉高平(1982-),男,本科,工程師.研究領域:計算機技術在氣象業(yè)務中的應用.
葉金?。?968-),男,博士,正研級高工.研究領域:水文氣象.