王元超
(中國電建集團西北勘測設計研究院有限公司,西安 710065)
水庫庫容是水利水電工程設計和運營管理的重要參數(shù)[1]。進行庫區(qū)泥沙沖淤變化、庫岸變化、庫容變化等監(jiān)測,可為電站優(yōu)化水庫調(diào)度運行方式提供依據(jù)。在實際應用中,通常要對同一水域計算不同水位對應的庫容。常用水庫庫容計算方法有數(shù)字高程模型(DEM)法、等高線法、斷面法、方格網(wǎng)法等[2]。若已知水下地形的點云數(shù)據(jù)或者數(shù)字線劃圖等方便生成DEM的數(shù)據(jù),優(yōu)先選取DEM法。DEM法雖適用于任何情形的水下地形,但受數(shù)據(jù)源、施工設計階段、工期、成本等因素限制,斷面法仍有較多應用。斷面法是一種常規(guī)的計算方法,主要適用于典型的河槽式河流[3]。其計算原理決定了它在庫容計算時會有一定程度的精度損失[4],但仍可作為重要的參考依據(jù)。
AutoCAD作為繪圖工具,用戶界面良好,可通過交互菜單或命令行方式便可以進行各種操作,但其統(tǒng)計功能較弱。GIS的最大優(yōu)勢就是空間分析,如實現(xiàn)不同圖層的疊加分析,使用空間關(guān)系連接不同要素的屬性信息,使用字段掛接屬性表等功能。GIS數(shù)據(jù)包含圖形數(shù)據(jù)和屬性數(shù)據(jù)兩部分,不僅表達空間實體的位置和幾何形狀,同時記錄空間實體對應的屬性。Excel是大家常用的辦公軟件,主要用于對數(shù)據(jù)的處理、統(tǒng)計分析與計算、簡單的數(shù)據(jù)庫管理以及繪制圖表等功能,還能利用Visual Basic for Application(VBA)語言開發(fā)面向特定應用的程序。Excel既可處理文字信息如數(shù)據(jù)透視表,也可整理數(shù)據(jù)信息,如:進行方差分析、回歸等。
傳統(tǒng)的實現(xiàn)方法中,斷面法中的面積參數(shù)需通過多次量測,針對不同高程的庫容計算繁瑣,效率較低[5]。本文充分利用GIS的空間疊加分析、屬性表連接、CAD輔助制圖、Excel快速編輯及統(tǒng)計,根據(jù)斷面法原理提出數(shù)據(jù)處理方法,并通過水庫庫容計算案例驗證,實現(xiàn)了斷面法水庫庫容的高效計算。
斷面法是沿河道布設一系列垂直于河道的橫斷面,將河道分割為n段,計算出每個橫斷面的面積s,根據(jù)相鄰兩斷面的面積及間距d,算出每相鄰兩斷面間的體積,然后各體積求和,得出該處水域的庫容量[6-7]。
測量中斷面法常用的庫容計算公式有2種:梯形公式和截錐公式。
梯形公式,又叫一般計算公式,具體公式為:
(1)
截錐公式,稱之為嚴密計算公式,具體公式為:
(2)
式中:V為庫容,m3;di為第i個斷面到第i+1個斷面間的距離,m;n為分段個數(shù);Si為第i個斷面的面積,m2。
斷面法主要是根據(jù)沿水庫河道布設代表性的橫斷面,通過測量橫斷面面積和斷面間的距離來計算庫容的一種方法,其精度與斷面布設的間距、方向及斷面的代表性相關(guān)。不同工程階段、流域的不同部位對斷面的測量比例尺和斷面間距要求不一樣,斷面的布設越合理,計算的結(jié)果越精確。尤其在河流彎曲多、比降大、兩岸經(jīng)濟價值較高、地物多的地方,其橫斷面應加密。一般來說,無論在哪個階段,橫斷面的測量比例應不低于1∶2000,斷面間距應能正確反映地表形狀、地物的變化。在不同的工程階段和測區(qū)條件(回水段、平水段、山區(qū)段、平原段等)下也不一樣。具體可見NB/T 35029-2014《水電工程測量規(guī)范》[8]。
斷面法計算水庫庫容的重點是過水面積的計算。通常情況下,同一處水域需要計算多個甚至數(shù)百個水位高程下的庫容,橫斷面也有幾十條,逐一計算所有橫斷面在每個水位下的面積值,工作量巨大。本文采用解析幾何法獲取斷面面積,利用GIS的空間疊加分析、屬性表連接等功能,同時借助CAD輔助制圖、Excel快速統(tǒng)計等功能實現(xiàn)斷面法庫容的批量高效計算,技術(shù)流程如圖1。

