王偉 李俊徽 張鋒 潘婭英
摘要:隨著強(qiáng)降水等極端天氣事件的日益頻發(fā),各大水庫對專業(yè)水庫氣象服務(wù)的需求日漸迫切。基于WebGIS技術(shù),利用Leaflet地圖插件、Boootstrap前端框架、B/S架構(gòu)對集歷史雨量、面雨量預(yù)報、水位徑流預(yù)報、預(yù)報評估、專業(yè)服務(wù)文稿以及臺風(fēng)、雷達(dá)、衛(wèi)星等多功能于一體的水庫氣象服務(wù)平臺進(jìn)行了設(shè)計與實現(xiàn)。平臺基于模塊化分層結(jié)構(gòu)設(shè)計實現(xiàn)了高內(nèi)聚、低耦合的設(shè)計模式,復(fù)用性高,并支持多端的適配展示,為水庫用戶調(diào)度生產(chǎn)提供了專業(yè)的決策支持。
關(guān)鍵詞:水庫;WebGIS;多端適配;模塊化
中圖分類號:TP393文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2020)03-61-4
0引言
極端惡劣天氣發(fā)生的頻率逐年增加,對水庫的調(diào)度、生產(chǎn)具有重要影響,水庫防洪抗汛對專業(yè)化和定制化的氣象服務(wù)的需求迫在眉睫。水庫氣象服務(wù)系統(tǒng)是針對水庫用戶的需求量身定制的專業(yè)氣象服務(wù)平臺,平臺的建設(shè)和發(fā)展緊跟計算機(jī)技術(shù)的發(fā)展水平,從最初的C/S終端服務(wù)到后來的Web端[1]和移動端服務(wù),從單一的展現(xiàn)形式到多樣化的服務(wù)形式。由于平臺過于零散,展示效果不夠直觀,單一系統(tǒng)無法集成全套功能、兼容多個平臺,因此對模塊集約化、功能多樣化、信息表達(dá)直觀化及多終端適配的專業(yè)水庫氣象服務(wù)平臺的需求越漸強(qiáng)烈[2]。
利用WebGIS技術(shù)[3],結(jié)合前端HTML5和Bootstrap展示框架,后端采用C#發(fā)布WebService[4]數(shù)據(jù)接口,可以構(gòu)建一個界面直觀、功能豐富且電腦、手機(jī)、平板等多終端適配的水庫氣象平臺,利用Echarts插件[5]和Leaflet通過圖形、圖表等形式對數(shù)據(jù)進(jìn)行可視化展示,效果更直觀、可讀性更強(qiáng),為水庫用戶的生產(chǎn)和調(diào)度提供科學(xué)的決策依據(jù),提高相關(guān)部門在防汛抗旱和水資源管理方面的能力。。
1總體功能與系統(tǒng)架構(gòu)設(shè)計
1.1系統(tǒng)關(guān)鍵技術(shù)
系統(tǒng)主體前后端分離和模塊化開發(fā)實現(xiàn)了高內(nèi)聚、低耦合的開發(fā)模式[6],前端主要基于HTML5、Leaflet地圖類庫、Bootstrap前端框架和CSS響應(yīng)式布局聯(lián)合開發(fā),支持多平臺(PC、平板電腦、手機(jī)瀏覽器)訪問,數(shù)據(jù)展示基于Echarts和Leaflet的Layergroup疊加等形式對氣象數(shù)據(jù)進(jìn)行多樣化展示;數(shù)據(jù)接入利用Ajxa的異步請求可以實現(xiàn)前端請求的實時響應(yīng)和后端數(shù)據(jù)的實時接入。
后端開發(fā)主要分為數(shù)據(jù)收集、數(shù)據(jù)處理、產(chǎn)品生成和數(shù)據(jù)發(fā)布四部分,主要采用C#、Java進(jìn)行開發(fā)數(shù)據(jù)處理、數(shù)據(jù)同步以及產(chǎn)品的計算實現(xiàn),基于.Net Framework發(fā)布WebService數(shù)據(jù)接口供前端調(diào)用。
1.2系統(tǒng)總體功能設(shè)計
水庫氣象服務(wù)平臺由四大系統(tǒng)和一大平臺構(gòu)成,即數(shù)據(jù)收集系統(tǒng)、數(shù)據(jù)處理系統(tǒng)、產(chǎn)品生成系統(tǒng)、數(shù)據(jù)發(fā)布系統(tǒng)和多端展示平臺組成,功能結(jié)構(gòu)如圖1所示
1.3系統(tǒng)架構(gòu)設(shè)計
系統(tǒng)采用多層式運行架構(gòu),如圖2所示,各層邏輯上互相獨立,具有較高的復(fù)用性。此外還擁有高度的跨平臺性、良好的開放性及嚴(yán)密的安全管理性等優(yōu)勢。
①基礎(chǔ)層:主要包括數(shù)據(jù)服務(wù)器、數(shù)據(jù)存儲設(shè)備、路由設(shè)備、安全設(shè)備等硬件設(shè)施和網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫、開發(fā)平臺等軟件支持。
②數(shù)據(jù)層:包括基礎(chǔ)的地圖數(shù)據(jù)、氣象站點數(shù)據(jù)、多模式精細(xì)化格點預(yù)報數(shù)據(jù)、水文數(shù)據(jù)、地理數(shù)據(jù)、水文數(shù)據(jù)。
③應(yīng)用層:也稱邏輯應(yīng)用層,是數(shù)據(jù)與用戶請求的中間件,負(fù)責(zé)數(shù)據(jù)邏輯的處理,包括地圖數(shù)據(jù)的標(biāo)準(zhǔn)化處理、面雨量預(yù)報數(shù)據(jù)的模式運算、水文模型的徑流模擬分析和WebService數(shù)據(jù)接口的開發(fā)。
④表現(xiàn)層:系統(tǒng)的展示部分包括圖表展示、圖層展示和文稿展示等界面展示以及地圖瀏覽、圖層切換等用戶交互。主界面基于Leaflet開發(fā),包括地圖的展示、雨量圖層、站點圖層和面雨量圖層疊加展示,以及基于E-charts的中短期面雨量預(yù)報展示、徑流預(yù)報數(shù)據(jù)的展示以及預(yù)報材料的展示。
2子平臺系統(tǒng)及實現(xiàn)
2.1數(shù)據(jù)采集系統(tǒng)
數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)來源主要有省氣象信息數(shù)據(jù)庫、水庫數(shù)據(jù)庫和基礎(chǔ)地理數(shù)據(jù)庫。數(shù)據(jù)主要包括雷達(dá)數(shù)據(jù)、全省自動站實況數(shù)據(jù)庫、全省面雨量數(shù)據(jù)庫、格點數(shù)據(jù)文件、水文數(shù)據(jù)及地圖數(shù)據(jù)等。數(shù)據(jù)采集系統(tǒng)收集來自不同數(shù)據(jù)源的氣象產(chǎn)品和數(shù)據(jù),對接收到的數(shù)據(jù)由系統(tǒng)進(jìn)行解包、解碼及文件名校驗等數(shù)據(jù)標(biāo)準(zhǔn)化處理,處理后的數(shù)據(jù)與產(chǎn)品實時同步至數(shù)據(jù)處理服務(wù)器進(jìn)行加工處理,并上傳至文件服務(wù)器進(jìn)行備份保存。
2.2數(shù)據(jù)處理系統(tǒng)
數(shù)據(jù)處理系統(tǒng)對系統(tǒng)采集的不同規(guī)格的氣象數(shù)據(jù)產(chǎn)品進(jìn)行實時處理,并同步至數(shù)據(jù)發(fā)布服務(wù)器,數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)如圖3所示。
系統(tǒng)將自動站降水?dāng)?shù)據(jù)、歷史降水格點數(shù)據(jù)實時處理成Leaflet API所支持的點、線、面集合,將各類氣象格點數(shù)據(jù)文件統(tǒng)一處理成便于讀取的MICAPS 4類或2類文件;將雷達(dá)數(shù)據(jù)進(jìn)行反射率因子的提取,為反演降水做數(shù)據(jù)準(zhǔn)備;將水文數(shù)據(jù)處理為SWAT模型需要的數(shù)據(jù)格式,并進(jìn)行參數(shù)的率定等數(shù)據(jù)處理;將服務(wù)文稿數(shù)據(jù)進(jìn)行文件同步和格式規(guī)范等處理。
2.3產(chǎn)品生成系統(tǒng)
產(chǎn)品生成系統(tǒng)主要分為短臨面雨量預(yù)報、中短期多模式集成預(yù)報降水、SWAT水文模型模擬水位徑流預(yù)警3個子系統(tǒng)。短臨面雨量預(yù)報主要基于雷達(dá)的短臨降水雷達(dá)估測和預(yù)報降水序列產(chǎn)品,集合多種預(yù)報技術(shù)應(yīng)用到不同時效的預(yù)報產(chǎn)品。中短期0~14天的客觀降水預(yù)報產(chǎn)品,通過應(yīng)用多模式集成技術(shù)生成客觀產(chǎn)品,通過分析各家數(shù)值模式預(yù)報與實況之間的誤差的特點,選取多家相對可靠的模式,基于數(shù)值模式預(yù)報結(jié)果與觀測值的對比分析進(jìn)行集成,統(tǒng)計給出最優(yōu)的中短期定量降水預(yù)報結(jié)果。水文模擬系統(tǒng)利用SWAT模型建立水庫區(qū)域的概化模型后輸入水文和實時雨量數(shù)據(jù),得到水位、徑流等預(yù)警預(yù)報產(chǎn)品。
2.4數(shù)據(jù)發(fā)布系統(tǒng)
數(shù)據(jù)發(fā)布系統(tǒng)將經(jīng)過數(shù)據(jù)處理系統(tǒng)和產(chǎn)品生成系統(tǒng)生成的數(shù)據(jù)發(fā)布成可供前臺實時調(diào)用的WebService接口。數(shù)據(jù)由于前端實時發(fā)布系統(tǒng)采用HTML5和JavaScript框架,接口統(tǒng)一返回JSON格式的數(shù)據(jù)格式并支持跨域,便于異步加載數(shù)據(jù),頁面更新更加高效。
2.5多端展示平臺
多端展示平臺基于Leaflet API進(jìn)行地圖展示和雨量數(shù)據(jù)的疊加展示,基于E-charts插件進(jìn)行氣象信息的圖表化展示,并基于Bootstrap框架開發(fā),具有很好的適配性,支持多端展示。數(shù)據(jù)接入通過Ajax實時調(diào)用服務(wù)器的URLService,通過解析返回Callback Function對象獲取歷史、預(yù)報雨量、水位徑流及服務(wù)文稿等實時數(shù)據(jù)。
2.6平臺特色及創(chuàng)新性
水庫服務(wù)平臺的特色和創(chuàng)新性主要表現(xiàn)在:
①基于WebGIS的氣象信息展示:基于輕量級的Leaflet地圖引擎,數(shù)據(jù)量小,可以快速高效地加載各類數(shù)據(jù);通過在地理數(shù)據(jù)上疊加歷史雨量圖層、降水站點、預(yù)報面雨量、雷達(dá)和臺風(fēng)等數(shù)據(jù),表現(xiàn)形式更為直觀,便于用戶瀏覽和查看。
②模塊化開發(fā):系統(tǒng)前后端從數(shù)據(jù)、邏輯、用戶界面三方面進(jìn)行模塊化開發(fā),實現(xiàn)了高內(nèi)聚、低耦合,使得模塊的可重用性、移植性大大增強(qiáng)。
③展示平臺高度適配:用戶界面基于Bootstrap框架和CSS優(yōu)化設(shè)計進(jìn)行響應(yīng)式布局設(shè)計,能夠適配PC、Pad、移動端等多種顯示設(shè)備,便于用戶隨時瀏覽水庫氣象服務(wù)信息。
④可配置性:系統(tǒng)平臺通過配置各水庫參數(shù),可以快速生成針對新水庫的氣象服務(wù)平臺,并可以通過配置控制新平臺的展示模塊,極大節(jié)約了開發(fā)成本、提升了開發(fā)效率,為水庫氣象服務(wù)的拓展和推廣奠定了基礎(chǔ)。
3系統(tǒng)應(yīng)用
3.1應(yīng)用顯示效果
水庫氣象服務(wù)平臺主要分為面雨量、評估、文稿、臺風(fēng)、雷達(dá)和衛(wèi)星6個功能模塊。其中主界面雨量模塊分為歷史面雨量、歷史站點雨量、短時、短期、短中期面雨量預(yù)報,以及水位和徑流預(yù)報等,如圖4所示。評估模塊如圖5所示,對近30天的面雨量預(yù)報進(jìn)行實況對比檢驗;文稿模塊提供全省和水庫短中期預(yù)報文字材料;臺風(fēng)雷達(dá)衛(wèi)星模塊則提供用戶比較關(guān)心的公眾氣象信息供參考。頁面在各種尺寸的顯示設(shè)備上都做了很好的適配,方便用戶隨時隨地瀏覽水庫氣象信息,圖7和圖8分別為平臺主界面在Pad和手機(jī)上的顯示效果。
3.2使用效果評價
水庫氣象服務(wù)平臺現(xiàn)已應(yīng)用于多家水庫,并在多次強(qiáng)降水過程中取得不錯的反響。在產(chǎn)品使用和響應(yīng)速度上,產(chǎn)品各模塊間響應(yīng)迅速、平臺使用流暢、交互友好,這也得益于Leaflet自身的輕量級以及強(qiáng)大的功能支持以及Ajax數(shù)據(jù)請求的快速響應(yīng),響應(yīng)時間基本控制在毫秒級。在產(chǎn)品內(nèi)容上系統(tǒng)提供面雨量、徑流、水位、服務(wù)文稿以及臺風(fēng)、雷達(dá)云圖等豐富的氣象服務(wù)產(chǎn)品。臺風(fēng)利奇馬期間,平臺對降水過程進(jìn)行了很好的預(yù)報,多家水庫提前進(jìn)行了開閘預(yù)排,為應(yīng)對臺風(fēng)強(qiáng)降水儲存足夠的空間。臺風(fēng)期間專業(yè)的水庫降水預(yù)報、水位和徑流預(yù)報為水庫調(diào)度和生產(chǎn)的調(diào)整提供了重要決策支持。
4結(jié)束語
針對新形勢下水庫對氣象服務(wù)的新需求,介紹了基于WebGIS的多端適配的水庫氣象平臺的設(shè)計和實現(xiàn)。為水庫用戶提供短中期面雨量預(yù)報、水位徑流預(yù)報以及服務(wù)文稿等氣象服務(wù)。在架構(gòu)設(shè)計上實現(xiàn)了前后端分離,模塊化開發(fā),便于后期的功能拓展及產(chǎn)品升級。在展示效果上適配了多個終端平臺,用戶可以在多終端實時訪問。在功能配置上支持水庫配置,通過在配置文件添加新水庫信息,可以配置生成新的水庫氣象服務(wù)平臺,極大地提高了開發(fā)效率。
目前系統(tǒng)配置僅支持配置文件修改,交互不友好,下一步將開發(fā)獨立的水庫配置平臺,根據(jù)用戶賬號設(shè)置配置權(quán)限,并考慮新增重點關(guān)注模塊供用戶選擇和配置,比如氣象預(yù)警、水位警戒等模塊,提供更為專業(yè)的氣象服務(wù)平臺。
參考文獻(xiàn)
[1]徐東風(fēng).C/S與B/S混合模式在大伙房水庫信息服務(wù)系統(tǒng)中的應(yīng)用[J].中國防汛抗旱,2008,18(6):56-58.
[2]蘇磊,張鴻雁,陳波,等.長江流域水庫調(diào)度氣象服務(wù)實踐和思考[J].中國防汛抗旱,2019,29(4):15-17.
[3]彭明軍,李宗華,楊存吉. WebGIS實現(xiàn)技術(shù)及發(fā)展研究[J].測繪信息與工程,2001(1):41-44.
[4]張新榮. Web Service在接口開發(fā)中的研究與應(yīng)用[J].計算機(jī)光盤軟件與應(yīng)用,2012,15(22):198-199.
[5]崔蓬. ECharts在數(shù)據(jù)可視化中的應(yīng)用[J].軟件工程, 2019,22(6):42-46.
[6] ANIL P, MALCOLM M, MELISSA C . Identity Propagation in N-tier Systems[C]// Military Communications Conference, 2009,MILCOM 2009,IEEE,2009.