河道槽蓄量是指在某計算高程時,河道中水體的體積。河道槽蓄量計算是水文專業進行河道演變分析、流域開發、防洪調度及河道治理的一項重要工作.通過河道槽蓄量計算,可進一步得到河道沖淤量、河段平均沖淤厚度、槽蓄量高程曲線圖、槽蓄量沿程分布圖、沖淤量高程曲線圖、沖淤量沿程分布圖等。
常用的河道槽蓄量計算方法,主要有斷面地形法和數字高程模型法。斷面法是通過固定斷面地形觀測數據,利用數學上的梯形或截錐體積計算公式直接計算槽蓄量; 數字高程模型法是利用河道地形 DEM 進行分析,通過計算 DEM 每個三角形區域上的槽蓄量,然后求和,得到整個選定區域河道的槽蓄量。
現實世界中的河道水面往往是帶有比降( 落差)的,傳統的槽蓄量計算方法,存在計算精度低或只能計算水面不帶比降河道槽蓄量的缺點。對傳統的數字高程模型法進行改進,利用疊置分析的方法,即模擬出帶有比降的水面 DEM,通過與河道地形 DEM 進行疊置分析,計算河道槽蓄量。此方法可以彌補傳統方法的不足。
在河道槽蓄量計算方法研究上,學者多是注重理論方面的研究,詳見參考文獻[2 -8].本文對傳統的算法進行分析和改進,主要研究河道槽蓄量計算系統的設計與實現,更多地關注實際應用。
1 傳統方法
河道槽蓄量計算的傳統方法有斷面地形法和數字高程模型法,下文分別介紹這幾種方法的原理及優缺點。
1. 1 斷面地形法
( 1) 基本原理。斷面地形法是人為地將測量河道劃分為若干河道橫斷面( 如圖 1) ,這些斷面的位置確定后,基本上是不變的,故稱為固定斷面。確定固定斷面便于將不同測次測量的斷面地形進行套匯以發現斷面的形變,進一步分析斷面處河道的沖淤情況以及斷面平均沖淤厚度等信息?!緢D1】
斷面地形法河道槽蓄量計算是根據河道水下實測地形切割斷面,按幾何法直接計算河道泥沙的槽蓄量。
根據某水面線下沿程斷面面積( Ai、Aj) 、斷面間距( Lij) 計算兩斷面間槽蓄量 ΔVi,各斷面間槽蓄量之和即為河段槽蓄量 V .梯形公式為:【1】
( 2) 優缺點。斷面地形法的優點在于只需要測量河道各固定斷面,測量的成果不需要大量人工處理 ,因此無論是外業還是內業,工作量都比較少; 斷面地形法面積和體積計算有精確的數學公式,算法比較簡單,發展相對成熟,易于編程實現.該方法最大的缺點在于槽蓄量計算結果的精度受到河道斷面切割密度的制約,即用有限的河道斷面擬合現實中的河道,同一河段斷面個數越多,擬合結果越接近真實的河道地形,但斷面個數的增加必然增加斷面測量的工作量。
1. 2 數字高程模型法
( 1) 基本原理。根據所需計算河道的數字高程模型,累積計算構成 TIN 的每個三角形小區域上的槽蓄量,即為河道的總槽蓄量.圖 2 為三角形區域上的槽蓄量計算示意圖?!緢D2】
圖 2 中,設三角形的 3 個頂點為 A、B、C ,頂點三維坐標為( xa,ya,za) 、( xb,yb,zb) 、( xc,yc,zc) ,且 za≥ zb≥ zc,可通過排序得到如下假設。
設計算高程面為 z ,圖 2 中△ ABC 的邊 AB、BC、CA 對應的邊長分別為 c、a、b ,CA 邊上的高為 hb,三角形區域上的槽蓄量為 vol ,三角形面積為 SΔ,接觸表面積為 area,則槽蓄量計算方法如下:【3】
如果數字高程為 TIN( 不規則三角網) 模型,則直接采用上面的計算公式計算各三角形區域的槽蓄量,然后累加即為河道槽蓄量。如果數字高程模型為規則格網,在把每個格網分作兩個三角形后也可采用上面的計算公式計算槽蓄量.
( 2) 優缺點。① 能夠充分利用河道地形挖掘數據的深層信息,可以彌補斷面地形法對復雜河道地區計算精度低的缺點,同時該法可以計算絕對槽蓄量,彌補水沙平衡法不能計算絕對槽蓄量的缺陷; ② 計算結果能夠可視化,易于形成直觀認識,這也是水文與地理信息系統( GIS) 相結合,水文學上的一個新發展亮點; ③ 對于計算結果,能夠分析其細節,例如在某水位時,河道哪些區域被水淹沒,哪些區域為洲灘,各區域的水深情況等,通過分析,可以獲取更多的信息.
數字高程模型法的缺點是,數據的預處理比較復雜,傳統的河道地形圖多為 CAD 數據格式,要轉換為 TIN 或GRID,其步驟和過程比較麻煩。
2 改進的數字高程模型法
由數字高程模型法原理可以看出,在計算每個三角形上槽蓄量時,假定三角形上方的 Z 值即水位是一個確定的數,但實際中,當水面帶有比降時,Z 值是變化的,這種情況下,就不能單純地利用體積計算公式計算槽蓄量了,需要進行柵格的疊置分析,進而計算河道槽蓄量.
( 1) 帶有比降河道槽蓄量計算的基本思想。首先是模擬出帶有比降的水面,將其轉換為 GRID 數據,可以稱之為水面 DEM,將其與河道地形 DEM 進行疊置分析。具體為求河道DEM與水面DEM的差值,得到疊置結果 DEM.對結果 DEM 的格網值進行分析,當 DEM 某格網值為負時,說明對應位置處水面高程大于河道高程,格網值即為水深值; 反之,格網值為河道地形高出于水面的值,此處為洲灘或河岸。求出結果 DEM 中格網值為負值的每個格網上的槽蓄量( 格網面積與水深值的乘積) ,然后求和,即為整個所求河段區域的槽蓄量。
( 2) 帶有比降的水面模擬。要模擬帶有比降的水面,已知數據為河道上一系列固定斷面的水位值,上斷面水位值大于下斷面水位值。本算法需要知道水邊線,但是沿著河道的各處水位值很難確定,通常用河道邊界來代替。利用上下斷面水面高程值,采用線性插值求出河道邊界線( 邊界線為折線,由一系列點連接構成) 上每個點的高程值。然后利用這一系列的高程點及河道邊界線,生成水面地形 DEM.
( 3) 通過疊置分析計算河道槽蓄量。將水面DEM 與河道地形 DEM 進行疊置分析,即求河道 DEM與水面 DEM 的差值,得到疊置結果 DEM( 如圖 3) .
計算疊置分析結果 DEM 中格網值為負值的每個格網上的槽蓄量( 格網面積與水深值的乘積) ,然后求和,即為整個所求河段區域的槽蓄量。
3 功能設計及實現
3. 1 斷面地形法的功能及實現
斷面地形法功能主要包括斷面選擇、斷面排序、輸入上下斷面計算水位、計算結果顯示等,其程序界面設計如圖 4.【圖4】
( 1) 斷面選擇。按照工程( 斷面所屬水電站) 、項目( 斷面所屬觀測項目) 、河段( 斷面所屬河段) 等依次篩選。程序具有聯動功能,即工程下拉框選擇完成后,項目下拉框中只出現屬于此工程的項目,以此類推,逐步細化到需要計算槽蓄量河道的上下斷面。
在斷面地形數據表中,一個斷面往往有多個時期的斷面地形測量值,所以還要選擇測次信息,以便對應到一個時期的觀測斷面值。
上下斷面按照斷面標題表中斷面至參考點的距離進行排序,參考點可以選擇靠近河口的某個點,以便于測量其與斷面的距離。通過斷面排序,使斷面按照從上游到下游的順序依次排列。上下斷面選擇也具有聯動功能,上斷面選擇后,下斷面下拉框中只出現上斷面下游水域的斷面。上下斷面選擇完成后,系統將直接從斷面地形數據表中,查詢出上下斷面地形高程的最大最小值,便于用戶輸入上下斷面的計算水位。
( 2) 計算水位。計算水位的輸入有兩種方式: ①直接在計算水位文本框中輸入,輸入時注意斷面水位值要在其斷面最大最小高程之間,否則超出斷面地形范圍,計算無意義; ② 直接讀取計算水位文件,計算水位文件中含有斷面名及斷面水位值,斷面按照從上游到下游的順序依次排列。
( 3) 槽蓄量計算。按照用戶選擇的參數,查詢數據庫中斷面標題表和斷面地形表,計算出上斷面面積、下斷面面積、斷面間距,然后計算出兩相鄰斷面間的槽蓄量,最后將所有相鄰斷面間的槽蓄量求和,即獲得河道的槽蓄量。
3. 2 數字高程模型法的功能及實現
數字高程模型法計算要分兩種情況: ① 上下斷面水位高程相同,即水面不帶有比降的情況,此種情況下采用本文 1. 2 節所述傳統的 DEM 法; ② 上下斷面水位高程不同時,即水面帶有比降的情況,此時采用本文第 2 節所述的改進的 DEM 法,即通過疊置分析的方法計算河道槽蓄量。
數字高程模型法程序的主要功能包括 DEM 范圍選擇,DEM 的最大最小高程獲取,輸入計算水位,結果顯示等。此外還應該包括與專題電子地圖數據的互動等功能。程序界面設計如圖 5.【圖5】
( 1) DEM 選擇。按照工程( DEM 所屬水電站) 、項目( DEM 所屬的觀測項目) 、測次的順序依次選擇,選擇完成后,程序將從數據庫中讀取相應的DEM 數據。程序將自動計算出此 DEM 數據的格網間隔,用戶可以對格網間隔重新設置,但不得小于原格網間隔。格網間隔越小,數據精度越高,但程序的計算量越大,程序運行時間越長; 反之亦然。
( 2) DEM 的范圍選擇。DEM 數據給出的是整個河道或較長的一段河道,在實際計算中,往往需要分析的是若干個斷面間的一段河道或一個區域的河道。所以要對參加計算的 DEM 范圍進行繪制。完成范圍繪制后,裁剪出繪制范圍內的 DEM 數據,以此 DEM 為基礎進行槽蓄量計算。
針對 DEM 的范圍繪制,程序設計了 3 種方法。
方法 1.在專題電子地圖界面上選擇斷面線,程序自動將斷面排序以篩選出上下斷面。然后利用上下斷面線( 或斷面線延長線) 與河道邊界線相交,構成DEM 裁剪范圍,如圖 6 所示?!緢D6】
方法 2.利用鼠標在圖上繪制矩形或多邊形,以此作為裁剪范圍,如圖 7 所示為多邊形范圍。
方法 3.文件讀取 DEM 范圍,范圍文件有兩種方式: ① 由一系列按照順序排列的點的二維坐標構成,程序利用這一系列有序的坐標點,繪制出 DEM 范圍;② 由一系列按順序排列的斷面構成,斷面包括斷面名和斷面處水位兩個參數?!緢D7】
( 3) 水位高程輸入。DEM 數據及范圍選擇完成后,程序會計算出選擇范圍內 DEM 數據的最大高程和最小高程,水位的輸入要分 3 種情況; ① 當 DEM 范圍選擇為圖上選擇斷面線時,需要輸入上下斷面水位高程,上下斷面水位高程應該介于 DEM 最大最小高程之間。② 當 DEM 范圍選擇為手工繪制的矩形或多邊形區域時,只需要輸入計算水位,此種情況下,只能計算水面不帶有比降的河道槽蓄量。③ 當 DEM 范圍選擇為文件讀取時,如果文件內容為二維坐標串,輸入計算水位,此時只能計算水面不帶有比降的河道槽蓄量; 當文件內容為斷面及斷面水位時,此時不需要輸入計算水位,因為計算水位信息已經包含在文件內容中。
( 4) 槽蓄量計算。槽蓄量計算分水面帶有比降和水面不帶有比降兩種方式。
當輸入水位值為上下斷面水位高程且上下斷面水位值不同時,計算值為帶有比降的河道槽蓄量。DEM范圍選擇為斷面線時即為此種情況。此時,算法采用改進的數字高程模型算法,如本文第 2 節所述。
當水面不帶有比降,即認為水面為平面時,計算值為水面不帶比降的河道槽蓄量。DEM 選擇范圍為矩形或多邊形時,適用此種情況; DEM 選擇范圍為從文件讀取,文件內容為點坐標串時,也適用此種情況。此時,算法采用傳統的數字高程模型法。
當 DEM 選擇范圍為文件讀取,文件內容為斷面名稱及斷面水位時,可計算兩相鄰斷面求取槽蓄量,然后求和。相鄰斷面線水位高程相同時,采用算法傳統的河道槽蓄量計算法,反之,采用改進的數字高程模型法。計算流程見圖 8.【圖8】
4 結 語
河道槽蓄量計算的傳統方法斷面地形法和數字高程模型法各有優缺點。對數字高程法進行改進,即利用疊置分析的方法可以彌補傳統數字高程模型法的不足,可以用于計算水面帶有比降的河道槽蓄量。經過對傳統方法進行分析,對河道槽蓄量計算系統進行功能設計和實現,可以較好地完成計算工作,功能設計便于用戶操作,極大地提高了作業效率。系統的不足之處在于使用改進的數字高程模型法時,以河道邊界線代替水邊線,實現水面地形的模擬,對計算精度具有一定的影響,下一步可以考慮如何從河道 DEM 數據中提取水邊線,用實際的水邊線來模擬帶有比降的水面形狀,進一步提高河道槽蓄量計算的精度。
參考文獻:
[1] 王亞紅,呂明輝。 水文學概 論[M]. 北 京: 北 京 大 學 出 版,2007.
[2] 徐高洪,張新田,李中平,等。 長江干流宜昌至沙市河段地形法槽蓄量分析研究[J]. 水文,2001,26( 6) :14 -17.
[3] 程龍淵,弓增喜,和瑞麗,等。 沙量平衡法計算沖淤量的不確定度 -蘭州到花園口河道[J]. 泥沙研究,2001,( 1) :70 -76.
[4] 王強。 GIS 在河道沖淤及河床演變分析中的應用[D]. 武漢: 武漢大學,2004.
[5] 黃志文,程亮,葛小博。 基于 DEM技術的水下泥沙沖淤分析[J]. 黑龍江水專學報,2008,35( 1) : 22 -25.
[6] 張夏林,翁正平,田宜平。 基于DEM 模型的河道槽蓄量計算方法與結果可視化[J]. 長江科學院院報,2006,23( 2) :13 -16.
[7] 陳榮,張鷹。 基于數字高程模型的長江口北港多年槽蓄量變化及可視化研究[J]. 水運工程,2007,( 3) :8 -11.
[8] 黃志文。 基于 GIS 技術的泥沙沖淤及河床演變分析[D]. 西安: 西安理工大學,2006.
[9] 李志林,朱慶。 數字高程模型[M]. 武漢: 武漢測繪科技大學出版社,2000.
[10] 周啟鳴,劉學軍。 數字地形分析[M]. 北京: 科學出版社,2006.