圖1 技術(shù)流程圖
2.1.1橫斷面表格的整理
橫斷面成果表中通常都包含累距和高程2個屬性[8],將其進行編輯,目的是一次性繪制出所有橫斷面線,且所有橫斷面線依次水平排列。以一種橫斷面表格格式為例,說明編輯方法。為方便讀者更好地理解整理思路,采用VBA實現(xiàn)格式的快速整理,效果及實現(xiàn)代碼見圖2(為更清楚地顯示斷面表格格式,對部分行進行了隱藏)。也可直接通過編輯公式實現(xiàn)格式的快速整理。
橫斷面測量成果表上有累距和高程2列,且每條橫斷面的累距值都是從0開始。為便于后期疊加分析,需將斷面平鋪開,操作如下:第1條橫斷面的累距列和高程列直接組合成(x,y)格式;第2條橫斷面的累距列統(tǒng)一加1個常數(shù)值a(說明:a值定義為上1條斷面的累距最大值加一固定的大于0的偏移常數(shù)),和高程列組合成(x,y)坐標格式;以此類推,依次完成所有斷面的編輯。不加常數(shù)進行制圖的效果如圖3(a),加常數(shù)調(diào)整后的效果如圖3(b),可見,調(diào)整后的斷面條理性和清晰度更強。

圖2 斷面格式及VBA實現(xiàn)編輯的方法圖

圖3 橫斷面展繪圖
2.1.2縱斷面的整理
斷面法計算庫容有一個重要的參數(shù)d,即相鄰兩斷面間的間距。我們只需要將縱斷面成果中的橫斷面號及累距稍作整理成如圖4所顯示的格式。

圖4 縱斷面整理格式效果圖
由于計算庫容的水位高程值通常較多,有規(guī)律的數(shù)值多使用快捷方式,對于特殊值手動插入,具體實現(xiàn)可根據(jù)個人習慣靈活改變。將涉及的所有水位按從高到低的順序編輯好后添加序號列屬性,值得注意的是序號的順序最終呈現(xiàn)的是反向排序,目的是便于后期高程屬性的掛接。同時,添加命令列,以C2為例,公式為“=”pline 0,“&B2&” 6500,“&B2&” “”,結(jié)果如圖5顯示。需要強調(diào)的是,6500為比最后一個斷面累距略大的值,圖1使用提示框進行了概略提示,也可手動翻到最后一條記錄進行查看為清晰的展示圖片,筆者只是代表性的計算幾個水位高程對應的庫容。此表中的“序號”用于2.5節(jié)中屬性掛接的連接字段。
復制斷面表格調(diào)整后的一列數(shù)據(jù),對應圖2中的F列,粘貼到CAD命令行,即可一次性按順序繪制出所有斷面線。復制圖5命令行對應的內(nèi)容,一次性實現(xiàn)所有相關(guān)水位高程的水平線。3根輔助線分別是把最低的水位線向下偏移任意值,確保和所有斷面線不相交。再將水平線的兩邊用線封閉。效果如圖6(為更好地展示效果,以兩條斷面為例,加粗線為輔助線)。

圖5 相關(guān)水位高程圖

圖6 CAD制圖效果圖
使用斷面線和計算時所用的最高水位線進行“要素轉(zhuǎn)面”操作,生成的面中無斷面號或者斷面順序等屬性,可使用“識別”工具將斷面線中的屬性信息進行連接。
“構(gòu)面2”添加的“高程”字段值可通過字段連接(圖5的“序號”列和系統(tǒng)生成的ID字段連接)將高程值賦予各面。賦值后標注系統(tǒng)ID字段和高程值顯示如圖7所示,可以看到ID值和圖5的序號列值一致。通過顯示能夠觀察到,若要獲取某一水位高程以下的面積,可以通過幾個面斑塊面積的累加獲得。

