紀 傳 波,周 建 中,馮 快 樂,張 余 龍
(1.華中科技大學 土木與水利工程學院,湖北 武漢 430074; 2.數字流域科學與技術湖北省重點實驗室,湖北 武漢 430074)
“數字流域”是由“數字地球”結合水文流域的概念衍生提出的,是水利管理現代化的一個重要組成部分,涉及到流域水文地理信息的查詢、顯示和多媒體輸出[1]。其研究內容是綜合處理流域的空間、地理、氣象、水文和歷史信息,應用模擬、顯示等技術手段,描述流域過去、現在和未來的各種行為,并為流域管理提供決策支持[2]。
發(fā)達國家“數字地球”研究起步相對較早,隨著計算機技術的逐步發(fā)展,基本實現了客戶端智能應用上的數字化、建模、系統仿真與虛擬現實。盡管如此,由于在不同國家和地區(qū)的水系河流差異性很大,且水文水資源數據完整性也不盡完善,流域水資源的現代化管理仍然沒有被系統化的提出。21世紀初,張勇傳院士在“數字地球”研究的基礎上,以水文流域為切入點,提出了“數字流域”概念[3]。在國內外研究學者不懈努力下,“數字流域”理論得到了長足發(fā)展,尤其是近年來水利信息化的快速推進,“互聯網+”理念也在不斷沖擊水利行業(yè),無疑更加需要將計算機新技術應用到數字流域的建設中來。
隨著遙感(RS)、地理信息系統(GIS)及全球定位系統(GPS)[4]三項技術的日益融合、完善和成熟,流域信息可以被有效且較完整地提取,再通過數據模擬計算,可以進一步對水情災情進行仿真推演,以達到及時處理、及時管理的目的[5-8]。但傳統的數字流域GIS應用系統可擴展性較差、難以跨平臺使用,使得流域水資源管理中專業(yè)化仿真需求無法得到有效滿足并投入實際使用?;诟咚儆嬎銠C網絡的高精度、高仿真度流域仿真平臺則成為了流域水資源管理的重要技術支撐,其支持跨地域、跨終端訪問的互聯特性使其在數字流域領域得到了廣泛的應用。然而,現有WebGIS仿真技術難以對多元且海量的地理信息及系統應用數據進行合理管理,無法發(fā)揮GIS結合專業(yè)化業(yè)務的重要仿真作用。為此,本文綜合水動力學、計算機圖形學、計算機網絡技術以及多媒體技術等多項技術,在客戶端層面上優(yōu)化流域仿真模式,設計系統架構,搭建了基于輕量級WebGIS技術的流域仿真平臺,實現了“數字流域”功能的高效呈現。本文重點圍繞水庫與河道模擬兩個流域仿真環(huán)節(jié)的模型建立與分析,以金沙江下游-三峽梯級水庫為研究對象,結合WebGIS技術對其相應的水庫及河道模擬仿真兩大模塊的業(yè)務需求進行設計與實現,探索并提出了計算機技術在水利信息化領域應用中流域虛擬仿真的多重應用場景功能方案,實現了庫群調度過程中河道沿程水面線和庫區(qū)淹沒實景的三維實時重現,構建了大規(guī)模、高集成度的數字化流域仿真平臺體系。
WebGIS技術,顧名思義,是GIS技術在Web端的應用,即網絡地理信息系統。它以計算機網絡為載體,整合傳統GIS數據和方法的技術,實現在Web客戶端的地理信息查詢、展示、編輯、管理與制圖輸出等工作任務[9-10],其基本原理如圖1所示。
圖1 WebGIS原理框架Fig.1 Principle architecture of WebGIS
WebGIS的數據及服務通信是基于Internet的,極大地方便了大流域范圍的信息傳輸及分布式應用,避免了以C/S架構執(zhí)行客戶端和服務端之間GIS交互的不便[11]。一方面隨著計算機前端技術的發(fā)展,以JavaScript語言為核心的WebGL編程模式使得二維屏幕能夠展示豐富圖形圖像,隨之涌現出了如Three.js、Cesium等優(yōu)秀開源的三維組件庫。Cesium將瓦片式的衛(wèi)星地圖及地形數據作為支撐,實現幾何圖形、建筑模型、區(qū)域渲染等信息的動態(tài)展示,在WebGIS中可以快速地構建三維地球并實現基本功能。另一方面GIS與WebGL技術的結合,顯著提升了水利領域虛擬仿真能力。然而,由于GIS信息的數據海量性與多維異構性,以及客戶端與Web服務器間網絡帶寬的限制,傳統的WebGIS平臺難以組建豐富的GIS基礎功能并合理構建流域仿真模式,且仿真渲染效率不高,系統難以管理維護。為此,以計算機三維地球仿真技術為核心,采用Cesium豐富的API(應用程序接口)在客戶端搭建輕量級WebGIS架構,直接讀取地理數據并快速渲染,同時將GIS數據與業(yè)務數據分布式存儲、多元化管理,實現流域水資源WebGIS系統三維仿真。圖2給出了流域仿真中涉及到的Cesium相關技術元素及相應渲染功能要求,該結構基本涵蓋仿真平臺的實現方式。該平臺的主要技術流程為:以瓦片地圖分布式貼圖及地形高程構建三維地球基礎,通過在場景內加入幾何、實體、模型,再加入時間控制以實現動畫和渲染,達到三維場景虛擬仿真目的。此外,通過客戶端交互還可進行數據的實時顯示,實現信息呈現方式的多元化。
圖2 Cesium視圖層技術結構Fig.2 View layer technology structure of Cesium
大型流域往往涵蓋大量的控制性水庫形成水庫群,使得徑流失去了原有的天然特性,改變了時空分布及水文要素規(guī)律。水庫模擬包括水文過程還原還現、庫群調度規(guī)則提取與庫群模擬調度等模塊,前兩者業(yè)務流程可簡單通過圖表展示實現,在此不予詳述。庫群模擬調度模型按照從上游到下游的方式,逐級模擬上游各個水庫的運行狀態(tài),再得到子流域出口斷面的流量過程,不僅可為河道模擬模型及庫群優(yōu)化調度模型提供邊界輸入,還可為分析上游水庫調蓄對下游重點水庫的影響提供參考。模擬模型的流程圖如圖3所示。
圖3 水庫群調度模擬流程圖Fig.3 Flow chart of reservoir group dispatch simulation
模擬過程需要的資料包括流域及水系拓撲圖、各水庫地理信息與運行參數、各水庫歷史水文數據等,經過模擬演算得到不同調度周期和尺度下水庫入出庫流量過程,并虛擬再現其場景。
在天然流域中,河水流動時空變化隨機,不易實現大流域范圍內的河道流態(tài)監(jiān)測與水資源管理。目前發(fā)展成熟的一維水動力數值模擬方法,可用于建立河道洪水演進模型,在一定的精度要求前提下,略去了復雜詳細的河道地形及水文資料,能夠有效地模擬徑流過程以及洪水傳播等水文變化,為流域水資源管理的進一步分析提供了基礎。
一維水動力數學模型以斷面積分的連續(xù)性方程、斷面平均的時均Navier-Stokes方程(即圣維南方程)為基礎,如式(1)和(2)所示。
(1)
(2)
式中:Q為流量,q為側向入流,A為過水面積,η為水位,R為水力半徑,n為曼寧系數,g為重力加速度,x為河道里程坐標,t為時間?;谝陨夏P?,針對研究流域枝狀河網,建立干流河段與支流河道的連接關系,對模型求解得到各河道沿程水面線及各斷面水位流量過程。
由以上流程可知,河道模擬過程需要的主要資料包括流域及水系拓撲圖、河流沿程斷面資料、河道地形資料、區(qū)間河網矢量數據、區(qū)間徑流水文數據、水文站與水電站水文數據等,經過模擬演算得到河道沿程水位及流量數據。
由2.1節(jié)與本節(jié)模型流程與分析資料,得到如表1所列的水庫及河道仿真設計資料匯總。
表1 流域仿真資料匯總Tab.1 Watershed simulation data summary
Cesium基本目標為實現三維地球渲染,將衛(wèi)星遙感影像文件發(fā)布為地圖服務后,直接加載到地球場景中使用,大視野的流域信息則以影像為載體進行展示。根據前述相關模型建立流程與資料,在研究流域實景影像的基礎上,對流域水文數據進行全范圍展示,并結合人機交互執(zhí)行相關業(yè)務流程,通過圖表、GIS要素、拓撲、動畫渲染等模式對水庫與河道模擬仿真方法進行設計。
流域范圍內,針對水資源管理與流域仿真,一般涵蓋的基本信息有:流域范圍、水系河流、水電站、水文站、水位站等,在WebGIS平臺下,各部分均可控制顯示與否,也可在不同的影像縮放級別下控制顯示效果,且能夠針對用戶需求更新數據(包括地理位置及其屬性)并實時同步存儲,這些無疑是流域基礎信息管理的重要組成部分。在以上基本的流域地理要素基礎上,需輔以其相關屬性來豐富功能與展示效果,提供給用戶直觀的實時統計信息。其中流域范圍加入流域信息標簽,如流域名稱、流域氣象情況、流域范圍、涵蓋省份等;河流加入河流名、河流長度、河流級別等;站點加入名稱、流量、水位等信息。
此外,充分利用Cesium交互功能,結合Web開發(fā)中的圖表展示,還可集成更多的流域直觀信息,如流域各站點數據統計、流域水雨情過程分析等。經過影像、拓撲圖層、數據標簽、交互操作、基本圖表等內容的整合疊加,實現流域全信息沉浸式再現及流域模擬仿真全流程展示。與傳統GIS仿真應用不同,流域仿真輕量級WebGIS平臺基礎數據管理與場景渲染的程序執(zhí)行機制如下:① 地理數據(包括地理要素Shp數據等)以文件形式存儲,客戶端對Shp數據直接解析并渲染到視圖;② 客戶端調用業(yè)務數據服務,獲取流域水文信息并展示;③ 用戶基于仿真視圖編輯更改地理要素,客戶端解析修改并更新Shp數據。
與3.1節(jié)中全信息平臺相類似,對其加入豐富的交互操作之后,則可進行水庫模擬仿真的流程設計。由于水庫模擬主要針對研究范圍內的各上游水庫,于是可通過操作指定子流域、徑流區(qū)間以及模擬水庫,添加后通過顏色或形態(tài)變化予以區(qū)分。模擬過程中,對相應的徑流數據進行實時更新展示,指示模擬進程與效果。例如,對金沙江中游梯級水庫群進行模擬時,點選金沙江中游流域范圍,視角跳轉,流域內水庫點(梨園、阿海、金安橋、龍開口、魯地拉、觀音巖)閃爍顯示,選擇模擬水庫后點高亮并彈出相關參數以供計算。模擬計算完成后,在模擬水庫位置三維展示其模擬運行結果,進而實現對下游水庫運行影響的分析。水庫模擬仿真架構流程如圖4所示。
圖4 水庫模擬仿真流程Fig.4 Reservoir simulation process
模擬完成后,還可對水庫進行三維展示,標識其模擬結果(即出庫流量)信息。此流程涉及到近景視圖的聚焦、三維模型加載與水域渲染等技術。其中建筑物的加載是輕量級WebGIS在三維仿真中比較重要的一環(huán),通過影像及地形數據的加載能夠基本實現實景三維效果。尤其是針對三維建筑物,采用Cesium提供的模型加載方案,不僅可以將流域水工建筑物三維模型數據轉換為GLTF或BGLTF數據后使用,也可以加載具有Json描述的模型數據文件。
對建筑物模型的加載,關鍵在于調整模型的相對大小以及其坐標位置。以三峽大壩為例,需精準地將三維模型加載到對應位置并與衛(wèi)星影像重合,同時契合地形高程。模型加載完成后,為增加其渲染效果,還需對大壩上下游水域按不同流速進行渲染。效果如圖5所示。
圖5 水庫近景情景模擬效果Fig.5 Reservoir close scene simulation renderings
河道仿真模擬的基礎為水動力學建模求解,依據河道仿真模擬展示需求,建模場景包括河道控制斷面地理坐標、剖面形狀、水位及流量等重要信息。河道模擬仿真的構建圍繞以上數據信息展開,形成模擬仿真計算、河道斷面GIS交互、斷面水位動態(tài)模擬、沿程水面線動態(tài)模擬等主要模擬場景。仿真流程設計如圖6所示。
圖6 河道模擬仿真架構Fig.6 River simulation architecture
在河道斷面GIS交互場景中數據量較大,一般將其數據信息存于數據庫中,由平臺向后臺服務發(fā)起請求以獲得使用。斷面水位動態(tài)模擬是在斷面剖面形狀的基礎上,以其剖面二維坐標點繪制斷面圖,再輔以實時水位繪制填充效果,跟隨模擬時間的變化實時變化水位值,實現斷面水位漲落的效果。沿程水面線動態(tài)模擬原理類似于斷面水位模擬,不同的是斷面形狀并非獲取所有斷面全部高程數據,而是獲取沿程所有斷面的高程最低點來構建沿程斷面縱切剖面形狀圖以模擬河床的二維效果,再繪制各個斷面相應水位的連線序列,實現沿程水面線效果。同時,模擬圖內還可根據控制斷面點號標注主要站點信息、根據水庫特征水位或其他信息標注特征線等。斷面水位動態(tài)模擬效果如圖7所示,沿程水面線模擬效果如圖8所示。
圖7 斷面水位動態(tài)模擬效果Fig.7 Dynamic simulation effect of section water level
圖8 沿程水面線模擬效果Fig.8 Simulation effect of water surface line along river
在水庫和河道模擬仿真設計基礎上,本文設計了河道洪水演進和庫區(qū)淹沒分析兩個專業(yè)化仿真業(yè)務,并將其分體系集成為流域仿真功能全信息平臺,實現了流域仿真中的水文水資源信息管理和水庫、河道模擬仿真模型計算功能。用戶可在客戶端GIS環(huán)境中流暢地瀏覽和查詢調度運行和流域水情災情仿真模擬結果。平臺架構如圖9所示。
圖9 流域仿真全信息平臺架構示意Fig.9 Architecture of full information platform in river basin simulation
配合業(yè)務設計架構,平臺代碼組織結構如圖10所示。
圖10 流域仿真平臺程序組織結構Fig.10 Program organization structure of river basin simulation platform
結合水庫模擬和河道模擬結果,可進一步進行河道洪水傳播與庫區(qū)淹沒分析等專業(yè)應用場景的構建,前者主要模擬展示場次洪水在全流域范圍內的傳播過程及流域各水庫調度過程,后者以移民線作為參考,實景分析流域模擬河道的淹沒情況并提供主要站點的預警信息。二者的配合使用,能夠有效地模擬流域范圍內洪水傳播、庫群調度過程、庫區(qū)淹沒等實際應用情景,為水庫調度運行過程中水情、災情處置提供指導。
河道洪水演進過程模擬是結合水庫模擬模型和河道模擬模型,將流域內某一場次洪水在關鍵河道(一般為研究河段)的傳播過程進行動態(tài)模擬,并同步展示傳播過程中水庫調度過程、沿程主要斷面水位和流量信息。模擬流程為:① 加載場次洪水模擬結果方案,將全河段干支流的流量過程動態(tài)顯示,以不同的顏色區(qū)分流量的大小,并通過效果圖顯示關鍵水庫的水位及出入庫流量過程;② 點擊河道上關注點,展示該河道斷面的流量信息,并以圖形展示其模擬時段流量過程。模擬效果如圖11所示,河道顏色深淺表示流量大小,且選取了斷面號為45和132兩個斷面作為觀測點查看其流量過程。
圖11 洪水演進場景效果Fig.11 Rendering of flood evolution scene
其中,河道由模擬河段所有斷面的區(qū)域面積構成,使用ArcGIS工具處理,主要流程如下:
(1) 將斷面坐標數據導入到ArcMap中,生成所有斷面左右岸點要素Shp數據;
(2) 依次分別連接所有斷面左右岸的點,生成斷面線Shp數據;
(3) 依據河流線圖層與衛(wèi)星影像底圖,手動勾繪概化河道左右岸線要素,并將研究河段首尾左右岸連接,使得河段能夠形成閉合面要素;
(4) 將所有斷面線要素延伸至概化河道左右岸邊界,一一生成斷面區(qū)域封閉線要素;
(5) 線要素轉換為面要素,生成所有斷面區(qū)域面Shp數據;
(6) 依次檢查所有斷面屬性中編號是否正確,若有誤則修正。
庫區(qū)淹沒分析主要針對不同河道模擬邊界輸入情景、水庫壩前不同水位及上游來水條件下,庫區(qū)河道沿程淹沒情況,并與沿程移民遷移線進行對比分析,提供類似于河道模擬功能中沿程水面線查看的方式和水情預警,用于專業(yè)淹沒場景應用分析。模擬流程為:① 加載庫區(qū)全河道斷面水位數據,根據水位高度繪制斷面區(qū)域水域;② 根據關鍵站點斷面位置求取水位與移民線差值,生成水位示意標簽;③ 依照安全水位限度要求,更新所有站點標簽顏色,用不同顏色區(qū)分水情風險。
其中,河道斷面Shp數據處理與4.1節(jié)處理流程基本類似,不同之處在于需進一步將各個斷面區(qū)域的邊界連接點只保留四邊形4個頂點,并對邊界上下游關系進行調整,便于水域渲染時進行區(qū)域繪制,調整算法流程如圖12所示。水域渲染過程主要應用到Cesium內置的Primitive幾何對象,設置水紋波動幅度、波動頻率以及波紋數量為紋理動態(tài)地添加時鐘參數,以實現水面動態(tài)波紋效果。此外,由于移民線數據通常只提供庫尾沿程部分站點位置的移民線數據值,因此移民線的Shp數據需通過地形等高線進行提取,提取流程如圖13所示。當然,該提取方法存在一定誤差,在各站點等高線連接環(huán)節(jié)產生,由已知站點間距決定誤差大小。且在數據加載時,為避免折點過多降低加載效率以及渲染性能,采取了每隔10個點取一個數據的方式進行處理。實踐證明,對于長河道而言,上述二者對仿真效果的影響可忽略不計。
全河段場景模擬效果如圖14所示,點擊站點標簽,可以縮放到當前站點視角,能夠細節(jié)化該站淹沒場景,如圖15所示。
圖14 庫區(qū)淹沒全河段概覽Fig.14 Overview of inundation of entire reach in the reservoir area
圖15 庫區(qū)淹沒分析站點近景圖Fig.15 The station close-up view in the reservoir area inundation analysis
本文以流域仿真中水庫模擬、河道模擬兩個環(huán)節(jié)作為核心業(yè)務,提出了輕量級WebGIS流域仿真平臺技術方案,解決了Web端仿真系統對龐雜GIS空間數據加載調用和管理維護的難題,合理地設計了流域仿真平臺的功能體系以及洪水演進模擬、庫區(qū)淹沒分析兩個專業(yè)功能場景,搭建了業(yè)務完善且性能突出的客戶端流域仿真平臺架構,并同步進行了編碼實現及仿真邏輯優(yōu)化,顯著提高了系統響應性能和用戶交互體驗。設計模式已經集成到長江三峽梯調中心“金沙江下游-三峽梯級電站水資源管理決策支持系統”并部署應用,通過專業(yè)且直觀的GIS操作體系頁面,為流域仿真的功能設計、架構體系、技術實現各個環(huán)節(jié)提供了參考。