陳立華,滕 翔,嚴 誠,黃舒萍,甘富萬
(1.廣西大學土木建筑工程學院,南寧 530004;2. 廣西防災減災與工程安全重點實驗室,南寧 530004;3. 廣西大學工程防災與結構安全教育部重點實驗室,南寧 530004)
水資源優化調度模型的基礎工作之一是構建水資源優化調度網絡圖[1]。水資源優化調度網絡圖具有普適通用性,能起到簡化流域系統、降低難度、減少重復工作量的作用[2],因此將其應用于流域水系系統,能清晰的得到流域時空分布信息,且能夠充分表現河網的層次關系且便于計算機實現,對流域適應性強。
任洪玉等[3]利用Arc/Info基于DEM 水文分析生成流域圖和河網圖后,根據流域和河段的對應關系,人工進行流域拓撲關系的建立;劉先龍等[4]基于該方法將河段看作節點,將河段的拓撲關系看作節點的連接邊,從而利用ArcGIS圖表達河網結構;雷曉輝等以DEM為基礎數據利用ArcGIS開展海河流域劃分研究[5];此類方法雖能構建流域的拓撲關系,但形成的調度網絡圖是靜態的,且系統針對性較強,難以適應調度程序動態變化的需求。唐勇等[6]提出了一個分析流域洪水計算的拓撲分析法,此方法的核心為通過建立流域概化圖,以深度優先遍歷的遞歸原理為基礎,采用可視化編程技術,實現流域拓撲的建立;陳玉芬等[7]運用此方法基于計算機圖論的節點連接表描述各水源地之間的邏輯聯系;此種方法能較好地建立流域拓撲關系,搜索精確,但搜索量相對較低,更適用于中小型流域。魏傳江等[8]詳細論述了水資源系統網絡圖的基本原理,提出繪制水資源系統網絡圖的基礎是水量平衡原理,并針對水資源配置供需平衡分析和耗水平衡分析,將經濟、生態環境、水資源系統簡化和抽象為節點、計算單元水傳輸系統、流域單元水傳輸系統三類元素,并進行了實例應用[9,10]。
西江流域是一個需同時滿足防洪、發電、生態等各類調度目標的復雜流域系統,構建水資源調度系統網絡圖是解決不同調度目標之間的統籌協調問題的關鍵基礎工作。因此,針對西江流域構建水資源優化調度網絡圖,主要以點、線兩大要素構成各個水庫、水文站、控制斷面及河段邊線之間的網絡圖形,利用庫表結構設計來存儲節點與邊線信息,并采用遍歷關聯法識別各要素之間拓撲關系,基于unity3D平臺動態繪制水網圖,形成以西江流域為基礎的水資源優化調度網絡圖。
(1)將流域內的骨干水庫群、水文站點、控制斷面及河段邊線概化和抽象為由點、線組成的水網拓撲圖,該拓撲圖需滿足一個條件:即每個節點只能連接一個下游節點,而一個節點會有一個或多個上游節點,使得拓撲圖以直觀的方式展示流域內的基礎信息。
(2)數據庫結構設計時,通過關聯屬性字段來實現節點、河段邊線庫表之間的相互關聯,從而構成完整的流域水資源優化調度網絡圖的數據庫表結構;并采用遍歷關聯法,即對各河段邊線的匯出節點及匯入節點進行遍歷篩選,若某一河段的匯出節點正好等于另一河段的匯入節點,則兩條河段邊線構成上下游關系,依據這一方法可確定流域內各河段邊線之間的相互關聯;最后基于unity3D平臺動態繪制西江流域水資源優化調度網絡圖。其設計流程圖如1所示。

圖1 網絡圖設計流程圖Fig.1 Network diagram design flow chart
水資源優化調度網絡圖的庫表結構設計是在網絡圖繪制的基礎上,將各個節點及河段信息反映在數據結構中。節點信息主要包括水利工程節點、控制斷面節點及水文站點,為將這些節點信息存儲入數據結構中,需要建立節點屬性表,河流需要建立河段邊線表,兩種屬性表一般用屬性字段來描述要素的本身性質。
流域水文的點線要素屬性表主要是通過河段邊線作為橋梁連接的,將它分別與水庫工程節點、控制斷面節點、水文站點進行關聯,即可把流域內不同的水文要素間接地關聯在一起,以便構建出不同類型要素之間的拓撲關系,數據庫表關聯字段結構如圖2所示。

圖2 數據庫庫表關聯字段結構圖Fig.2 Database tables associated field structure
具體來說,圖2中河段邊線的匯入節點(F-node)和匯出節點(T-node)所記錄的是河段邊線端點,也就是水文節點的唯一標識碼,可以是水庫工程(RESVOIR)、水文測站(STNM)和控制斷面(XSNM)。流域上以水流流向來確定水流的匯流方向,分別以匯入河段邊線(RV-in)和匯出河段邊線(RV-out)來記錄,記錄該河段的唯一標識碼(RVNM)。
根據設計的庫表結構,采用以下規則確定節點間的拓撲排序:根據前文圖2所知,河流的匯流關系是通過各河段邊線的匯入節點(F-node)和匯出節點(T-node)屬性來確定的,通過這一匯流規則,對每一條河段進行判斷,即可確定流域的匯流關系。具體來說,將按照以下步驟確定河段的匯流關系,其遍歷關聯法流程圖如圖3所示。