圖7 含高程標注圖
使用“相交”工具將2.4節(jié)中的2個面疊加分析,那么相交部分同時擁有“斷面順序”和“水位高程”屬性,便于后期統(tǒng)計分析。對處理后的圖層標注高程和斷面順序進行顯示,效果如圖8。可以看到經(jīng)過相交處理的圖斑同時具有2個圖層的信息。

圖8 相交處理效果圖
由于直接構(gòu)面計算的面積是各個分段的面積,使用數(shù)據(jù)透視表功能將表格快速整理成列是高程,行是斷面順序的格式,得出各分段對應的面積,截取部分統(tǒng)計結(jié)果如圖9。在該表格的基礎上使用簡單的公式編輯快速地批量計算各水平面以下的斷面總截面積,效果如圖10。

圖9 透視表統(tǒng)計各分段斷面面積效果圖

圖10 各水平面以下的斷面總截面積效果圖
在2.6計算的斷面面積基礎上,將斷面的間距粘貼到第一行,編輯公式快速求取庫容,效果如圖11,以截錐公式(2)為例,單元格R3對應公式為“(B3+C3+SQRT(B3*C3))*C$1/3”,單元格AF3對應公式為“SUM(R3∶AE3)”。整個過程只需編輯R3、AF3公式,其他均可自動填充),此處需要注意的重點是使用表格編輯右下角十字進行自動填充公式時一定要固定常數(shù),即兩相鄰斷面的距離。最后按要求整理成目標表格,進行曲線圖繪制等。

圖11 庫容計算結(jié)果圖
為驗證文中提出實現(xiàn)方法的可操作性,選取云南某水電站庫區(qū)為例進行計算。該庫區(qū)屬峽谷地貌,兩岸山坡坡度較陡,主河道長約20 km,支溝長度約為7 km,庫區(qū)既有實測斷面數(shù)據(jù),沿主河道布置43條橫斷面,支溝布置了12條橫斷面,同時有1∶2000的地形圖數(shù)據(jù)。采用公式(2)進行了斷面法庫容計算,計算水位高程從1 260.00~1 310.00 m,步長為2.00 m,水庫死水位1 303.00 m、正常蓄水位1 307.00 m、校核洪水位1 309.50 m。同時,為驗證該方法計算結(jié)果的可靠性,使用該庫區(qū)實測的地形圖數(shù)據(jù)采用DEM法(原理見文獻[9])進行了對比驗證。

表1 斷面法與DEM法在特定水位下庫容計算結(jié)果對比表

圖12 斷面法與DEM法水位-庫容關(guān)系示意圖
圖12顯示了本次斷面法與DEM法庫容計算對比,水庫水位大約在1 280.00 m以下庫容值較接近,表1統(tǒng)計顯示了特定水位處的庫容結(jié)果,較差占比都在3%左右,文中共計算25個水位的庫容值,整體較差較小,說明該庫區(qū)斷面的選取合理,庫容計算結(jié)果可靠。合理確定斷面的取向及間距是提高庫容計算精度的關(guān)鍵。若在規(guī)劃階段,沒有全區(qū)大比例尺地形數(shù)據(jù)時,可使用相對少量的斷面數(shù)據(jù),采用本文提出的計算方法快速實現(xiàn)不同水位的庫容計算。
本文介紹的實現(xiàn)方法中,在CAD輔助制圖環(huán)節(jié)有2點需要注意:第一,斷面線和其他線分層繪制,便于通過屬性選擇批量輸出成GIS格式;第二,要注意線的繪制順序,該繪制順序影響格式轉(zhuǎn)換后GIS要素類屬性表中的系統(tǒng)ID字段值,是后期批量賦值和屬性連接的關(guān)鍵所在。同時注意橫斷面表格的數(shù)據(jù)整理需要根據(jù)不同的斷面模板進行靈活調(diào)整,目的是整理成便于CAD制圖的“累距,高程”的坐標格式。該庫容計算方法可通過發(fā)揮不同軟件的優(yōu)勢,在無需編程的情況下,實現(xiàn)庫容的批量高效計算。本文結(jié)合樣例數(shù)據(jù)演示了分步實現(xiàn)過程,最后又通過具體的實例數(shù)據(jù)驗證了計算結(jié)果的可靠性,在以后的工作中可將數(shù)據(jù)的計算整理過程利用VBA、C++等語言進行匯編封裝。