白明彪, 李德平, 周 勇, 于滿山, 卿建飛, 胡 勇
(1.湖南師范大學資源與環境科學學院GIS研究中心 ,湖南長沙 410008;2.東華軟件公司長沙研究院,湖南長沙 410000))
?
基于Flex的寧夏氣象預報預警系統客戶端設計與實現
白明彪1,2, 李德平1, 周 勇2, 于滿山2, 卿建飛1, 胡 勇1
(1.湖南師范大學資源與環境科學學院GIS研究中心 ,湖南長沙 410008;2.東華軟件公司長沙研究院,湖南長沙 410000))
摘要引進先進的RIA技術,構建RIA下的Web客戶端平臺,針對系統需求分析,進行了系統總體設計和客戶端詳細設計,且基于GeoDatabase和SQL SERVER 2008技術完成數據部署,整合Flex、Spring、Hibernate及ArcGIS API For Flex等技術開發了集基本GIS功能、氣象數據瀏覽查詢、指導預報、精細化預報、風險產品制作、在線會商、模擬考試和工具箱等功能于一體的氣象預報預警系統客戶端;以寧夏回族自治區為例,系統地對各個功能進行了具體地實現應用,為寧夏回族自治區極端天氣防御及預報提供了強有力的信息支持。
關鍵詞氣象預報預警系統;Flex;客戶端;設計;RIA;GIS
氣象災害具有范圍廣、強度大及頻率高等特點,常會給生態、環境、社會、經濟帶來諸多問題,因此,如何構建完善的氣象預警預報系統一直以來是氣象相關研究機構研究的前沿與熱點。隨著公眾氣象意識的增強,人們對氣象信息的需求越來越高,同時伴隨著氣象業務信息化建設步伐的加快,氣象部門積累了越來越多的各類綜合氣象探測資料和預報數據。現有的氣象信息處理系統(如Midcaps 3.0)能夠對實時獲取的全球氣象觀測數據(自動站數據、區域站數據、衛星云圖、遙感圖像、數值預報產品等)進行迅速、準確處理,并根據這些觀測數據制作各種形式的天氣預報指導產品[1]。如何將這些觀測資料和預報指導產品進行綜合在線展示,并能夠形象、快速、及時地以互聯網方式發布,以便為氣象工作人員和公眾服務,已成為當前國家氣象信息網絡化、集約化建設的主要內容[2]。
近年來,有關氣象預警預報方面的研究成果較多[3-8],如黃露[6]將GIS與DSS結合起來,充分利用GIS對空間信息的管理能力和DSS強大的輔助決策功能,同時結合地質災害氣象預警方面的知識,建成了地質災害氣象預警決策支持系統;陳關清[7]分析了當前貴州省銅仁市氣象預警預報發布的現狀和存在的問題,根據實際情況提出了氣象預警預報組建系統的必要性,并詳細地闡述了預警系統的建設方案;霍華德縣除雪車輛實時跟蹤系統開發采用的是ArcGIS API For Flex,該系統利用GIS技術和GPS無線通訊技術來實時自動報告車輛的方位和當前降雪分布狀態,有利于車輛資源的管理及分配[9]。盡管基于GIS技術進行氣象預報預警系統開發的研究比較多[6,9-10],但大多數的氣象災害預報預警系統均是基于C/S架構的桌面應用,而少部分采用傳統的B/S架構的網絡應用系統只能實現簡單的氣象圖形顯示,沒有數據分析功能,更不具備GIS空間分析功能[11];氣象圖像顯示是通過服務器傳送靜態圖片來實現的,顯示效率低,交互性差,不能滿足當前人們對氣象業務的需求。因此,筆者引入富客戶端技術Flex,構建氣象預報預警系統富客戶端,以期實現氣象信息快速發布、統計分析、空間分析展示、在線會商及資源集約化,為氣象預報預警信息化建設提供技術支撐。
1需求分析
寧夏氣象預報預警系統客戶端主要以各類監測信息的統計分析及實時顯示為第一目標,兼顧預報服務產品的制作與輸出,強調對多種來源、多種格式資料的統一處理以及輸出產品的圖形、文本的格式化統一,減少操作者在使用過程中的中間環節,并提供給使用者必要的交互式操作,從而充分發揮氣象要素資料、衛星影像數據和雷達觀測數據在災害天氣預報和分析中的作用,并及時將預報預警信息分發給相關人員,為防災減災提供可靠的參考依據,盡可能地使災害性天氣造成的損失降到最低。在技術方面,通過對比分析,決定在Flex的基礎上,整合Spring、Hibernate及ArcGIS API For Flex等多項技術,開發集基本GIS功能模塊、氣象數據瀏覽查詢模塊、指導預報模塊、精細化預報模塊、風險產品制作模塊、在線會商模塊、模擬考試模塊和工具箱模塊等功能模塊于一體的寧夏氣象預報預警客戶端,提供與天氣分析及預報、災害預警等緊密相關的、具有友好操作界面的、符合用戶使用習慣的天氣預報綜合業務平臺,以方便區、市、縣三級預報員快速獲取、分析氣象要素資料,并為預報業務人員提供統一的區、市、縣三級聯動、逐級指導的天氣預報制作平臺,實現各級之間相互參考、交互預報的業務模式。
2氣象預報預警系統整體設計
寧夏氣象預報預警系統整體設計基于Flex技術,同時結合ArcGIS和Java EE,構建B/S架構模式下的Web應用程序,即表現層、服務層、數據層三層架構模式(圖1),目的是實現高內聚、低耦合,從而方便實現氣象海量數據的統一管理、應用和發布。同時,系統架構將數據和數據應用分開,使系統具有較高的安全性、穩定性和可擴展性。

