舒秦
摘要:按照中國(guó)民航總局空中交通管理局的相關(guān)規(guī)范,民航觀測(cè)需要編寫月總簿和年總簿。該文系統(tǒng)采用B/S架構(gòu),收集存儲(chǔ)觀測(cè)數(shù)據(jù),并生成規(guī)定格式的年月總簿。大大減輕觀測(cè)員的勞動(dòng)強(qiáng)度,極大提高了月總簿和年總簿數(shù)據(jù)的準(zhǔn)確性,避免了人工計(jì)算處理資料可能產(chǎn)生的錯(cuò)誤。同時(shí),由于客戶端為瀏覽器,在維護(hù)和管理上也很方便。
關(guān)鍵詞:氣象報(bào)表;觀測(cè)數(shù)據(jù);網(wǎng)站開發(fā);月總簿;年總簿
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)08-0009-03
Abstract:Accordance with the relevant norms of Air Traffic Management Bureau of CAAC, The observation department of meteorology needs to make the monthly books and yearly books for statistics. In this paper, the system uses B / S architecture, and provides capacities of collecting and storing observational data, and generateing monthly and yearly books with specific format. It reduces the labor costs of the observer, and is very convenient for the maintenance and management, as the clients is only browsers.
Key words: meteorology report; observation data; web development; monthly book; annual book
按照中國(guó)民航總局空中交通管理局下發(fā)的《民用航空氣象地面觀測(cè)規(guī)范》第七條規(guī)定,民航氣象觀測(cè)應(yīng)按照規(guī)定的格式和要求編寫《民用航空氣象地面觀測(cè)月總簿》和《民用航空氣象地面觀測(cè)年總簿》。月總簿和年總簿是民航氣象服務(wù)機(jī)構(gòu)為國(guó)家積累的重要科學(xué)技術(shù)檔案,它們不僅是氣象科學(xué)研究和天氣預(yù)報(bào)經(jīng)驗(yàn)總結(jié)的基礎(chǔ),也是為國(guó)際和國(guó)內(nèi)民航部門提供機(jī)場(chǎng)氣象資料的重要依據(jù)。
1 概述
按照相關(guān)規(guī)范,氣象觀測(cè)月總簿和年總簿的制作,需要對(duì)各種不同的情況采用不同的方式采集大量數(shù)據(jù),使用不同的方式對(duì)大量數(shù)據(jù)進(jìn)行計(jì)算和處理。顯然,使用人工方式不僅極大增加觀測(cè)員的勞動(dòng)強(qiáng)度和負(fù)擔(dān),而且存在數(shù)據(jù)處理方式不合規(guī)范或計(jì)算錯(cuò)誤等風(fēng)險(xiǎn)。
本系統(tǒng)按照相關(guān)文件規(guī)定的民航氣象月總簿和年總簿制作規(guī)范,完成資料的自動(dòng)收集、計(jì)算處理、排版,最后生成EXCEL和PDF兩種格式的文件以便查閱、存檔和打印,并提供文本形式的資料備份與導(dǎo)入,具備月總簿和年總簿資料的收集、計(jì)算、處理、排版等功能。
2 開發(fā)環(huán)境
軟件由vs2008.net開發(fā),數(shù)據(jù)庫(kù)使用oracle10g,采用B/S模式,具有易于維護(hù)升級(jí),方便管理的優(yōu)點(diǎn)。網(wǎng)站服務(wù)器部署在氣象中心數(shù)據(jù)庫(kù)室機(jī)房,網(wǎng)站數(shù)據(jù)庫(kù)建立在氣象中心數(shù)據(jù)庫(kù)室現(xiàn)有oracle服務(wù)器上,年月總簿在服務(wù)器端統(tǒng)一生成,同時(shí),生成的月總簿和年總簿除采用網(wǎng)頁(yè)格式預(yù)覽,并提供EXCEL和PDF兩種格式打包以供保存和打印。當(dāng)結(jié)果有疑問需要修改時(shí),用戶可下載excel格式的報(bào)表進(jìn)行修改。
3 系統(tǒng)設(shè)計(jì)
民航西南空管局氣象中心觀測(cè)報(bào)表系統(tǒng)的整體架構(gòu)如圖1所示。
系統(tǒng)采用B/S架構(gòu),報(bào)表數(shù)據(jù)集中存放于服務(wù)器端的Oracle數(shù)據(jù)庫(kù)中,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫(kù)連接信息,安全性較高。同時(shí)由于數(shù)據(jù)是集中存放的,不存在數(shù)據(jù)一致性問題。日常維護(hù)通常只需維護(hù)WEB服務(wù)器即可,所有客戶端只是瀏覽器,升級(jí)應(yīng)用軟件時(shí)一般無(wú)需對(duì)客戶端做任何修改,因此其維護(hù)和升級(jí)也比較方便,基本上不影響用戶使用。
3.1 報(bào)表生成流程
年月報(bào)表生成流程如圖2所示。年月報(bào)表中的相同數(shù)據(jù)統(tǒng)計(jì)由同一段代碼生成,確保統(tǒng)計(jì)結(jié)果一致。網(wǎng)頁(yè)預(yù)覽文件可直接在用戶界面上點(diǎn)擊相應(yīng)頁(yè)面查看。PDF與EXCEL文件用于存檔與打印。
3.2數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)表設(shè)計(jì)如表1所示。數(shù)據(jù)庫(kù)設(shè)計(jì)上,采用報(bào)表信息表(BOOK_INFO)用以定制年月報(bào)表,可修改包含的頁(yè)面與頁(yè)序。同時(shí)也用于存放觀測(cè)場(chǎng)的相關(guān)信息。觀測(cè)設(shè)備信息存放在EQUIP表中。
觀測(cè)數(shù)據(jù)以三類形式存在,一是每個(gè)小時(shí)的記錄數(shù)據(jù),一是按天記錄的數(shù)據(jù)。此外,還可能存在臨時(shí)通知的文本信息。故將以日為單位和以小時(shí)為單位的數(shù)據(jù)分開存儲(chǔ)在DAY_INFO中和HOUR_INFO表中,并在DAY_INFO中提供每日額外備注說明的存儲(chǔ)位置,每日額外備注說明按照?qǐng)?bào)表樣式表集中在月報(bào)表的最后一頁(yè)備注欄顯示。日數(shù)據(jù)中的天氣現(xiàn)象演變是比較復(fù)雜的字符串,通過分析后,將其分解到Weatheryanbian、nengjianduyanbian、gayanbian、雷暴演變等五張表中,供統(tǒng)計(jì)分析使用。由此,在數(shù)據(jù)的增刪改中,需要保持五張分解表與Day_info表的一致。
3.3數(shù)據(jù)收集方式
數(shù)據(jù)采用兩種方式搜集。一種是從觀測(cè)自觀系統(tǒng)的數(shù)據(jù)庫(kù)中提取,一種是在網(wǎng)頁(yè)上提供每日數(shù)據(jù)的修改以及錄入,以解決第一種方式導(dǎo)入的數(shù)據(jù)可能存在的錯(cuò)漏,或是格式不兼容導(dǎo)致的導(dǎo)入失敗。每一種方式均在存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)之前按照?qǐng)?bào)表數(shù)據(jù)規(guī)范進(jìn)行檢查,檢查不通過時(shí),通知用戶修改。由于導(dǎo)入數(shù)據(jù)的格式不盡相同,不同系統(tǒng)的觀測(cè)留底資料需要單獨(dú)進(jìn)行數(shù)據(jù)的分析與導(dǎo)入。該功能單獨(dú)封裝在類NewDataTran中,可直接進(jìn)行修改或增添不同格式的導(dǎo)入方式。
3.4數(shù)據(jù)處理
數(shù)據(jù)處理分為三部分組成。
首先根據(jù)統(tǒng)計(jì)需要,從數(shù)據(jù)庫(kù)中提取原始數(shù)據(jù),并作較為簡(jiǎn)單的統(tǒng)計(jì)。在第一步的結(jié)果上,進(jìn)行進(jìn)一步的篩選與統(tǒng)計(jì)。最后,按照特定的格式輸出到預(yù)先定義好的excel模板文件中。
3.5數(shù)據(jù)輸出
數(shù)據(jù)采用三種方式向用戶呈現(xiàn)。網(wǎng)頁(yè)預(yù)覽方式??芍苯狱c(diǎn)擊頁(yè)面鏈接打開每一張統(tǒng)計(jì)表。如圖3和圖4所示。點(diǎn)擊圖3和圖4的鏈接可以網(wǎng)頁(yè)方式查看對(duì)應(yīng)表,如圖5所示。右下方的pdf/excel下載按鈕可下載相應(yīng)格式的報(bào)表文件。重新生成用于數(shù)據(jù)發(fā)生變更后再次生成報(bào)表。圖4中選中“瀏覽已有年報(bào)表”,可在下拉列表框中選擇服務(wù)器上存在的年報(bào)表文件。取消選擇,可直接輸入年份生成相應(yīng)年報(bào)表。
3.6數(shù)據(jù)庫(kù)的備份與恢復(fù)
雖然也可以用oracle自帶的備份功能,但本系統(tǒng)還是提供了文本格式的數(shù)據(jù)導(dǎo)出備份,以及相應(yīng)的導(dǎo)入功能,可用于在沒有數(shù)據(jù)庫(kù)的情況下進(jìn)行簡(jiǎn)單的數(shù)據(jù)分析。
3.7輔助功能
其他輔助功能如站點(diǎn)信息修改/設(shè)備管理,服務(wù)器上已有報(bào)表瀏覽下載等,均提供一目了然的界面給用戶以進(jìn)行修改或下載。設(shè)備管理如圖6所示。
3.8類設(shè)計(jì)
在類設(shè)計(jì)上,主要集中在將共有的計(jì)算獨(dú)立出來(lái),使用同一段代碼進(jìn)行一類計(jì)算,保證計(jì)算的一致性,同時(shí)也方便維護(hù)階段可能的修改。
3.8.1 公用類
系統(tǒng)主要設(shè)計(jì)了4個(gè)公用類:ValidateClass、CommFun、DBOPer、LogWriter。如圖7中部所示。各個(gè)類的用途如表2所示。
3.8.2 數(shù)據(jù)輸入輸出類
系統(tǒng)主要設(shè)計(jì)了4個(gè)類用于數(shù)據(jù)的輸入與輸出。如表3所示。觀測(cè)數(shù)據(jù)中的天氣現(xiàn)象演變,是較為復(fù)雜的字符串?dāng)?shù)據(jù),為了方便對(duì)其的相關(guān)統(tǒng)計(jì),除在Day_info表中以原字符串的形式存儲(chǔ)外,另使用類WDA_SingleDay,對(duì)其進(jìn)行分析,并將結(jié)果根據(jù)統(tǒng)計(jì)需要存在不同的表中。天氣現(xiàn)象的具體分析將在他文中進(jìn)行詳細(xì)的描述。
3.8.3 報(bào)表生成類
系統(tǒng)主要設(shè)計(jì)4個(gè)類用于報(bào)表的生成。如表4所示。
4 運(yùn)行狀況
該系統(tǒng)界面友好,滿足用戶的需求,投入運(yùn)行后,極大地方便了用戶的使用,大大減輕了報(bào)表編制人員的工作量。由于采用B/S結(jié)構(gòu),不必安裝客戶端,維護(hù)也通常集中在客戶端,方便了用戶,也減輕了維護(hù)人員工作量。
5 總結(jié)
本系統(tǒng)可以滿足中國(guó)民航總局空中交通管理局對(duì)氣象中心觀測(cè)室制作月總簿和年總簿的要求,大大減輕觀測(cè)員的勞動(dòng)強(qiáng)度,由于數(shù)據(jù)由程序確定處理方法和進(jìn)行計(jì)算,極大提高了月總簿和年總簿數(shù)據(jù)的準(zhǔn)確性,避免了人工計(jì)算處理資料可能產(chǎn)生的錯(cuò)誤。
參考文獻(xiàn):
[1] 民航局空管辦.民用航空氣象地面觀測(cè)規(guī)范[M].北京:中國(guó)民用航空局空管行業(yè)管理辦公室, 2012.
[2] [美]Jan Goyvaerts、[美]Steven Levithan.正則表達(dá)式經(jīng)典實(shí)例[M].郭耀,譯.北京:人民郵電出版社,2010.
[3] [美]Ben Forta.正則表達(dá)式必知必會(huì)[M].楊濤,等,譯.北京:人民郵電出版社,2007.
[4] [美]Jason Price.Oracle Database 11g SQL開發(fā)指南[M].史新元 北英,譯.北京:清華大學(xué)出版社,2008.
[5] [美]John Sharp. Mmicrosoft Visual C# 2010 Step by Step[M]. America:Microsoft Press, 2010:535-564、566-583.
[6] 明日科技.C#開發(fā)經(jīng)驗(yàn)技巧寶典[M].北京:人民郵電出版社,2007.