胡若艷 劉鵬程 邵冰潔 陳倩倩 吳孟春 溫州市氣象局
隨著溫州氣象局氣象業(yè)務的不斷發(fā)展,溫州地區(qū)在去年對各市縣的電視天氣預報節(jié)目進行“集約化”,溫州氣象局氣象影視中心除了制作本市的天氣預報節(jié)目外還需承擔制作八個市縣的天氣預報影視節(jié)目。市本級天氣預報影視中的城市天氣預報欄目主要是市本級和本地區(qū)的八個市縣天氣預報,而八個市縣天氣預報節(jié)目中相應欄目則是鄉(xiāng)鎮(zhèn)預報,縣鄉(xiāng)鎮(zhèn)數(shù)量多,有的縣則提供了近30 個鄉(xiāng)鎮(zhèn)的天氣預報,其中的城市和鄉(xiāng)鎮(zhèn)預報需要錄入明后兩天的天氣現(xiàn)象和溫度,而溫州各市縣加上鄉(xiāng)鎮(zhèn)共有一百多個站點,所以每天要將這些城市天氣預報和鄉(xiāng)鎮(zhèn)預報準確無誤地錄制完成,那么工作量和壓力都相當大。目前氣象影視節(jié)目制作系統(tǒng)主要由大洋氣象播出系統(tǒng)和D-Cube-Edit 非線性制作系統(tǒng)來組成。城市和鄉(xiāng)鎮(zhèn)天氣預報需要由大洋氣象播出系統(tǒng)制作,平時主要通過人工錄入生成非線性制作系統(tǒng)所需要的天氣圖標和溫度。為了更好提高業(yè)務人員的工作效率和無誤的信息錄入,則需要開發(fā)一套輔助軟件將城市和鄉(xiāng)鎮(zhèn)天氣預報報文自動轉換為氣象播出系統(tǒng)的數(shù)據(jù)格式,就可準確而快速的導入到氣象播出系統(tǒng)中。
大洋氣象預報播出系統(tǒng)是大洋公司在D3-Edit 的基礎上開發(fā)的一套應用軟件系統(tǒng),主要功能是對城市和鄉(xiāng)鎮(zhèn)氣象預報進行編輯。系統(tǒng)支持氣象標準的氣象電碼,同是還支持氣象預報文本格式。也就是說我們可以將城市和天氣預報數(shù)據(jù)轉為這兩種格式中的一種,就可以解決城市與鄉(xiāng)鎮(zhèn)預報數(shù)據(jù)的快速而又準確的導入和生成了。
(1)系統(tǒng)支持的數(shù)據(jù)格式有2 種,一種是標準的天氣代碼格式,由若干個五位數(shù)字組成,每組數(shù)字可由配置文件來定義,可代表著城市鄉(xiāng)鎮(zhèn)名、天氣現(xiàn)象及溫度;另一種是氣象文本格式;本文以氣象文本格式為例。系統(tǒng)的氣象文本格式(rpt 為文件后綴名)如下:
[標題]
[日期時間],
[云圖]
[城市]
羅陽,,小雨,多云,19,27,,多云,晴,14,25
洲嶺,,小雨,多云,19,27,,多云,晴,14,25
司前,,小雨,多云,21,29,,多云,晴,16,27
……
配置文件主要是對氣象現(xiàn)象和天氣圖標以及溫度的進行對應和匹配以及字幕模板文件的定義,從而保證了從氣象電碼或天氣文本到影視節(jié)目中氣象畫面的自動又準確的轉換。
城市與鄉(xiāng)鎮(zhèn)預報是由氣象臺制作,其內容主要是鄉(xiāng)鎮(zhèn)名、明天天氣現(xiàn)象、明天溫度、后天天氣現(xiàn)象及后天天氣溫度組成;為了統(tǒng)一報文格式,也為了方便讀取,各要素之間用逗號隔開,溫度用數(shù)字體現(xiàn),由最低溫度和最高溫度組成,中間用“-”隔開;
羅陽,小雨,多云,19-27,多云,晴,14-25
洲嶺,小雨,多云,19-27,多云,晴,14-25
司前,小雨,多云,21-29,多云,晴,16-27
……
開發(fā)語言為C#,C#(C Sharp)是一種強大的、面向對象的程序開發(fā)語言,是專為 .NET 開發(fā)而設計出的語言[2]。
(1) 開發(fā)思路
讀取報文的每一行,在每一行中按分隔符號“,”將各要素放入數(shù)組中,再取出相應的要素,再將溫度按分隔符號“-”取出最低溫度和最高溫度;再將各要素按氣象預報播出系統(tǒng)的氣象文本格式生成rpt 文件;
(2)C#的部分代碼如下:
string listfilename = Application.StartupPath + "\20190517.txt";
string[] alliness = File.ReadAllLines(listfilename, Encoding.Default);
string head = "[ 標 題]" + Environment.NewLine + string.Empty + Environment.NewLine
+ "[日期時間]"+ Environment.NewLine + "," + Environment.NewLine
+ "[ 云 圖]" + Environment.NewLine + string.Empty + Environment.NewLine
+ "[城市]" + Environment.NewLine;
string rptfile ="ts.rpt";
foreach (string str in alliness)
{
string[] QxItems = str.Split(`,`);
string name = QxItems[0];//站名
string tq11 = QxItems[1];//明天天氣1
string tq12 = QxItems[2];//明天天氣2
string[] wd1 = QxItems[3].Split(`-`);
string wd1min = wd1[0];//明天最低溫度
string wd1max = wd1[1];//明天最高溫度
string tq21 = QxItems[4];//后天天氣1
string tq22 = QxItems[5];//后天天氣2
string[] wd2 = QxItems[6].Split(`-`);
string wd2min = wd2[0];//后天最低溫度
string wd2max = wd2[1];//后天最高溫度
string line = name + ",,"+ tq11 + "," + tq12 + "," + wd1min + "," + wd1max
+",," + tq21 + "," + tq22 + "," + wd2min + "," + wd2max;
newline = newline + line + Environment.NewLine;
}
richTextBox1.Text = head + newline.Trim();
rich Text Box 1.Save File (rptfile,RichTextBoxStreamType.PlainText);//生成氣象文本文件
在氣象預報播出系統(tǒng)中將生成的氣象文本文件引入后,就可以看到如圖1 的頁簽,也就可以生成非線性系統(tǒng)中對應畫面的工程文件了。
在氣象影視節(jié)目“集約化”后,溫州城市及鄉(xiāng)鎮(zhèn)有100 多個,按以前的手工錄入加核對將近一個小時,而自鄉(xiāng)鎮(zhèn)預報自動處理轉換為氣象文本文件的軟件應用后,不用5 分鐘就準確無誤的導入數(shù)據(jù),一方面可以大大減少了由于人工輸入帶來的低效率、數(shù)據(jù)錯誤以及格式錯誤等問題[3],另一方面也優(yōu)化了氣象影視制作業(yè)務流程,提升了氣象影視制作的整體工作效率和節(jié)目質量。