袁芳菊 楊勝忠



摘? 要:百度地圖顯示速度快,界面清晰,接口功能豐富、交互性強,使用方便。文章根據三板溪水電站的業務需求,采用百度地圖作為底圖,調用JavaScript API GL開發接口,對三板溪電站雨洪監測預報綜合服務系統進行設計和研發。系統運行在Windows系統上,基于B/S模式,采用Asp.net開發,個性化百度地圖,并在上面疊加河網基礎信息、流域面和氣象水文監測數據,實現數據監測、數據分析、預警預報、生產調度建議等功能,為氣象水文服務地方經濟發展和防災減災提供系統平臺支撐。
關鍵詞:百度地圖;水庫;氣象;水文
中圖分類號:TP311.5 文獻標識碼:A? 文章編號: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? 引? 言
三板溪水電站位于貴州省黔東南苗族侗族自治州錦屏縣內,沅水干流河段清水江流域下游,是黔東南州有史以來投資最多、規模最大的水電站項目。電站總裝機容量100萬千
瓦,安裝4臺25萬千瓦混流式水輪發電機組,年發電量24.28億千瓦時,是國家西電東送“十五”重點工程。電站壩型為混凝面板堆石壩,壩址以上控制流域面積11 051 km2,水庫正常蓄水水位475.0 m,庫容40.94億立方米,蓄水深度185.5 m,積水面積79.56 km2。水庫的優化調度及安全度汛與氣象水文雨水情監測預報息息相關,精細化、準確高效的氣象水文專業服務產品和信息化的傳輸、呈現方式是提高優化水庫調度的關鍵因素。多數水電站和水庫均建設有自己的雨水情監測系統,并在系統的研究和開發上做了大量的工作。秦昊[1]等對長江流域水文氣象信息服務體系設計,何清芳[2]等對龍巖市水庫雨洪風險預警平臺設計開發,易香妤[3]等對三峽梯調氣象業務系統升級改造研究,王偉[4]等對基于WebGIS的水庫氣象服務平臺也有研究。每個水庫電站基于其各自的地理特性、水庫功能和使用習慣,對氣象水文專業服務產品的需求也略有不同。本文根據三板溪水電站的業務需求,對三板溪電站雨洪監測預報綜合服務系統進行研發,為氣象水文服務地方經濟發展和防災減災提供系統平臺支撐。
1? 設計原理
1.1? 系統框架
三板溪電站雨洪監測預報綜合服務系統的研發主要是用于指導三板溪電站電力生產、安全度汛和上下游生態環境保護的系統平臺。系統運行在windows系統上,基于B/S模式,采用Asp.net開發,主要涉及的開發語言有C#、html、Javascript、Ajax、jQuery等,數據庫采用ms SQL。底圖顯示主要是采用百度地圖,其原理是在百度地圖上疊加各類氣象水文信息,讓用戶可以交互操作,得到良好的呈現效果和使用。系統框架原理如圖1所示。
1.2? 數據庫
系統數據庫采用ms SQL,包括氣象水文站點信息表、分鐘數據表、小時數據表、日數據表、面雨量數據表、水位計算流量參數表、洪峰傳播參數表、氣象服務數據表、用戶數據表、分類數據表、日志表等,如圖2所示。數據來源于自建站點和氣象大數據云平臺·天擎。氣象大數據云平臺是利用大數據、云計算技術構建的集氣象數據的收集分發、加工處理、存儲管理、統計分析、共享服務和運行監控于一體的綜合數據業務支撐平臺,所有氣象數據匯交到氣象大數據云平臺質控后再抽取使用。
2? 關鍵技術
2.1? 百度地圖API
百度地圖[5]主要有七大功能與服務,分別是定位、地圖、軌跡、路線規劃、路況和搜索。在地圖上疊加氣象水文信息,采用百度地圖JavaScript API GL接口,它是一套由JavaScript語言編寫的應用程序接口,使用了WebGL對地圖、覆蓋物等進行渲染,支持3D視角展示地圖。開發者可以通過對JavaScript API GL接口的輕松調用,就能在網站中建立功能豐富、交互性強的地圖應用,同時支持PC端和移動端基于瀏覽器的地圖應用開發。JavaScript API GL提供的功能接口包括地圖展示、定位、覆蓋物、檢索、路線規劃等,適配多樣化的業務場景。在系統中,主要用到覆蓋物。即把氣象水文站點、監測數據等當成覆蓋物來處理,疊加到自定義的百度地圖上顯示出來。覆蓋物包括繪制點、線、面,文本標注、圖標展示、信息提示窗口等。
2. 2? 個性化地圖
加載百度地圖比較簡單,通過官方教程代碼,在html文件中,引入百度地圖API文件,然后創建地圖容器元素,再創建地圖實例,具體代碼如下所示:
var map = new BMapGL.Map("container")
地圖加載成功后,通過個性化地圖,實現對地圖進行個性化配置,使地圖更適宜電站用戶的使用需求。為了更清楚的展示水文和氣象監測站數據,將地圖中地名元素和路網元素消隱,只保留最基本的底圖。樣式配流程見圖3所示。
2.3? 流域底圖處理
系統主要為電站生產調度和安全度汛使用,因此,主要的顯示元素為流域面、站點圖標、監測數據標注等,如圖4所示。流域面及河網的提取采用貴州省DEM高程數據,應用ArcGis軟件和SWAT水文模型提取流域邊界和河網水系,再經過人工處理,生成SHP文件,再讀取經緯信息轉換成json文件。在百度地圖中使用多邊形Polygon的方法來添加流域面。代碼如下:
var polygon = new BMapGL.Polygon([
new BMapGL.Point(經度1,緯度1),
new BMapGL.Point(經度2,緯度2),
new BMapGL.Point(經度3,緯度3),
new BMapGL.Point(經度…,緯度…),
new BMapGL.Point(經度N,緯度N)
], {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polygon);
流域河網水系采用添加折線覆蓋物的方式重復添加,站點標志采用添加圖片的方式,顯示數據采用文本標注。
2.4? ECharts圖表庫
系統中對雨量水位關系圖和雨量流量關系圖采用ECharts圖表庫[6]。ECharts是一款基于JavaScript的數據可視化圖表庫,提供了常規的折線圖、柱狀圖、散點圖、餅圖、K線圖等,還提供了用于統計的盒形圖,用于地理數據可視化的地圖、熱力圖、線圖,用于關系數據可視化的關系圖、Treemap、旭日圖等,它功能強大,使用簡單,效果美觀。
3? 主要功能
系統由用戶界面和后臺管理兩部分組成,后臺管理主要用于上傳天氣預報信息,與用戶界面相對獨立,主要運行在內網上,互聯網無法訪問,增加了系統的安全性。用戶界面包括用戶登錄和功能模塊的顯示。功能模塊分四個部分,包括數據監測、數據分析、預測預報、調度建議。系統登錄界面如圖5所示。
3.1? 數據監測
實時監測功能主要是以百度地圖為底圖,在百度地圖上疊加流域面、河網以及站點信息、氣象水文要素,包括降水量、氣溫、水位高度等資料,水位顯示界面如圖6所示。點擊站點圖標,還可打開站點水位降水時序圖。實時監測主要功能界面有水位監測、綜合監測、面雨量監測、水位雨量時序圖。水位監測、綜合監測和面雨量監測數據疊加到百度地圖上顯示,水位雨量時序圖采用ECharts圖標控件中的折線圖和柱形圖組合圖,如圖7所示。
3.2? 數據分析
數據分析功能主要是顯示數據加工處理或數據分析產品,功能界面包括流量估測、洪峰預測、水位流量時序圖、數據日報表和月報表。流量估測和洪峰預測數據疊加到百度地圖上顯示,水位流量時序圖采用ECharts圖表庫中折線圖。日報表和數據月報表采用圖表控件以表格的方式顯示。
3.3? 預警預報
預警預報功能主要是顯示氣象服務產品,如圖8所示,包括常規天氣預報、重要天氣預報、氣象預警、周天氣預報、月天氣預報、降水天氣預報等。所有產品通過管理員進入后臺后上傳Word文件或PDF格式文件,在用戶界面中以PDF文件格式顯示,方便用戶查看。系統同時對新上傳的天氣預警預報進行語音提示,當用戶登錄時,提醒用戶及時查看。預警預報功能還集成氣象雷達回波圖動畫顯示和氣象衛星云圖顯示功能。
3.4? 調度建議
調度建議功能是系統最主要的功能之一,主要是在百度地圖上顯示電站水庫的當前水位高度、入庫流量、蓄水量、剩余庫容、未來24 h、48 h和72 h過程面雨量、補給量、產流量、水庫安全調度及發電調度建議等,為三板溪電站提供科學的生產調度建議。
4? 結? 論
利用百度地圖作為底圖,采用Asp.net開發了基于WebGis的三板溪電站雨洪監測預報綜合服務系統,實現對氣象水文數據實時監測和數據分析、預警預報,提出科學的生產調度建議等功能。系統運行一年來,解決了用戶的業務需求,得到了用戶的好評,為三板溪電站水庫汛期安全度汛和電力生產優化調度提供了重要的科學參考依據。
參考文獻:
[1] 秦昊,王立海,陳瑜彬,等.長江流域水文氣象信息服務體系設計與實踐 [J].水利信息化,2022(2):71-77.
[2] 何清芳,肖秀珠,江帆,等.龍巖市水庫雨洪風險預警平臺設計 [J].水利科技,2021(3):12-16.
[3] 易香妤,徐衛立,李波.三峽梯調氣象業務系統升級改造研究 [J].水利水電快報,2022,43(10):99-102.
[4] 王偉,李俊徽,張鋒,等.基于WebGIS的水庫氣象服務平臺的實現 [J].計算機與網絡,2020,46(3):61-64.
[5] 百度.百度地圖開放平臺 [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—),女,侗族,貴州天柱人,工程師,本科,研究方向:專業氣象服務;通訊作者:楊勝忠(1980—),男,苗族,貴州麻江人,高級工程師,本科,研究方向:氣象服務。