(廈門市氣象局,福建 廈門 361000)
隨著GIS技術(shù)的廣泛應(yīng)用,廈門氣象業(yè)務(wù)現(xiàn)代化建設(shè)日益加快,常規(guī)加密自動(dòng)站不斷增加,氣象要素自動(dòng)觀測(cè)觀測(cè)量的增加。更高精度的實(shí)時(shí)觀測(cè)數(shù)據(jù)在天氣預(yù)報(bào),氣象服務(wù),氣象決策,氣象科研工作中發(fā)揮著越來越重要的作用。
目前,廈門市局自動(dòng)站綜合顯示平臺(tái)采用基于桌面的客戶端/服務(wù)器(C/S)方式,即需要在客戶端機(jī)器上安裝發(fā)布應(yīng)用程序。雖然具有較強(qiáng)的圖形顯示能力和程序運(yùn)行速度快等特性,但其程序部署成本高,更新不及時(shí),在很大程度上制約了更多領(lǐng)域用戶對(duì)數(shù)據(jù)的使用。B/S模式無需安裝應(yīng)用文件,只要有Web瀏覽器即可,部署發(fā)布成本低,維護(hù)簡(jiǎn)單,適用范圍廣,在互聯(lián)網(wǎng)普及的今天更易得到推廣。但在可操作性、人機(jī)交互能力方面卻有所下降。為了提升系統(tǒng)性能和用戶體驗(yàn),一種被稱為富互聯(lián)網(wǎng)應(yīng)用程序(Rich Internet Applications,簡(jiǎn)稱RIA)的具有高度互動(dòng)性和豐富用戶體驗(yàn)的網(wǎng)絡(luò)應(yīng)用模式應(yīng)運(yùn)而生。
Flex是一個(gè)開源的軟件開發(fā)工具包(框架),用于構(gòu)建和部署基于Adobe Flash的跨平臺(tái)富互聯(lián)網(wǎng)應(yīng)用程序,把該技術(shù)嘗試性地應(yīng)用到天氣預(yù)報(bào)程序上。本文使用Flex Builder技術(shù)開發(fā)了基于Flash插件的WebGIS的省級(jí)地面自動(dòng)氣象站信息服務(wù)平臺(tái)。不僅能滿足預(yù)報(bào)員的基本業(yè)務(wù)服務(wù)需求,同時(shí)也成為面向公眾的氣象信息展示平臺(tái),在國(guó)內(nèi)氣象部門具有較大的應(yīng)用價(jià)值。
進(jìn)入21世紀(jì)后,隨著java技術(shù)和虛擬機(jī)技術(shù)的大力發(fā)展,微軟提出了.NET技術(shù)平臺(tái),這兩大平臺(tái)逐漸成為了企業(yè)化開發(fā)的首要選擇目標(biāo)。對(duì)于純Web方式的系統(tǒng),PHP等語言也占有較大的市場(chǎng)。與此同時(shí),Borland旗下的Delphi語言逐步?jīng)]落,已經(jīng)基本淡出企業(yè)開發(fā)市場(chǎng)。而針對(duì)企業(yè)信息流及OA系統(tǒng)的開發(fā),IBM公司的Lotus平臺(tái)也占有一席之地本文設(shè)計(jì)的系統(tǒng),采用5層系統(tǒng)的邏輯結(jié)構(gòu),對(duì)于Java,考慮到目前系統(tǒng)的穩(wěn)定性需求,擬設(shè)計(jì)結(jié)構(gòu)如圖1所示:
圖1 采用Java設(shè)計(jì)的五層邏輯結(jié)構(gòu)
Web框架中,Struts這一基于請(qǐng)求的MVC框架仍然占據(jù)著主流地位,其使用的人數(shù)也不少,具有較為廣泛的使用基礎(chǔ)。雖然后來居上的JSF也不容小視。目前來說,采用Structs還是比較不錯(cuò)的方案。而用戶界面層,采用Applet作為前臺(tái)顯示,也是可行的選擇。
應(yīng)用程序框架方面,Spring明顯呈現(xiàn)一邊倒的優(yōu)勢(shì),其高達(dá)83%的比例表明,JavaEE社區(qū)不僅僅需要輕量級(jí)應(yīng)用程序框架,還需要證明框架在實(shí)際開發(fā)項(xiàng)目中,確實(shí)起了應(yīng)用有的實(shí)踐作用。而目前,重型的EJB基本上處于停滯下滑狀態(tài),其所占比例都是遺留項(xiàng)目的維護(hù)需要。
數(shù)據(jù)訪問層,Hibernate毫無疑問仍然是主角,與傳統(tǒng)的JDBC平起平坐。
圖2 系統(tǒng)技術(shù)流程圖
各個(gè)自動(dòng)氣象站每10分鐘將觀察的氣象數(shù)據(jù)以短信的方式通過移動(dòng)GPRS通信線路直接發(fā)到省數(shù)據(jù)中心,省數(shù)據(jù)中心收到數(shù)據(jù)后把數(shù)據(jù)存到以“年年年年月月日日時(shí)時(shí)分分”格式命名的文本文件中,這就是自動(dòng)氣象站原始數(shù)據(jù)。接著省數(shù)據(jù)中心用專門的程序讀取自動(dòng)氣象站的文本型數(shù)據(jù)文件中的數(shù)據(jù),根據(jù)既定的規(guī)程對(duì)數(shù)據(jù)進(jìn)行切割、加工、計(jì)算等,得到特定意義的數(shù)據(jù)并存儲(chǔ)到相應(yīng)數(shù)據(jù)表中,這就是自動(dòng)氣象站的數(shù)據(jù)庫型數(shù)據(jù)。數(shù)據(jù)庫型數(shù)據(jù)就是自動(dòng)站業(yè)務(wù)平臺(tái)直接要用到的數(shù)據(jù)。市級(jí)數(shù)據(jù)中心通過專用VPN網(wǎng)絡(luò)用T-SQL直接從省數(shù)據(jù)中心的數(shù)據(jù)庫下載數(shù)據(jù)到市數(shù)據(jù)庫,用戶通過C/S和B/S臺(tái)獲取相關(guān)數(shù)據(jù)信息,系統(tǒng)流程設(shè)計(jì)如圖2所示。
雖然社會(huì)公眾每天都跟氣象相關(guān)密切接觸,但是他們對(duì)氣象的理解最多的可能就是溫度、降雨、風(fēng)、干旱,其它的氣象要素或狀態(tài)對(duì)他們來說是不懂得或無關(guān)緊要的,他們只想知道現(xiàn)在的氣溫是多少,下了多少雨,風(fēng)大嗎,過一陣子天氣又會(huì)怎么樣等切身感受的問題答案。因此在設(shè)計(jì)系統(tǒng)的公眾平臺(tái)B/S端時(shí),要充分考慮社會(huì)公眾對(duì)氣象的認(rèn)知程度和實(shí)際需求,把氣溫、降雨量、風(fēng)向風(fēng)速用最直觀地在地圖上標(biāo)出來,界面要簡(jiǎn)潔明了,操作簡(jiǎn)單(圖3所示)。
圖3 公眾平臺(tái)的功能需求
系統(tǒng)的設(shè)計(jì)開發(fā)工作完成后,系統(tǒng)的安裝部署和維護(hù)等工作都將由系統(tǒng)維護(hù)管理員來完成,如果系統(tǒng)在設(shè)計(jì)構(gòu)建過程中考慮不周全,系統(tǒng)的安裝部署和維護(hù)等工作將會(huì)遭遇很多的麻煩,甚至?xí)绊懻麄€(gè)系統(tǒng)的部署運(yùn)行,達(dá)不到系統(tǒng)的設(shè)計(jì)目的。
圖4 系統(tǒng)維護(hù)員需求
作為預(yù)報(bào)業(yè)務(wù)員或氣象決策者,雖然他們對(duì)氣象的認(rèn)知程度很高,但是他們要關(guān)注的氣象要素也很多,整天神經(jīng)都崩得緊緊的,怕忘記參考什么資料而使得預(yù)報(bào)做得不準(zhǔn),除了要關(guān)注實(shí)時(shí)溫度、降水、風(fēng)等,還要關(guān)注查詢歷史數(shù)據(jù),然后要整合數(shù)據(jù)計(jì)算下一步溫度、降水、風(fēng)的變化,最后才得出預(yù)報(bào)決策結(jié)論。因此在設(shè)計(jì)系統(tǒng)的公眾平臺(tái)C/S端時(shí),首先要考慮呈現(xiàn)的氣象數(shù)據(jù)的完整、齊全、直觀。其次要考慮數(shù)據(jù)的呈現(xiàn)速度。最后要考慮界面要簡(jiǎn)潔、方便、功能要多。
圖5 預(yù)報(bào)員和決策員平臺(tái)的功能需求
數(shù)據(jù)中心運(yùn)行環(huán)境:硬件是數(shù)據(jù)服務(wù)器1臺(tái)。操作系統(tǒng)軟件是Windows server2003,數(shù)據(jù)庫系統(tǒng)軟件為是MS SQL Server。Web服務(wù)器運(yùn)行環(huán)境:硬件是一臺(tái)計(jì)算機(jī)和有電信運(yùn)營(yíng)商固定IP的路由器,軟件是Windows server2003和IIS+ASP.NET。B/S端運(yùn)行環(huán)境:任何能運(yùn)行支持Javascript的web瀏覽器的電腦終端。
B/S平臺(tái)主要是針對(duì)廣大社會(huì)民眾而設(shè)計(jì)的基于瀏覽器的網(wǎng)頁程序,設(shè)計(jì)時(shí)充分從民眾的角度考慮,其包含的主要內(nèi)容有自動(dòng)站氣象信息GIS地圖、等值線地圖、數(shù)據(jù)曲線、數(shù)據(jù)分類列表,數(shù)據(jù)輸出等。其功能模塊設(shè)計(jì)如圖所示
圖6 B/S平臺(tái)功能模塊設(shè)計(jì)
用戶登錄模塊是平臺(tái)的入口,所以用戶要進(jìn)入平臺(tái)就必須要通過登錄模塊允許,它的主要功能有:用戶校驗(yàn)、權(quán)限選擇和登錄預(yù)設(shè)。如圖7所示。
(1)用戶校驗(yàn):驗(yàn)證用戶的用戶名和密碼,如果驗(yàn)證正確就自動(dòng)進(jìn)入權(quán)限選擇和登錄預(yù)設(shè),然后進(jìn)入系統(tǒng);如果驗(yàn)證錯(cuò)誤就給出提示。
(2)權(quán)限選擇:每個(gè)(類)用戶都有不同的權(quán)限,這是預(yù)先定好的,用戶進(jìn)入系統(tǒng)后只能看到權(quán)限內(nèi)的內(nèi)容。
(3)登錄預(yù)設(shè):是否保存用戶名和密碼以便下次登錄時(shí)自動(dòng)填入輸入框,是否自動(dòng)登錄等設(shè)置。
圖7 用戶登錄模塊圖
GIS地圖疊加模塊就是把氣象要素?cái)?shù)據(jù)定位并顯示到地圖上,它的主要功能有數(shù)據(jù)查詢(包括氣溫、雨量、風(fēng)向風(fēng)力)、預(yù)警設(shè)置、坐標(biāo)計(jì)算、定位疊加。如圖8所示。
圖8 GIS地圖疊加模塊圖
等值線模塊就是用氣象要素?cái)?shù)據(jù)在地圖上繪出等值線,它的主要功能有數(shù)據(jù)查詢(包括氣溫、雨量、風(fēng)向風(fēng)力)、坐標(biāo)計(jì)算、定位疊加。如圖9所示。
(1)數(shù)據(jù)查詢:用戶可以選擇輸入查詢數(shù)據(jù)的條件,查詢滿足條件的氣象要素?cái)?shù)據(jù),查詢成功返回?cái)?shù)據(jù),不成功就返回失敗的信息。
(2)等值線生成:根據(jù)查詢得到的數(shù)據(jù)用Surfer軟件生成等值線。
(3)坐標(biāo)計(jì)算:計(jì)算站點(diǎn)在地圖上的坐標(biāo)。預(yù)警設(shè)置:通過設(shè)置閥值,顯示異常數(shù)據(jù)。
(4)定位疊加:把(1)中數(shù)據(jù)定位疊加到等值線圖上。
圖9 等值線模塊圖
輸出錄模塊是把視圖界面或數(shù)據(jù)輸出到系統(tǒng)平臺(tái)以外的系統(tǒng)(如打印機(jī)、文件等),它的主要功能有:B/S端的打印導(dǎo)出。如圖10所示。
(1)B/S端的打?。壕W(wǎng)頁的打印。。
(2)數(shù)據(jù)導(dǎo)出:把數(shù)據(jù)導(dǎo)出到特定格式的文件上。
數(shù)據(jù)庫設(shè)計(jì)是指根據(jù)實(shí)際情況的需求,選用一套適合的數(shù)據(jù)庫管理系統(tǒng),設(shè)計(jì)和建立數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)庫的過程。數(shù)據(jù)庫設(shè)計(jì)包括建立數(shù)據(jù)庫建立、數(shù)據(jù)庫系統(tǒng)應(yīng)用還有數(shù)據(jù)庫開發(fā)應(yīng)用等技術(shù),是現(xiàn)代信息系統(tǒng)開發(fā)應(yīng)用的核心技術(shù)。
自動(dòng)站資料庫是以各自動(dòng)站為基本單元,以站點(diǎn)代碼為關(guān)聯(lián)存儲(chǔ)各站的實(shí)時(shí)信息的數(shù)據(jù)庫。表結(jié)構(gòu)設(shè)計(jì)主要有定時(shí)觀測(cè)要素表:tabTime-Data、實(shí)時(shí)觀察要素表:tabRealTimeData、臺(tái)站信息表:tabStationParameter
表1 定時(shí)觀測(cè)要素表
表1 實(shí)時(shí)觀測(cè)要素表
B/S端界面的設(shè)計(jì)原則是簡(jiǎn)潔美觀、易懂易用好操作、網(wǎng)頁層次盡量少。整個(gè)B/S端平臺(tái)只用了一個(gè)頁面窗體,根據(jù)大多數(shù)人的使用習(xí)慣,采用T型結(jié)構(gòu)從左到右來布局平臺(tái)界面,用iFrame控件來完成T型布局。
圖10 用戶界面設(shè)計(jì)圖
B/S業(yè)務(wù)網(wǎng)頁平臺(tái)視圖主要是用JSP、HTML元素和CSS樣式來實(shí)現(xiàn),其關(guān)鍵的頁面登陸效果如下:
圖11 自動(dòng)站展示平臺(tái)圖
B/S業(yè)務(wù)網(wǎng)頁平臺(tái)視圖展示的常規(guī)統(tǒng)計(jì)分析如圖所示:
圖12 統(tǒng)計(jì)顯示圖
本文的基本目標(biāo)是建立氣象自動(dòng)站系統(tǒng),論文通過分析研究國(guó)內(nèi)外自動(dòng)氣象站系統(tǒng)的現(xiàn)狀和平臺(tái)軟件的特點(diǎn)以及廈門市在用業(yè)務(wù)平臺(tái)存在的不足,闡明了開發(fā)本業(yè)務(wù)平臺(tái)的必要性;通過對(duì)社會(huì)大眾和氣象業(yè)務(wù)員及決策人員的需求進(jìn)行分析研究,確定了自動(dòng)氣象站數(shù)據(jù)業(yè)務(wù)平臺(tái)各個(gè)功能模塊,采用B/S雙模式進(jìn)行構(gòu)建的方案;通過分析各個(gè)功能模塊和開發(fā)模式所需的技術(shù),確定了開發(fā)平臺(tái)的技術(shù)方案;對(duì)系統(tǒng)業(yè)務(wù)平臺(tái)進(jìn)行用例測(cè)試。實(shí)現(xiàn)了基于MVC技術(shù)的氣象數(shù)據(jù)采集和傳輸并在中心站查看氣象信息,本系統(tǒng)的設(shè)計(jì)具有一定的實(shí)際應(yīng)用價(jià)值。