圖1 寧夏氣象預報預警系統結構Fig.1 Structure of Ningxia meteorological forecasting and warning system
3客戶端設計
隨著Web技術發展,網絡應用進入了富客戶端(RIA)的時代,富客戶端整合C/S架構和傳統B/S架構的優點,具有表現力豐富、反應快速、交互性強、易于部署、異步通信、網絡通信效率高以及跨平臺等優點[12]。客戶端設計主要包括界面設計和功能設計2個部分,界面設計從設計原則出發,結合實際需求,設計出界面簡約、布局合理、操作方便的用戶界面;功能設計結合氣象業務需求將整個客戶端分劃成八大功能模塊,并對各模塊進行了詳細設計。
3.1界面設計該客戶端嚴格遵循交互界面設計三大原則(置界面于用戶的控制之下、減少用戶的記憶負擔、保持界面的一致性),經歷結構設計、交互設計和視覺設計3個流程,利用Adobe Flex 開發工具Flex Viewer將界面設計為圖形用戶界面(GUI)。

圖2 客戶端功能結構Fig.2 Functional structure of client site
3.2功能設計基于系統分析,并結合系統整體設計要求,將整個客戶端劃分為基本GIS功能模塊、氣象數據瀏覽查詢模塊、指導預報模塊、精細化預報模塊、風險產品制作模塊、在線會商模塊、模擬考試模塊和工具箱模塊八大功能模塊(圖2)。針對每一模塊進行詳細的設計,每個模塊完成相應的功能,形成一個各模塊相互協調、功能強大的信息系統。
4數據庫設計
在寧夏氣象預報預警系統中,由于數據的多來源、多尺度、海量等特性,因此,對于數據結構模型的設計、數據庫的構建均有較高要求,只有在合理的設計和實現下,才能有效地對數據進行一體化管理,方便被系統調用。
4.1數據源及數據預處理客戶端運行的數據以寧夏自治區州為例,其數據源主要有基礎地理數據、影像數據、氣象數據、災害專題數據等。其中,基礎地理數據可通過對行政區劃圖進行矢量化獲得,包括各級行政區、水系、道路及站點;影像數據為寧夏地區的DEM數據渲染處理獲得;氣象數據為寧夏自治區氣象部門所提供的2012~2015年寧夏各監測站監測的部分微觀尺度氣象數據,細化到秒,包括降雨量、氣溫、相對濕度、氣壓、風速風向、衛星云圖和雷達數據等;災害專題數據主要以災害調查與區劃資料為基礎,通過矢量化獲得,包括地災隱患點、中小河流防汛點及山洪點分布位置。根據數據類型的不同,將上述數據進一步劃分為圖形數據和屬性數據。針對圖形數據,由于數據多來源、多尺度,需要對數據進行投影變換、幾何校正等標準化預處理;針對屬性數據,需要對其進行數據編碼,以表格的形式存儲,為屬性數據庫的建設作鋪墊。此外,為了更有效地對海量數據進行一體化管理,在數據標準化處理和數據編碼的基礎上,還應該進行數據組織,即圖形庫應以“層”的概念來組織數據,各層之間又可通過“統一編碼”與屬性庫聯系,形成圖形庫與屬性庫有機組合的機制,方便用戶調用所需的圖幅文件、圖層, 查詢各層數據的空間信息。
4.2圖形數據庫設計該研究采用Geodatabase 格式的圖形數據庫,通過在ArcMap 10.3 中分別添加寧夏行政區底圖數據、影像數據及各級道路水系站點數據,打開屬性表進行相關屬性字段的錄入、編輯,再利用ArcGIS Server發布Map Server。同時,還利用GP服務發布等值線、等值面服務,具體實現流程:首先將原始離散數據經過IDW空間插值進行處理,然后經過裁剪、平滑及重分類繪制降雨、溫度的等值面或等值線,最后利用ArcGIS Server發布GP Server。客戶端通過不同的URL分別訪問Map Server和GP Server實現空間數據加載。
4.3屬性數據庫設計寧夏氣象預報預警屬性數據庫是在圖形數據庫的基礎上設計的,因為圖形數據庫中的每一圖層均對應著若干屬性信息,相應的屬性數據通過SQL Server 數據庫進行存儲,氣象文本數據通過Web應用程序從氣象服務器上下載、解析,并以表格的形式存入SQL Server數據庫,方便數據的統一管理調用。數據層在設計的SQL Server 屬性數據庫中,創建各站點屬性表并錄入相關的屬性數據,如村鎮站點屬性表(表1)。

