溫舟 楊桂娟 婁芳蕾 史虹婷 賈寧
摘要:根據(jù)錦州市現(xiàn)在氣象業(yè)務(wù)的實(shí)際情況,利用Visual Basic語言,在.net4.0框架及SQLServer2008數(shù)據(jù)庫的支持下,開發(fā)了錦州市海上大風(fēng)監(jiān)測報警平臺。該平臺可實(shí)現(xiàn)錦州沿海地區(qū)自動站數(shù)據(jù)顯示、錦州沿海海上風(fēng)的客觀預(yù)報方法數(shù)據(jù)顯示、大風(fēng)預(yù)警信號發(fā)布情況顯示及達(dá)到大風(fēng)預(yù)警級別時自動報警功能。該平臺的開發(fā)有效地提高了錦州市氣象臺的工作效率,有效地提高我市海上大風(fēng)預(yù)警預(yù)報業(yè)務(wù)水平以及氣象災(zāi)害預(yù)警能力。
關(guān)鍵詞:大風(fēng)預(yù)警;工作平臺;net4.0編程; SQL數(shù)據(jù)庫系統(tǒng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)10-0191-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
大風(fēng)是錦州地區(qū)及沿海最常見的氣象災(zāi)害之一,春秋冬三季多大風(fēng)天氣,伴隨著大風(fēng)常有劇烈的降溫、冰凍和雨雪等,給航運(yùn)、海上捕撈、漁船作業(yè)、海水養(yǎng)殖以及人民生命財產(chǎn)安全等帶來巨大的危機(jī)。國內(nèi)一些專家曾經(jīng)對渤海海域做了一些相關(guān)研究,如劉學(xué)萍[1]等分析了山東半島北部海域海難事故與天氣及應(yīng)對措施,張寶貴[2]等建立了秦皇島海洋天氣災(zāi)害預(yù)防預(yù)警體系。錦州市氣象臺針對錦州地區(qū)出現(xiàn)的海域沉船事故進(jìn)行錦州海域海難事故防御氣象預(yù)報預(yù)警研究,得出了基于EC細(xì)網(wǎng)格10米風(fēng)對于錦州沿海海上風(fēng)的客觀預(yù)報方法。為了將此方法以及錦州沿海地區(qū)自動站數(shù)據(jù)直觀的呈現(xiàn)給預(yù)報預(yù)警服務(wù)人員,特開發(fā)此平臺,以提高我市海上大風(fēng)預(yù)警預(yù)報業(yè)務(wù)水平以及氣象災(zāi)害預(yù)警能力。
1 平臺概述
1.1平臺功能
平臺主要包括兩大部分,一是后臺數(shù)據(jù)處理部分,二是客戶段顯示界面。可實(shí)現(xiàn)錦州沿海地區(qū)自動站數(shù)據(jù)顯示、錦州沿海海上風(fēng)的客觀預(yù)報方法數(shù)據(jù)顯示、大風(fēng)預(yù)警信號發(fā)布情況顯示及達(dá)到大風(fēng)預(yù)警級別時自動報警功能。
1.2平臺開發(fā)環(huán)境
平臺開發(fā)語言使用Visual Basic,開發(fā)環(huán)境為Visual Studio2010和.net4.0[3-5],在網(wǎng)絡(luò)數(shù)據(jù)庫SQLServer2008的支持下[6],由此開發(fā)的一個綜合型監(jiān)測報警系統(tǒng)。
2 平臺具體說明
2.1后臺數(shù)據(jù)處理
后臺針對自動站分鐘數(shù)據(jù)、自動站小時數(shù)據(jù)、客觀預(yù)報數(shù)據(jù)分別新建三個類模塊及三個數(shù)據(jù)庫表,每個類模塊屬性名與值與數(shù)據(jù)庫表相對應(yīng),利用SqlDataAdpter類與數(shù)據(jù)庫相連接,F(xiàn)orm.Timer控件定時每10分取一次自動站分鐘數(shù)據(jù),每小時取一次自動站小時數(shù)據(jù),每天取2次數(shù)值預(yù)報產(chǎn)品,將相應(yīng)的數(shù)據(jù)寫進(jìn)數(shù)據(jù)庫。
2.1.1自動站數(shù)據(jù)處理
目前錦州市沿海自動站數(shù)據(jù)中心站已經(jīng)遷移至遼寧省氣象局,本地沒有數(shù)據(jù)庫存儲資料,因此需先將沿海自動站的數(shù)據(jù)取回至本地。
利用SQL Server2008建立數(shù)據(jù)表如下:
臺站信息表:臺站號、臺站名、臺站經(jīng)緯度信息。
分鐘數(shù)據(jù)資料表:臺站號、資料時間、1分鐘風(fēng)向風(fēng)速。
小時數(shù)據(jù)資料表:臺站號、資料時間、1小時內(nèi)最大風(fēng)向風(fēng)速及出現(xiàn)時間、1小時內(nèi)極大風(fēng)向風(fēng)速及出現(xiàn)時間。
利用CIMISS數(shù)據(jù)接口getSurfEleBytimeandStaID循環(huán)將每一個自動站的數(shù)據(jù)從CIMISS數(shù)據(jù)庫取回并寫入至數(shù)據(jù)庫內(nèi)。
2.1.2預(yù)報數(shù)據(jù)處理
錦州市氣象局目前針對海上大風(fēng)已經(jīng)做出了相應(yīng)的研究,并根據(jù)EC細(xì)網(wǎng)格資料對本地沿海地區(qū)自動進(jìn)行了客觀實(shí)時訂正,生成了文本產(chǎn)品。本平臺也將此預(yù)報數(shù)據(jù)寫至數(shù)據(jù)庫內(nèi),以對未來的風(fēng)速進(jìn)行判斷,提醒是否海上出現(xiàn)大風(fēng)。
預(yù)報數(shù)據(jù)資料表:臺站號、預(yù)報起報時間,預(yù)報時效、風(fēng)速。
2.1.3部分示例代碼
2.2.2客戶端報警
依舊利用Form.Timer控件,分四項進(jìn)行報警。
每十分鐘、每小時連接相應(yīng)的數(shù)據(jù)庫,直接查詢前十分鐘或者前一小時風(fēng)速大于6級的數(shù)據(jù),如存在,則在ListBox控件內(nèi)添加一條顯示信息,PictureBox圖片變?yōu)閳缶瘓D片,同時利用System.Media.SoundPlayer類播放報警wav文件;如不存在則不做任何處理。
每天讀取預(yù)報數(shù)據(jù)庫,選取未來24小時內(nèi)時效風(fēng)速大于6級的數(shù)據(jù),如存在,則在ListBox控件內(nèi)添加一條顯示信息;如不存在則顯示未來24小時無大風(fēng)。
每半小時讀取預(yù)警信息數(shù)據(jù)庫,如存在新發(fā)布的預(yù)警信息,則在在ListBox控件內(nèi)添加一條顯示信息;如不存在則不做任何處理。
3 問題及討論
1)要在每個類模塊里添加Idispose接口,實(shí)現(xiàn)Dispose方法,以釋放內(nèi)存,避免長時間運(yùn)行,內(nèi)存占用及溢出的問題。
同時Timer.Tick方法內(nèi)不要頻繁的開關(guān)數(shù)據(jù)庫連接,也易造成數(shù)據(jù)庫連接錯誤。
2)Timer控件Interval屬性設(shè)置為1000,即1秒間隔,再將現(xiàn)在時刻進(jìn)行比對,如此能夠利用1個Timer控件即可,且不會因Interval屬性設(shè)置過大產(chǎn)生誤差以及打開程序時間不確定造成的一些問題。
4 平臺應(yīng)用
平臺從2017年3月開始進(jìn)行試用,目前能夠有效地減輕預(yù)報員減輕預(yù)報員工作負(fù)擔(dān);使海上大風(fēng)自動站數(shù)據(jù)、預(yù)報數(shù)據(jù)及大風(fēng)預(yù)警信號相關(guān)內(nèi)容一目了然,能夠有效地提高我市海上大風(fēng)預(yù)警預(yù)報業(yè)務(wù)水平,提高服務(wù)的時效性,是一個良好的預(yù)警監(jiān)測服務(wù)平臺。
5 結(jié)束語
1)本平臺實(shí)現(xiàn)了海上大風(fēng)自動站數(shù)據(jù)、預(yù)報數(shù)據(jù)及大風(fēng)預(yù)警信號的直觀顯示,并應(yīng)用良好。
2)由于不是專業(yè)的編程人員,平臺的美化方面略顯不足,且仍舊存在著暫時未發(fā)現(xiàn)的bug,針對這些存在的問題,將繼續(xù)對本平臺隨時進(jìn)行更新和維護(hù)。
參考文獻(xiàn):
[1] 劉學(xué)萍. 山東半島北部海域海難事故與天氣及應(yīng)對措施[C]//中國氣象學(xué)會.中國氣象學(xué)會2008年年會極端天氣氣候事件與應(yīng)急氣象服務(wù)分會場論文集.中國氣象學(xué)會,2008:5.
[2] 張寶貴. 強(qiáng)化秦皇島海洋天氣災(zāi)害預(yù)防預(yù)警體系的探討[C]//中國氣象學(xué)會氣象災(zāi)害與服務(wù)委員會、中國氣象局預(yù)測減災(zāi)司、國家氣象中心、中國氣象局公共氣象服務(wù)中心.第26屆中國氣象學(xué)會年會氣象災(zāi)害與社會和諧分會場論文集.中國氣象學(xué)會氣象災(zāi)害與服務(wù)委員會、中國氣象局預(yù)測減災(zāi)司、國家氣象中心、中國氣象局公共氣象服務(wù)中心,2009:6.
[3] 威利斯,紐薩姆. Visual Basic2010入門經(jīng)典[M]. 6版.北京:清華大學(xué)出版社,2011.
[4] James Foxall. Visual Basic2010入門經(jīng)典[M].北京:人民郵電出版社,2011.
[5] Bill Sheldon,Billy Hollis,Kent Sharkey,等. Visual Basic 2010 NET4高級編程[M]. 6版.北京:清華大學(xué)出版社,2011.
[6] 郭鄭州,陳軍紅. SQL Server2008完全學(xué)習(xí)手冊[M].北京:清華大學(xué)出版社,2011.
【通聯(lián)編輯:謝媛媛】