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