表1 村鎮站點屬性
5客戶端開發及功能實現
5.1開發環境系統開發的語言采用Java與Flex,客戶端程序由Flex語言進行開發,服務器端程序由Java進行開發,采用Spring和Hibernate集成框架實現Web應用服務開發。數據庫使用SQL SERVER 2008,空間數據庫是GeoDataBase。開發工具選擇方面,服務端使用Eelipse3.7,客戶端使用Flash Builder 4.6,Web服務器使用Tomcats7.0.26與BlazeDS,GIS服務器使用ArcGIS For Server 10.3。
5.2系統主要功能實現

圖3 客戶端主界面Fig.3 Main interface of client sites
5.2.1界面實現。該系統客戶端采用Flash Builder 4.6設計實現用戶圖形界面;以美觀、簡約和友好為原則,確定系統界面架構的功能操作區和內容顯示區;合理規劃主菜單欄、子菜單欄、地圖主窗體、導航欄、狀態欄和專題加載欄分布及組合方式,以滿足用戶的操作習慣及視覺感受(圖3)。5.2.2基本GIS功能模塊。該模塊提供高清地圖的在線發布與瀏覽定位功能。用戶可以根據業務需要,在矢量圖、影像圖之間自由切換,任意平移、縮放底圖,控制專題要素圖層的顯示與隱藏。系統能夠直接對接高分辨率網絡地圖,滿足各類預報業務對高精度地理信息數據的需求。該模塊主要是通過ArcGIS Server發布各種地圖服務,客戶端利用ArcGIS API For Flex技術訪問服務的URL實現各種功能。ArcGIS API for Flex是2008年ESRI基于Flex開發的一套WebGIS地圖 API,當前最新版本為3.9,主要用于RIA技術的推廣與開發,借助ArcGIS API for Flex,可以滿足一些基本GIS功能開發需求,如圖層控制、地圖基本操作、地圖繪制、空間查詢、在線編輯等[13]。

