袁芳菊 楊勝忠
摘? 要:百度地圖顯示速度快,界面清晰,接口功能豐富、交互性強(qiáng),使用方便。文章根據(jù)三板溪水電站的業(yè)務(wù)需求,采用百度地圖作為底圖,調(diào)用JavaScript API GL開發(fā)接口,對(duì)三板溪電站雨洪監(jiān)測預(yù)報(bào)綜合服務(wù)系統(tǒng)進(jìn)行設(shè)計(jì)和研發(fā)。系統(tǒng)運(yùn)行在Windows系統(tǒng)上,基于B/S模式,采用Asp.net開發(fā),個(gè)性化百度地圖,并在上面疊加河網(wǎng)基礎(chǔ)信息、流域面和氣象水文監(jiān)測數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)監(jiān)測、數(shù)據(jù)分析、預(yù)警預(yù)報(bào)、生產(chǎn)調(diào)度建議等功能,為氣象水文服務(wù)地方經(jīng)濟(jì)發(fā)展和防災(zāi)減災(zāi)提供系統(tǒng)平臺(tái)支撐。
關(guān)鍵詞:百度地圖;水庫;氣象;水文
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)10-0042-04
Abstract: Baidu Maps has fast display speed, clear interface, rich interface functions, strong interactivity and it is convenient to use. According to the business requirements of Sanbanxi Hydropower Station, this paper uses Baidu Maps as the base map, and calls JavaScript API GL development interface to design and develop the comprehensive service system for rainfall and flood monitoring and forecasting of Sanbanxi Hydropower Station. On the Windows system, based on the B/S mode, this system adopts Asp.net to develop, personalizes Baidu Maps, and river network basic information, watershed area and meteorological and hydrological monitoring data are superposed on it to achieve data monitoring, data analysis, early warning and forecasting, production scheduling suggestions and other functions, providing a system platform support for the local economic development and disaster prevention and mitigation of meteorological and hydrological services.
Keywords: Baidu Maps; reservoir; meteorology; hydrology
0? 引? 言
三板溪水電站位于貴州省黔東南苗族侗族自治州錦屏縣內(nèi),沅水干流河段清水江流域下游,是黔東南州有史以來投資最多、規(guī)模最大的水電站項(xiàng)目。電站總裝機(jī)容量100萬千
瓦,安裝4臺(tái)25萬千瓦混流式水輪發(fā)電機(jī)組,年發(fā)電量24.28億千瓦時(shí),是國家西電東送“十五”重點(diǎn)工程。電站壩型為混凝面板堆石壩,壩址以上控制流域面積11 051 km2,水庫正常蓄水水位475.0 m,庫容40.94億立方米,蓄水深度185.5 m,積水面積79.56 km2。水庫的優(yōu)化調(diào)度及安全度汛與氣象水文雨水情監(jiān)測預(yù)報(bào)息息相關(guān),精細(xì)化、準(zhǔn)確高效的氣象水文專業(yè)服務(wù)產(chǎn)品和信息化的傳輸、呈現(xiàn)方式是提高優(yōu)化水庫調(diào)度的關(guān)鍵因素。多數(shù)水電站和水庫均建設(shè)有自己的雨水情監(jiān)測系統(tǒng),并在系統(tǒng)的研究和開發(fā)上做了大量的工作。秦昊[1]等對(duì)長江流域水文氣象信息服務(wù)體系設(shè)計(jì),何清芳[2]等對(duì)龍巖市水庫雨洪風(fēng)險(xiǎn)預(yù)警平臺(tái)設(shè)計(jì)開發(fā),易香妤[3]等對(duì)三峽梯調(diào)氣象業(yè)務(wù)系統(tǒng)升級(jí)改造研究,王偉[4]等對(duì)基于WebGIS的水庫氣象服務(wù)平臺(tái)也有研究。每個(gè)水庫電站基于其各自的地理特性、水庫功能和使用習(xí)慣,對(duì)氣象水文專業(yè)服務(wù)產(chǎn)品的需求也略有不同。本文根據(jù)三板溪水電站的業(yè)務(wù)需求,對(duì)三板溪電站雨洪監(jiān)測預(yù)報(bào)綜合服務(wù)系統(tǒng)進(jìn)行研發(fā),為氣象水文服務(wù)地方經(jīng)濟(jì)發(fā)展和防災(zāi)減災(zāi)提供系統(tǒng)平臺(tái)支撐。
1? 設(shè)計(jì)原理
1.1? 系統(tǒng)框架
三板溪電站雨洪監(jiān)測預(yù)報(bào)綜合服務(wù)系統(tǒng)的研發(fā)主要是用于指導(dǎo)三板溪電站電力生產(chǎn)、安全度汛和上下游生態(tài)環(huán)境保護(hù)的系統(tǒng)平臺(tái)。系統(tǒng)運(yùn)行在windows系統(tǒng)上,基于B/S模式,采用Asp.net開發(fā),主要涉及的開發(fā)語言有C#、html、Javascript、Ajax、jQuery等,數(shù)據(jù)庫采用ms SQL。底圖顯示主要是采用百度地圖,其原理是在百度地圖上疊加各類氣象水文信息,讓用戶可以交互操作,得到良好的呈現(xiàn)效果和使用。系統(tǒng)框架原理如圖1所示。
1.2? 數(shù)據(jù)庫
系統(tǒng)數(shù)據(jù)庫采用ms SQL,包括氣象水文站點(diǎn)信息表、分鐘數(shù)據(jù)表、小時(shí)數(shù)據(jù)表、日數(shù)據(jù)表、面雨量數(shù)據(jù)表、水位計(jì)算流量參數(shù)表、洪峰傳播參數(shù)表、氣象服務(wù)數(shù)據(jù)表、用戶數(shù)據(jù)表、分類數(shù)據(jù)表、日志表等,如圖2所示。數(shù)據(jù)來源于自建站點(diǎn)和氣象大數(shù)據(jù)云平臺(tái)·天擎。氣象大數(shù)據(jù)云平臺(tái)是利用大數(shù)據(jù)、云計(jì)算技術(shù)構(gòu)建的集氣象數(shù)據(jù)的收集分發(fā)、加工處理、存儲(chǔ)管理、統(tǒng)計(jì)分析、共享服務(wù)和運(yùn)行監(jiān)控于一體的綜合數(shù)據(jù)業(yè)務(wù)支撐平臺(tái),所有氣象數(shù)據(jù)匯交到氣象大數(shù)據(jù)云平臺(tái)質(zhì)控后再抽取使用。
2? 關(guān)鍵技術(shù)
2.1? 百度地圖API
百度地圖[5]主要有七大功能與服務(wù),分別是定位、地圖、軌跡、路線規(guī)劃、路況和搜索。在地圖上疊加氣象水文信息,采用百度地圖JavaScript API GL接口,它是一套由JavaScript語言編寫的應(yīng)用程序接口,使用了WebGL對(duì)地圖、覆蓋物等進(jìn)行渲染,支持3D視角展示地圖。開發(fā)者可以通過對(duì)JavaScript API GL接口的輕松調(diào)用,就能在網(wǎng)站中建立功能豐富、交互性強(qiáng)的地圖應(yīng)用,同時(shí)支持PC端和移動(dòng)端基于瀏覽器的地圖應(yīng)用開發(fā)。JavaScript API GL提供的功能接口包括地圖展示、定位、覆蓋物、檢索、路線規(guī)劃等,適配多樣化的業(yè)務(wù)場景。在系統(tǒng)中,主要用到覆蓋物。即把氣象水文站點(diǎn)、監(jiān)測數(shù)據(jù)等當(dāng)成覆蓋物來處理,疊加到自定義的百度地圖上顯示出來。覆蓋物包括繪制點(diǎn)、線、面,文本標(biāo)注、圖標(biāo)展示、信息提示窗口等。
2. 2? 個(gè)性化地圖
加載百度地圖比較簡單,通過官方教程代碼,在html文件中,引入百度地圖API文件,然后創(chuàng)建地圖容器元素,再創(chuàng)建地圖實(shí)例,具體代碼如下所示:
var map = new BMapGL.Map("container")
地圖加載成功后,通過個(gè)性化地圖,實(shí)現(xiàn)對(duì)地圖進(jìn)行個(gè)性化配置,使地圖更適宜電站用戶的使用需求。為了更清楚的展示水文和氣象監(jiān)測站數(shù)據(jù),將地圖中地名元素和路網(wǎng)元素消隱,只保留最基本的底圖。樣式配流程見圖3所示。
2.3? 流域底圖處理
系統(tǒng)主要為電站生產(chǎn)調(diào)度和安全度汛使用,因此,主要的顯示元素為流域面、站點(diǎn)圖標(biāo)、監(jiān)測數(shù)據(jù)標(biāo)注等,如圖4所示。流域面及河網(wǎng)的提取采用貴州省DEM高程數(shù)據(jù),應(yīng)用ArcGis軟件和SWAT水文模型提取流域邊界和河網(wǎng)水系,再經(jīng)過人工處理,生成SHP文件,再讀取經(jīng)緯信息轉(zhuǎn)換成json文件。在百度地圖中使用多邊形Polygon的方法來添加流域面。代碼如下:
var polygon = new BMapGL.Polygon([
new BMapGL.Point(經(jīng)度1,緯度1),
new BMapGL.Point(經(jīng)度2,緯度2),
new BMapGL.Point(經(jīng)度3,緯度3),
new BMapGL.Point(經(jīng)度…,緯度…),
new BMapGL.Point(經(jīng)度N,緯度N)
], {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polygon);
流域河網(wǎng)水系采用添加折線覆蓋物的方式重復(fù)添加,站點(diǎn)標(biāo)志采用添加圖片的方式,顯示數(shù)據(jù)采用文本標(biāo)注。
2.4? ECharts圖表庫
系統(tǒng)中對(duì)雨量水位關(guān)系圖和雨量流量關(guān)系圖采用ECharts圖表庫[6]。ECharts是一款基于JavaScript的數(shù)據(jù)可視化圖表庫,提供了常規(guī)的折線圖、柱狀圖、散點(diǎn)圖、餅圖、K線圖等,還提供了用于統(tǒng)計(jì)的盒形圖,用于地理數(shù)據(jù)可視化的地圖、熱力圖、線圖,用于關(guān)系數(shù)據(jù)可視化的關(guān)系圖、Treemap、旭日?qǐng)D等,它功能強(qiáng)大,使用簡單,效果美觀。
3? 主要功能
系統(tǒng)由用戶界面和后臺(tái)管理兩部分組成,后臺(tái)管理主要用于上傳天氣預(yù)報(bào)信息,與用戶界面相對(duì)獨(dú)立,主要運(yùn)行在內(nèi)網(wǎng)上,互聯(lián)網(wǎng)無法訪問,增加了系統(tǒng)的安全性。用戶界面包括用戶登錄和功能模塊的顯示。功能模塊分四個(gè)部分,包括數(shù)據(jù)監(jiān)測、數(shù)據(jù)分析、預(yù)測預(yù)報(bào)、調(diào)度建議。系統(tǒng)登錄界面如圖5所示。
3.1? 數(shù)據(jù)監(jiān)測
實(shí)時(shí)監(jiān)測功能主要是以百度地圖為底圖,在百度地圖上疊加流域面、河網(wǎng)以及站點(diǎn)信息、氣象水文要素,包括降水量、氣溫、水位高度等資料,水位顯示界面如圖6所示。點(diǎn)擊站點(diǎn)圖標(biāo),還可打開站點(diǎn)水位降水時(shí)序圖。實(shí)時(shí)監(jiān)測主要功能界面有水位監(jiān)測、綜合監(jiān)測、面雨量監(jiān)測、水位雨量時(shí)序圖。水位監(jiān)測、綜合監(jiān)測和面雨量監(jiān)測數(shù)據(jù)疊加到百度地圖上顯示,水位雨量時(shí)序圖采用ECharts圖標(biāo)控件中的折線圖和柱形圖組合圖,如圖7所示。
3.2? 數(shù)據(jù)分析
數(shù)據(jù)分析功能主要是顯示數(shù)據(jù)加工處理或數(shù)據(jù)分析產(chǎn)品,功能界面包括流量估測、洪峰預(yù)測、水位流量時(shí)序圖、數(shù)據(jù)日?qǐng)?bào)表和月報(bào)表。流量估測和洪峰預(yù)測數(shù)據(jù)疊加到百度地圖上顯示,水位流量時(shí)序圖采用ECharts圖表庫中折線圖。日?qǐng)?bào)表和數(shù)據(jù)月報(bào)表采用圖表控件以表格的方式顯示。
3.3? 預(yù)警預(yù)報(bào)
預(yù)警預(yù)報(bào)功能主要是顯示氣象服務(wù)產(chǎn)品,如圖8所示,包括常規(guī)天氣預(yù)報(bào)、重要天氣預(yù)報(bào)、氣象預(yù)警、周天氣預(yù)報(bào)、月天氣預(yù)報(bào)、降水天氣預(yù)報(bào)等。所有產(chǎn)品通過管理員進(jìn)入后臺(tái)后上傳Word文件或PDF格式文件,在用戶界面中以PDF文件格式顯示,方便用戶查看。系統(tǒng)同時(shí)對(duì)新上傳的天氣預(yù)警預(yù)報(bào)進(jìn)行語音提示,當(dāng)用戶登錄時(shí),提醒用戶及時(shí)查看。預(yù)警預(yù)報(bào)功能還集成氣象雷達(dá)回波圖動(dòng)畫顯示和氣象衛(wèi)星云圖顯示功能。
3.4? 調(diào)度建議
調(diào)度建議功能是系統(tǒng)最主要的功能之一,主要是在百度地圖上顯示電站水庫的當(dāng)前水位高度、入庫流量、蓄水量、剩余庫容、未來24 h、48 h和72 h過程面雨量、補(bǔ)給量、產(chǎn)流量、水庫安全調(diào)度及發(fā)電調(diào)度建議等,為三板溪電站提供科學(xué)的生產(chǎn)調(diào)度建議。
4? 結(jié)? 論
利用百度地圖作為底圖,采用Asp.net開發(fā)了基于WebGis的三板溪電站雨洪監(jiān)測預(yù)報(bào)綜合服務(wù)系統(tǒng),實(shí)現(xiàn)對(duì)氣象水文數(shù)據(jù)實(shí)時(shí)監(jiān)測和數(shù)據(jù)分析、預(yù)警預(yù)報(bào),提出科學(xué)的生產(chǎn)調(diào)度建議等功能。系統(tǒng)運(yùn)行一年來,解決了用戶的業(yè)務(wù)需求,得到了用戶的好評(píng),為三板溪電站水庫汛期安全度汛和電力生產(chǎn)優(yōu)化調(diào)度提供了重要的科學(xué)參考依據(jù)。
參考文獻(xiàn):
[1] 秦昊,王立海,陳瑜彬,等.長江流域水文氣象信息服務(wù)體系設(shè)計(jì)與實(shí)踐 [J].水利信息化,2022(2):71-77.
[2] 何清芳,肖秀珠,江帆,等.龍巖市水庫雨洪風(fēng)險(xiǎn)預(yù)警平臺(tái)設(shè)計(jì) [J].水利科技,2021(3):12-16.
[3] 易香妤,徐衛(wèi)立,李波.三峽梯調(diào)氣象業(yè)務(wù)系統(tǒng)升級(jí)改造研究 [J].水利水電快報(bào),2022,43(10):99-102.
[4] 王偉,李俊徽,張鋒,等.基于WebGIS的水庫氣象服務(wù)平臺(tái)的實(shí)現(xiàn) [J].計(jì)算機(jī)與網(wǎng)絡(luò),2020,46(3):61-64.
[5] 百度.百度地圖開放平臺(tái) [EB/OL].[2022-12-03].https://lbsyun.baidu.com/.
[6] Apache ECharts.快速上手 [EB/OL].[2022-12-03].https://echarts.apache.org/handbook/zh/get-started/.
作者簡介:袁芳菊(1982—),女,侗族,貴州天柱人,工程師,本科,研究方向:專業(yè)氣象服務(wù);通訊作者:楊勝忠(1980—),男,苗族,貴州麻江人,高級(jí)工程師,本科,研究方向:氣象服務(wù)。