圖3 遍歷關聯法流程圖Fig.3 Traverse the correlation method of flow chart
(1)在確定匯流關系前,首先要對設計的數據庫庫表進行調用,可用MySqlConnection調用數據庫中水文節點及河段邊數信息,用receiveMessage()獲取數據庫信息函數。
(2)定義公共類public class getMessage,公共類中的成員表包括:水庫節點數據表、水文站及斷面節點數據表、河段邊線數據及水庫類別數據表;并用狀態變量數組ComputerOrderState(i)記錄第i河段是否已經確定了匯流的順序,其狀態設置TURE
和FALSE,TURE表示已經確定了順序,FALSE表示未確定順序。
(3)確定河段順序:定義整型i、j,對所有河段進行循環(For i=0 To n)、(For j=0 To n),依次對匯入河段數(branch)為0,1,2,3,4,5的河段進行判斷,如branch為0的河段即為初始河段,branch為2即為兩條branch為1的河段的匯入河段,branch為3、4、5河段以此類推;若同為branch為1的河段,第i個河段RVNum(i)的匯出節點(T-node)若為第j個河段RVNum(j)的匯入節點(F-node),即RVNum(i).T-node =RVNum(j).F-node,則第i個河段RVNum(i)的下游河段(RV-out)是第j個河段RVNum(j)的唯一標識碼(RVNM),此時狀態變為TRUE,并用Index(Index∈[1,n])來表示下一個要確定的河段,賦初值為1,設置狀態變量數組ComputerOrderState(i)=Index,并讓Index加1,再次重復上述循環,若狀態為TRUE,則Index再加1。
(4)判斷Index總數是否與河段數相等,若滿足條件即可退出循環,若不滿足即繼續從第三步繼續循環,直至滿足條件。
基于unity3D平臺將線段與節點依次顯示,以西江流域為例,其主要步驟為:
(1)定義開始面板public GameObject mainImage,面板中包括okButton(開始)與exitButton(退出),其運行結果如圖4(a)所示;定義數據顯示面板public GameObject dataImage,面板中包括Image[](圖形)與Text[](數據)。
(2)逐次顯示河段邊線for(int i = 0; i < manyRiver.Length; i++),其運行結果如圖4(b)所示;逐次顯示水庫工程節點for(int i = 0; i < 95; i++),給95個水庫工程節點替換顏色image[i].sprite = ABCDlist[i].ToString(),其運行結果如圖4(c)所示;逐次顯示水文站網節點for(int i = 0; i < 70; i++),其運行結果如圖4(d)所示。
(3)面向西江流域水資源網絡圖構建,涉及眾多的水文節點及河段邊線。共包含95個水利樞紐(水庫及電站),其中18個年、季調節水庫、70水文站、21個防洪控制斷面、12個生態控制斷面,節點間實線為河段邊線。
通過以上步驟,可構建出西江流域優化調度網絡圖,為更清晰展示節點與河段關系和便于肉眼分析,對西江流域的右上角部分進行了放大,詳見圖5(a)。對桂江流域川江水庫嵌套一個DP動態規劃算法,以削峰最大準則對歷史一場洪水過程進行調洪演算,其計算結果詳見圖5(b)。


圖4 拓撲排序運行結果圖Fig.4 Topological sort run results

圖5 水庫調度運行結果圖Fig.5 Reservoir operation result diagram
按照表1的數據庫表結構存儲流域各河段的參數,然后將水庫的出庫流量以二維數組的方式存儲。從數據庫中提取各河段的起始節點F-node,終止節點T-node,流量比重因素X,傳播時間K,演算時段長度T,并通過以下公式計算各河段的C0,C1,C2:
(1)

表1 LJ_CC_MSJG_B(馬斯京根場次預報參數表)Tab.1 Table of forecast parameters for Muskingum field
根據調洪演算的水庫出流量數據Q[N,T],代入公式計算出的各河段的C0,C1,C2以及確定的節點間計算順序,即可進行馬斯京根河道演算,得到各河段出口的匯流量Qt+Δt。公式如下所示:
Qt+Δt=C0It+Δt+C1It+C2Qt
(2)
以川江至大榕江為例,其演算結果詳見圖6。

圖6 河道演算結果圖Fig.6 River course diagram
本文借鑒水資源系統網絡圖的思想,將水庫、電站、水文站、控制斷面等簡化和抽象為節點(點),河道簡化為河段邊線(線),對西江流域進行概化,運用遍歷關聯法識別節點及河段邊線間的拓撲關系,基于unity3d平臺動態繪制西江流域水資源優化調度網絡圖,并在水庫調度及河道演算中進行實例應用。該方法可自動生成的水資源優化調度網絡圖,能夠較真實地反映流域內的基礎信息,具有直觀、清晰、易懂、接近實際地理位置等優點,通過西江流域水資源優化調度網絡圖動態構建使水資源優化調度更趨于通用性和復用性。
□