圖4 客戶端降雨量查詢圖顯示界面Fig.4 Display interface of rainfall query figure of client site
5.2.3氣象數據瀏覽查詢模塊。該模塊支持各類氣象數據基于基礎地理底圖疊加顯示分析(圖4),包括實況數據和歷史數據;支持離散點的在線插值、等值線和等值面繪制;支持時序數據的動態播放;支持閾值和等值線間隔的設定。支持的氣象數據類型如下:①實況數據。包括地面填圖、降水、溫度、風速風向、濕度、氣壓、衛星云圖、雷達拼圖等,每種要素包括不同的高度、預報時次和時段。②歷史數據。通過設置開始時間、結束時間等參數,查詢歷史數據。③數值預報。包括T639MOS、EC2T、ECPP、ECMOS、WRF等。④站點信息。通過設置查詢時間、要素類型等參數,查詢站點的詳細信息。5.2.4指導預報模塊。該模塊集成了中央臺指導、歐洲(EC)指導、美國WRF指導、T639MOS指導、集成指導等多類指導產品,方便預報員快速瀏覽,為當地預報產品的制作與訂正提供參考。用戶通過選擇預報指導種類,輸入預報日期、時間、時段等參數,向數據庫查詢相關的預報指導數據,并以表格的形式展現出來(圖5)。
5.2.5精細化預報模塊。區、市、縣三級氣象部門根據每天不同的預報任務要求,根據不同預報級別,預報員選擇相應預報專題模塊。具體的業務流程是:首先由區級預報員參考實時數據和指導預報數據,完成短期和中期的預報電碼制作,并提交服務器發布;然后,由另外的區級預報員完成全區精細化預報和大城市精細化預報,市級預報員參考全區精細化預報和大城市精細化預報數據,結合實際情況補正相關數據,完成五市指導預報;最后由縣級預報員參考五市指導預報,通過補正信息完成村鎮精細化預報。這樣就達到了區、市、縣三級聯動、逐級指導天氣預報,實現各級之間相互參考、交互預報。預報員設置預報參數后,通過繪制落區對站點統一賦值,或點擊站點直接修訂,快速生成報文(圖6),套用產品模板完成預報產品的一鍵式制作。

圖5 客戶端指導預報界面Fig.5 Forecasting guide interface of client site

圖6 客戶端大城市精細化預報報文預覽界面Fig.6 Message preview interface of fine forecasting in big cities of client site

圖7 客戶端預警產品預覽界面Fig.7 Preview interface of forecasting products of client site

