農(nóng)明哲 廖勝石 李華實(shí) 計(jì)鳳妮
摘 要 利用C#提供的窗體工具、字符串編輯及其他計(jì)算功能編寫(xiě)了可制作本地特色氣象預(yù)警信號(hào)短信的崇左預(yù)警短信編輯工具。該工具能根據(jù)本地預(yù)設(shè)的RTF格式短信模板的要求,調(diào)用廣西區(qū)氣象數(shù)據(jù)庫(kù)或CIMISS中的逐小時(shí)雨量、風(fēng)速、能見(jiàn)度等氣象要素?cái)?shù)據(jù)并進(jìn)行統(tǒng)計(jì),為制作內(nèi)容豐富的短信提供了數(shù)據(jù)基礎(chǔ)。本工具的讀稿功能可輔助審核短信內(nèi)容,具有一定的客觀性,有效排查錯(cuò)別字,提高氣象預(yù)警短信發(fā)布的準(zhǔn)確率,可推廣到各基層臺(tái)站應(yīng)用。
關(guān)鍵詞 c#編程;預(yù)警信號(hào)模板;氣象災(zāi)害預(yù)警短信;文本檢查
2018年7月20日起廣西各級(jí)氣象部門正式啟用廣西突發(fā)事件預(yù)警信息發(fā)布系統(tǒng)(下文簡(jiǎn)稱省突)編寫(xiě)預(yù)警信號(hào)通知單和全網(wǎng)發(fā)布短信,不再使用廣西天氣預(yù)報(bào)服務(wù)集約化業(yè)務(wù)系統(tǒng)制作預(yù)警通知單。省突新版氣象預(yù)警短信需要通過(guò)人工編寫(xiě)較復(fù)雜的140字短信,雖然有預(yù)設(shè)一些參考模板,但實(shí)際操作較為復(fù)雜,在對(duì)短信內(nèi)容的編輯提煉時(shí)較容易錯(cuò)漏,耗時(shí)耗力,另外,省突沒(méi)有讀取相關(guān)氣象要素并統(tǒng)計(jì)后插入到新版氣象預(yù)警短信內(nèi)容中的功能,尚需人工統(tǒng)計(jì),未能達(dá)到快速準(zhǔn)確制作與解除氣象預(yù)警短信的要求。為提高應(yīng)對(duì)突發(fā)天氣事件時(shí)與各相關(guān)部門間的協(xié)作聯(lián)動(dòng)效率,提高氣象災(zāi)害預(yù)警能力,本研究致力于開(kāi)發(fā)一套新版氣象預(yù)警短信發(fā)布與解除的制作工具,可及時(shí)準(zhǔn)確、方便快捷地制作預(yù)警信號(hào)通知,可實(shí)現(xiàn)機(jī)器統(tǒng)計(jì)自動(dòng)氣象要素?cái)?shù)據(jù),并插入氣象預(yù)警短信中的功能,減輕業(yè)務(wù)人員負(fù)擔(dān),避免人工手動(dòng)統(tǒng)計(jì)、輸入氣象要素的出錯(cuò)。
在本研究中,考慮到預(yù)警短信制作的精簡(jiǎn)性、穩(wěn)定性、通用性,將以C#編程為主,充分利用其窗體設(shè)計(jì)、調(diào)用SQL語(yǔ)言、引用動(dòng)態(tài)鏈接庫(kù)等功能,制作了能調(diào)用本地短信模板的預(yù)警短信編輯工具。該工具界面整潔,可以迅速導(dǎo)入本地自定義預(yù)警模版,在短信模板基礎(chǔ)上插入調(diào)用氣象要素?cái)?shù)據(jù),利用C#讀取區(qū)局?jǐn)?shù)據(jù)庫(kù)逐小時(shí)氣象要素?cái)?shù)據(jù)或CIMISS提供的逐小時(shí)氣象要素?cái)?shù)據(jù),并進(jìn)行整理、統(tǒng)計(jì)運(yùn)算,最后將統(tǒng)計(jì)結(jié)果插入到新生成的預(yù)警短信中。本工具有機(jī)器讀稿功能,可通過(guò)計(jì)算機(jī)揚(yáng)聲器播放短信內(nèi)容,輔助審核短信,有利于發(fā)現(xiàn)錯(cuò)別字。
1 崇左市預(yù)警短信編輯工具介紹
崇左預(yù)警短信編輯工具的操作方法簡(jiǎn)單直觀,編輯時(shí)按序號(hào)從上到下、從左到右依次選擇、修改,分別為①發(fā)布短信時(shí)間、②預(yù)警信號(hào)種類、③預(yù)警信號(hào)模板類型、④發(fā)布狀態(tài)、⑤預(yù)警級(jí)別、⑥地點(diǎn)、⑦數(shù)據(jù)源、⑧生成短信。當(dāng)?shù)降诎隧?xiàng)點(diǎn)擊“⑧生成短信”按鈕即可按選項(xiàng)在本地程序文件夾中選取事先編輯好的RTF(Rich Text Format,多信息文本格式)格式預(yù)警短信模板(*.rtf,可用Word或WPS編輯保存),在本窗體最下方富文本框(RichTextBox)中顯示富文本內(nèi)容,并可再框中實(shí)時(shí)編輯文字內(nèi)容。同時(shí),若該預(yù)警模包含數(shù)據(jù)申請(qǐng)代碼,則另外彈出一新的、優(yōu)先級(jí)最高的“變量一覽”彈窗,可核驗(yàn)數(shù)據(jù)或選擇新的數(shù)據(jù)查詢范圍重新生成短信。關(guān)掉“變量一覽”彈窗才可以回到主窗體繼續(xù)編輯短信。值得注意的是,本工具需要提前在本地設(shè)置好rtf短信模板,事先修改好文字的內(nèi)容、字號(hào)和顏色,達(dá)到提醒效果。
相對(duì)于許多網(wǎng)頁(yè)和本地化工具使用的文本框(TextBox),富文本框提供了簡(jiǎn)單的編輯字體、字號(hào)、顏色等功能,有效將文字顯示內(nèi)容表現(xiàn)得豐富醒目。編輯文字完成以后,當(dāng)把該富文本框的內(nèi)容復(fù)制粘貼到省突短信文本框時(shí),操作系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)碼,即去除字號(hào)參差不齊、顏色不一的特征,轉(zhuǎn)為網(wǎng)頁(yè)規(guī)定的統(tǒng)一字號(hào)、字體、顏色(通常為黑色),并將文字表達(dá)內(nèi)容正確粘貼到框中。
在本地短信模板文件夾中,在相應(yīng)的預(yù)警種類文件夾新建一RTF文件,根據(jù)程序要求,該文件名命名規(guī)則為:發(fā)布狀態(tài)(發(fā)布,解除,繼續(xù)發(fā)布,更新)+預(yù)警類型(暴雨,雷電,大霧等)+級(jí)別(紅色,橙色,黃色,藍(lán)色)+備注(前括號(hào)+備注內(nèi)容+后括號(hào))+文件后綴名(.rtf)”。該RTF短信模板內(nèi)容需要如下編輯?!?…#”代表本工具識(shí)別的參數(shù),可用參數(shù)已經(jīng)在程序中設(shè)計(jì)好,一一對(duì)應(yīng)著相關(guān)的統(tǒng)計(jì)運(yùn)算。合理使用參數(shù)可以靈活應(yīng)用氣象數(shù)據(jù),符合所需,提高短信編輯的效率。
2 調(diào)用小時(shí)數(shù)據(jù)
為方便統(tǒng)計(jì),在預(yù)警短信中使用的數(shù)據(jù)是由逐小時(shí)氣象要素?cái)?shù)據(jù)統(tǒng)計(jì)得出的。由于統(tǒng)計(jì)雨量相對(duì)于統(tǒng)計(jì)其他氣象要素?cái)?shù)據(jù)需要計(jì)算累積量,計(jì)算方法特殊,下文以統(tǒng)計(jì)累積雨量的方法解釋統(tǒng)計(jì)思路。
首先設(shè)計(jì)好站點(diǎn)信息列表,為之后氣象要素統(tǒng)計(jì)提供篩選、統(tǒng)計(jì)范圍依據(jù)。站號(hào)信息以文本(.txt)格式保存在本地。根據(jù)市縣氣象臺(tái)實(shí)際應(yīng)用經(jīng)驗(yàn),主要的站點(diǎn)信息要素有5列,分別是縣名、鄉(xiāng)鎮(zhèn)名、短信用名(村屯名、單位名、景點(diǎn)名等)、站號(hào)、站點(diǎn)級(jí)別。由于站點(diǎn)信息數(shù)據(jù)量遠(yuǎn)遠(yuǎn)小于氣象要素的數(shù)據(jù)量,考慮該工具的擴(kuò)展性與推廣性可以適當(dāng)增加其他信息,例如可以根據(jù)實(shí)際需求添加省名、經(jīng)緯度、海拔高度等信息要素。值得注意的是,“站點(diǎn)級(jí)別”可劃分為:①國(guó)家站②舊氣象站③鄉(xiāng)鎮(zhèn)區(qū)域站④村區(qū)域站⑤其他區(qū)域站(工廠、農(nóng)場(chǎng)、景點(diǎn)等)。建議在程序中使用數(shù)據(jù)表(DataTable),導(dǎo)入站點(diǎn)信息,充分發(fā)揮DataTable的排序、篩選、統(tǒng)計(jì)等作用。
其次,設(shè)計(jì)調(diào)用氣象數(shù)據(jù)的數(shù)據(jù)表(結(jié)構(gòu)體或數(shù)組),目的是減少資源占用,提高統(tǒng)計(jì)效率。氣象要素?cái)?shù)據(jù)表可設(shè)計(jì)為如下五列:①時(shí)間(長(zhǎng)整數(shù)),②站號(hào)(字符串),③鄉(xiāng)鎮(zhèn)名(字符串),④具體地點(diǎn)(字符串),⑤氣象要素值(浮點(diǎn)數(shù))。其中,“氣象要素值”的列名可在程序設(shè)計(jì)中根據(jù)統(tǒng)計(jì)結(jié)果改變,例如載入雨量數(shù)據(jù)時(shí),第五列名改為“r1”代表前1小時(shí)累積雨量,統(tǒng)計(jì)3小時(shí)的累積雨量后再改為“r3”代表前3小時(shí)累積雨量。
該工具在氣象內(nèi)網(wǎng)獲取逐小時(shí)氣象要素?cái)?shù)據(jù)有兩種方式,①通過(guò)SQL語(yǔ)言訪問(wèn)廣西區(qū)自動(dòng)站氣象數(shù)據(jù)庫(kù);②訪問(wèn)MUSIC接口(Meteorological Unified Service Interface Community,氣象數(shù)據(jù)統(tǒng)一服務(wù)接口)。根據(jù)實(shí)際應(yīng)用經(jīng)驗(yàn)發(fā)現(xiàn),使用常規(guī)的非并行運(yùn)算方法從廣西區(qū)氣象數(shù)據(jù)庫(kù)獲取大量數(shù)據(jù)比基于CIMISS的MUSIC接口快,但廣西區(qū)氣象數(shù)據(jù)庫(kù)在每小時(shí)整點(diǎn)或半點(diǎn)前后幾分鐘會(huì)暫停數(shù)據(jù)查詢服務(wù)以保證最新氣象數(shù)據(jù)收錄成功。因此本工具默認(rèn)使用廣西區(qū)氣象數(shù)據(jù)庫(kù),當(dāng)遇到錯(cuò)誤時(shí)會(huì)自動(dòng)轉(zhuǎn)而訪問(wèn)MUSIC接口;也可以在生成短信或查詢數(shù)據(jù)前手動(dòng)選擇數(shù)據(jù)源為CIMISS。另外,MUSIC接口的優(yōu)勢(shì)是網(wǎng)站提供了許多數(shù)據(jù)調(diào)用示例作參考。
在獲取小時(shí)氣象要素?cái)?shù)據(jù)的同時(shí)要進(jìn)行適當(dāng)?shù)嘏判?,再將獲取到的臨時(shí)數(shù)據(jù)表依次對(duì)準(zhǔn)站號(hào)、時(shí)間后將有效氣象要素?cái)?shù)據(jù)放入預(yù)先設(shè)計(jì)好的整齊空數(shù)據(jù)表中,接著妥善做好缺測(cè)處理,對(duì)逐小時(shí)、逐站氣象要素進(jìn)行統(tǒng)計(jì)。最后將統(tǒng)計(jì)結(jié)果大小再排序,可獲得①氣象要素極大(?。┲导捌渌诘攸c(diǎn);②氣象素值最大的三個(gè)地名、及其要素范圍;③平均數(shù)。最后將已經(jīng)復(fù)制到富文本框中的短信模板內(nèi)容的參數(shù)替換為所需的氣象要素?cái)?shù)據(jù),得出帶有氣象要素統(tǒng)計(jì)數(shù)據(jù)的短信初稿。
3 朗讀功能
本機(jī)朗讀功能是審核文字內(nèi)容的一種客觀的方式,通過(guò)聆聽(tīng)計(jì)算機(jī)揚(yáng)聲器按短信內(nèi)容播放的語(yǔ)音,相對(duì)于單人獨(dú)自閱讀審核可更有效發(fā)現(xiàn)文字內(nèi)容中的錯(cuò)誤。另外,按預(yù)警發(fā)布流程,大部分氣象預(yù)警短信內(nèi)容會(huì)通過(guò)氣象大喇叭渠道播放給公眾,使用本工具提前試聽(tīng)檢查播放內(nèi)容可預(yù)防錯(cuò)漏。操作面板上,本工具根據(jù)富文本框中的內(nèi)容進(jìn)行朗讀,并可以實(shí)時(shí)調(diào)整語(yǔ)音速度、音量,滿足不同用戶習(xí)慣。該功能的C#編程需引用微軟推出的語(yǔ)音技術(shù)接口SAPI(The Microsoft Speech API),主要調(diào)用其speechLib.dll即可令程序?qū)崿F(xiàn)揚(yáng)聲器朗讀富文本框中的短信稿件內(nèi)容。
4 小結(jié)
預(yù)警短信編輯工具充分利用C#字段函數(shù)、窗體控件、本地文件導(dǎo)入等功能,界面清晰簡(jiǎn)單,運(yùn)行穩(wěn)定。它在導(dǎo)入事先設(shè)計(jì)好的短信模板的基礎(chǔ)功能上,發(fā)揮富文本在短信編輯中的使用優(yōu)勢(shì),以醒目的字體、字號(hào)、顏色標(biāo)記文本中的重點(diǎn)內(nèi)容,可降低人工編寫(xiě)短信內(nèi)容時(shí)出現(xiàn)錯(cuò)誤的幾率。朗讀短信的功能可讓用戶從客觀的角度審核短信內(nèi)容,有效排查錯(cuò)別字。本工具大大提高氣象預(yù)警短信發(fā)布的準(zhǔn)確率和效率,可推廣到各基層臺(tái)站應(yīng)用。
參考文獻(xiàn):
[1] 陸小玉,李佳穎,梁維亮.近年廣西氣象災(zāi)害預(yù)警信號(hào)質(zhì)量評(píng)估[J].氣象研究與應(yīng)用,2018,39(4):80-82.
[2] 李巖,周文志,唐熠.桂林11月深秋極端天氣分析與專業(yè)氣象服務(wù)對(duì)策[J].氣象研究與應(yīng)用,2016,37 (01):52-55
第一作者簡(jiǎn)介:農(nóng)明哲(1991-)男,壯族,廣西馬山人,大學(xué)本科,助理工程師,主要從事中短期天氣預(yù)報(bào)、短臨預(yù)警工作。