作為成熟的GIS軟件,ArcGIS軟件在地表水分析方面的研究成果還是相當不錯的,目前已經非常成熟;本章節主要介紹ArcGIS水庫庫容計算,力求讓大家了解其運作原理。了解原理之后才能制定其分析流程。
在開始前需要有一定的ArcGIS的水文分析基礎,如果不了解原理,換了一個數據,換了一個地點,可能就無法計算出結果。你需要掌握:
1、必須了解相關的水文專業名詞,如河流、出水口、流域、分水嶺、河流鏈接等。水文專業人員基本上沒問題,但如果其他非水利從業者,估計需要花點時間進行詞匯的對接。
2、必須了解一些特定的GIS名詞。如DEM數據、柵格數據、矢量數據。GIS常用的數據格式。
3、了解ArcGIS 水文分析工具的原理、流程及每個工具的細節參數對水文分析的影響。
4、ArcGIS 桌面軟件是一個非常龐大的體系,除了掌握水文分析的幾個工具之外,必須配合其他工具一起使用,例如柵格轉面、重分類、條件函數、要素折點轉點等一些周邊的工具。
5、最好能夠掌握modelbuilder建模方法,對于復雜的流程可以制作分析模型來操作。
在水利行業中,計算庫容自然有自己的一套公式和方法。也不是說這種方法不準確和不科學,主要是能夠有比較直觀的、快捷的方式,而且是可調節參數的方式,不妨可以通過新的方法去替換掉原有的方法。
如果基于傳統的計算方式,計算水庫的庫容只是得出一串數字,那在水利的綜合應用上沒什么大的意義,充其量也就是水利工程上得知具體的數值而后確定其方案的合理性。但跟GIS結合在一起就完全不一樣了。
GIS具有非常高的運算能力,有非常良好的地圖可視化功能,可以通過調節不同的參數計算出不同水位淹沒的區域,從而計算出庫容。
淹沒的空間范圍可以看作水庫移民的依據,與土地利用圖層疊加分析,還可以計算出哪些地方被淹沒后需要作出多少的補償。如果庫容不足,是否需要開挖,挖方量是多少,結合工程施用需要多少泥頭車進行拉運泥土。移民、征地、青苗補償、開挖、運泥等等一系列的問題都跟錢(財政)有著密切的聯系。所以,如果將水庫庫容計算只看作一次性的數值計算,那就相當浪費了。
通過水庫的壩口(也就是說要筑壩的地方,可以用點來表示)作為出水口,計算出該區域的集水區;
利用集水區裁剪出DEM數據;
設定該區域一個最高的蓄水高程(指的是水庫蓄水最高時水平面的海拔高度)與集水區的DEM數據進行裁剪。
裁剪后的結果可以利用ArcGIS的表面體積工具計算出其實際庫容。
第一步:地形預處理,生成無凹陷點的DEM數據。
第二步:利用壩口作為出水口,捕捉到最近的傾瀉點,并計算出該傾瀉點的流域。其實就是一個流域提取的過程。
將一些必要的信息加入到地圖中,例如壩口位置,圖中黃色十字位置。壩口位置一般為選定的水壩位置。如下圖

通過無凹陷點的DEM數據,進行流向和流量分析。然后利用捕捉傾瀉點工具捕捉到壩口的傾瀉點柵格。如下圖所示

雖然壩口位置即便可以看成是出水口,但也不能直接使用。因為它與原DEM不是同一份數據,位置上跟DEM對應的出水口還是有差別的。所以,必須要進行捕捉,以確保捕捉到的傾瀉點是該點流量最大的柵格,否則就會出現那種很小的面。
利用【分水嶺】工具計算出壩口的集水區。
這里要求輸入的傾斜點就是捕捉到的傾斜點。如下圖所示


為了方便后續的分析和查看,可以利用【柵格轉面】工具將這個柵格的集水區轉換為矢量面數據。通過將矢量面設置只顯示邊界,去除填充部分,就可以非常清晰的看到這個集水區的邊界了。下圖是該集水區的邊界范圍

第三步:利用集水區邊界裁剪原始的DEM
。要注意的是,這里的DEM是原始的DEM,而不是填洼過的無凹陷點DEM。切記,因為后續要基于這個準確的DEM去計算體積。
利用【數據管理】-【柵格】-【柵格處理】-【裁剪】工具,對該原始DEM進行柵格裁剪。
裁剪的時候一定要注意,必須要勾選上【使用輸入要素裁剪幾何】這個參數,不然裁剪出來的是集水面的矩形區域。

其實關于水文分析部分到這一步就已經完全完成了。接下來就是利用GIS工具計算一定該區域“蓄水”的計算了,這就是傳統GIS部分的計算。
第四步:根據水位的海拔高度計算出水庫蓄水時淹沒的區域。
這是一個關鍵的步驟,因為蓄水高度一旦定下來,那水面與下墊面之間的空間就是整個水庫的庫容了。怎么計算蓄水的邊界是個問題。
ArcGIS提供了柵格計算器工具,可以使用setnull工具來計算;或者直接調用【spatial analyst】–【條件分析】–【設為空函數】工具。
筆者強烈推薦使用第二種方法,因為在modelbuilder里面這個工具比較直觀。
這個工具的作用是將識別到的像元值設置為NoData. 假如將集水區柵格通過該工具查找象元值大于2000米,將會將大于2000米的所有像元都設置為沒有數據,這樣的出來的就是一個只有最高高程為2000米的區域。這就好比水面像一把刀子一樣將高于2000米的區域削去。

最終可以得到一個最大水位時的淹沒區,該淹沒區也是個柵格數據,如下圖所示

第五步:計算最終的庫容。
使用【3D 分析】–【功能性表面】–【表面體積】工具,計算這個淹沒區下墊面的體積。
該工具如下圖所示,在【參考平面】參數選擇Below ,這表示計算下墊面的體積。

最終計算出來的是一個文本文件,里面包含了一些結果信息。如下圖

可以看到該區域的蓄水量就是16370702100 立方米。
假如這個數值還沒達到預期的庫容量,可以通過調整蓄水面的高度進行計算。當然,如果高度已經是工程評估過的最高水位,仍達不到理想的庫容,要么就是放棄該區域,要么就是通過人工挖方來擴容。將理想的庫容量減去計算出來的庫容量,就是需要挖方的實際數值。
為了方便,筆者特意利用modelbuilder寫了一個處理流程,這樣比較方便進行數據上的調整。


在前后兩處蓄水高度的調整可以直接輸入數值,然后對輸出結果進行比較。如下圖

這樣就方便多了。
水庫庫容的計算是給水利工程使用的。
對于這個工程對周邊的影響,其計算就是GIS最拿手的地方。
例如通過計算出蓄矢量面,與居民點進行疊加,可以找出需要移民的居民地。如下圖高亮選中的居民點屬于必須移民的居民點。

而落在黃色區域外紅色區域內的居民點屬于存在淹沒風險的區域。而這兩個區域劃定之后,基本上可以確定哪些農田是被淹沒的,哪些農田是沒有淹沒,還可以正常耕作,這樣就為移民補償作精準的依據。
利用GIS做水庫庫容計算,既需要充分利用水文分析的一些知識,也需要數量掌握GIS有效的工具,這樣才能做到科學和準確。
同時GIS作為一種可視化的手段,比實際數學公式計算出來的數值結果更加直觀,更具說服力,能夠在其他環節中為水庫的選擇作出科學的斷定。
文章來源:水利水電資料庫