圖8 客戶端在線會商訂正預報界面Fig.8 Forecasting interface of online consultation correction of client site
5.2.6風險產品制作模塊。預報員根據當前的報警類型和具體位置,在預警信號面板選擇預警類別、級別,在地圖窗口中繪制落區,編輯產品期號、流水號、時效、領班、總領班、副班、預警內容、防御指南等參數,完成預警產品的制作、保存及發布(圖7)。5.2.7在線會商模塊。為了方便區、市、縣三級預報員在線溝通交流,補正天氣信息,達到各級精確預報的效果,客戶端實現了在線會商模塊,該模塊利用BlazeDS推送技術,實現在線用戶通信、公共信息發布預報訂正(圖8)等功能。BlazeDS 是一個基于服務器的Java遠程控制(remoting)和Web消息傳遞(messaging)技術,它能夠使后端的 Java 應用程序和運行在瀏覽器上的 Adobe Flex 應用程序相互通信,是運用于富客戶端的服務器推送技術[14]。5.2.8模擬考試功能。客戶端為幫助預報員快速學習和熟練預報、增長預報經驗,設計實現了模擬考試模塊。預報員選擇時間、時段(24、48和72 h),繪制落區,并對落區進行統一賦值或點擊單個站點實現單一賦值,保存結果,最后提交,評分結果是客戶端通過對比歷史真實數據與預報員提交的預報數據,考驗預報員的業務能力。模擬考試模塊為預報員將來的預報工作打下了堅實的基礎和累積了豐富的工作經驗。
5.2.9工具箱。工具箱主要提供一些繪制工具、測量工具以及圖片制作功能,其中繪制工具包括一些點、線、面等的繪制工具、落區繪制以及要素繪制,測量工具主要包括測量長度和測量面積。這樣方便預報員日常操作,提高操作效率和客戶端的用戶體驗。
6結論與討論
該研究基于系統分析的基礎上,通過系統總體設計、客戶端設計及數據庫設計逐層展開;引入先進的 Flex客戶端技術,利用Flex的表現力豐富、反應快速、交互性強、易于部署、異步通信、網絡通信效率高以及跨平臺等特點,初步構建了基于Flex 的氣象預報預警系統客戶端,該客戶端實現了多源氣象信息瀏覽查詢、天氣預報發布、天氣信息訂正、預報員在線通訊、預報產品制作發布及預報員業務能力測試等功能。
以寧夏自治區為例,對客戶端各功能模塊進行了具體的實現和應用,為各級氣象部門和預報人員提供了區、市、縣三級聯動天氣預報業務模式,統一高效的GIS人機交互操作平臺,豐富的空間數據與氣象數據融合能力,落區高效繪制與在線快速訂正能力,在線會商與消息自動推送能力,在線個性化產品制作能力。
參考文獻
[1] 舒新明,儲曉春.自動氣象站業務運行中應注意的幾個問題[J].貴州氣象,2010(2):46-51.
[2] 吳向陽.氣象經濟學研究綜述[J].氣象與環境科學,2007(2):38-40.
[3] 徐媛.基于DTM及人工神經網絡的合肥市地質災害氣象風險預報預警模型及其應用研究[D].合肥:合肥工業大學,2014.
[4] SHIPLEY S T.Weather radar terrain occultaion modeling using GIS[C]//2lst IIPS,paper J9.5,AMS Annual Meeting.San Diego,CA,2005:102-107.
[5] SASEENDRAN S A,HARENDU PRAKASH L,RATHOREL L S,et al.A GIS application for weather analysis and forecasting[EB/OL].(2002-08-30)[2015-08-21].http://www.gisdevelopment.net/application/environment/conserv ation/envm0004.htm.
[6] 黃露.基于GIS的地質災害氣象預警決策支持系統的研究[D].武漢:武漢理工大學,2011.
[7] 陳關清.基于CS結構的氣象預警預報服務系統研究與開發[D].成都:電子科技大學,2012.
[8] ESRI.美國社區公眾服務定位系統[DB/OL].(2002-05-20)[2015-07-01].http://www.appmapps.com/government-service-locator-Silv_erlight-run.html.
[9] ESRI.霍華德縣除雪車輛實時跟蹤系統[DB/OL].(2001-02-20)[2015-07-01].http://howardcountymdpublic.eroadtrack.com.
[10] 吳躍東.安徽省地質災害氣象預警預報研究[J].災害學,2008(12):34-37.
[11] 張瑜.基于 Flex 和 ArcGIS Server 的 WebGIS 設計與研究:以江蘇省控制點查詢系統為例[D].南京:南京林業大學,2011.
[12] 百度百科.RIA[EB/OL](2015-04-01)[2015-07-01].http://baike.baidu.com/link url=05mqYI3MYt6q4-yppR9154dAeES-71at81hpaxrckZQ1HN2oqG3cPZtY9hHFU5DIzjkHiYAv4oKmni2d0tzZ4Z-JN8M7Zds7qNjqmafLdnaqi.
[13] 朱尚嵩,謝炎,花梅.基于Flex的WebGIS煤礦應用服務平臺設計[J].工礦自動化,2012(4):23-26.
[14] 李浩松,顏巧玲,劉溪土,等.基于Flex和Java技術的公共通信服務基礎平臺設計與實現[J].科技視界,2014(26):89-93.
The Design and Implementation of Client of Ningxia Meteorological Forecasting and Warning Based on Flex
BAI Ming-biao1,2, LI De-ping1, ZHOU Yong2et al
(1.College of Resources & Environment, GIS Research Center, Hunan Normal University, Hunan, Changsha 410081; 2.Changsha Research Institute of Donghua Software Company, Hunan, Changsha 410000)
AbstractAdvanced RIA technology is introduced to build a Web client platform under RIA.For the system requirement analysis, we designed the overall system and the client.Additionally, the authors not only used GeoDatabase and SQL SERVER 2008 to complete data deployment, but also integrated techniques such as Flex, Spring, Hibernate and ArcGIS API For Flex to develop a client of meteorological forecasting and warning system, which integrated the basic GIS functions, meteorological data browsing, forecast guidance, refined weather forecast, online product production, online consultation, mock examinations and toolbox in one.With Ningxia Hui Autonomous Region as the research object, realization application of each function was systematically carried out, which provided strong information support for extreme weather forecasting and warning.
Key wordsWeather forecasting and warning systems; Flex; Client; Design; RIA; GIS
作者簡介白明彪(1988- ),男,重慶人,碩士研究生,研究方向:GIS應用開發。
收稿日期2016-02-08
中圖分類號S 162
文獻標識碼A
文章編號0517-6611(2016)08-208-06
鳴謝在論文的撰寫過程中,得到了東華軟件長沙研究院和寧夏氣象局的大力支持,在此表示感謝。