ArcGIS水文分析實戰教程(8)水庫庫容計算

ArcGIS水文分析實戰教程(8)水庫庫容計算

本章導讀:前面花了整整七個章節來詳細介紹常見的水文專業名詞以及ArcGIS水文分析工具的原理,雖然也有一些操作部分,但距離實戰還是有一定距離,充其量只能算是教科書式的教程。本章開始會結合具體的使用場景去使用ArcGIS水文分析工具,力求從理論轉向實踐。所以,本章先從一個最實際的例子–水庫庫容計算,去了解GIS如何與水利水文進行結合。BY 李遠祥

水庫庫容計算的知識準備

如果沒有ArcGIS的水文分析的基礎,那麼可以回到前面七個章節仔細閱讀,先不要急着跟着做。如果不瞭解原理,換了一個數據,換了一個地點,可能就無法計算出結果。

  1. 必須瞭解相關的水文專業名詞,如河流、出水口、流域、分水嶺、河流鏈接等。水文專業人員基本上沒問題,但如果其他非水利從業者,估計需要花點時間進行詞彙的對接。

  2. 必須瞭解一些特定的GIS名詞。如DEM數據、柵格數據、矢量數據。GIS常用的數據格式。

  3. 瞭解ArcGIS 水文分析工具的原理、流程及每個工具的細節參數對水文分析的影響。

  4. ArcGIS 桌面軟件是一個非常龐大的體系,除了掌握水文分析的幾個工具之外,必須配合其他工具一起使用,例如柵格轉面、重分類、條件函數、要素折點轉點等一些周邊的工具。

  5. 最好能夠掌握modelbuilder建模方法,對於複雜的流程可以製作分析模型來操作。

水庫庫容計算的基本流程

這裏使用的是利用DEM的方式進行精確計算。在水利行業中,計算庫容自然有自己的一套公式和方法。也不是說這種方法不準確和不科學,主要是能夠有比較直觀的、快捷的方式,而且是可調節參數的方式,不妨可以通過新的方法去替換掉原有的方法。

筆者認爲技術是不斷革新的,如果基於傳統的計算方式,計算水庫的庫容只是得出一串數字,那在水利的綜合應用上沒什麼大的意義,充其量也就是水利工程上得知具體的數值而後確定其方案的合理性。但跟GIS結合在一起就完全不一樣了。GIS具有非常高的運算能力,有非常良好的地圖可視化功能,可以通過調節不同的參數計算出不同水位淹沒的區域,從而計算出庫容。淹沒的空間範圍可以看作水庫移民的依據,與土地利用圖層疊加分析,還可以計算出哪些地方被淹沒後需要作出多少的補償。如果庫容不足,是否需要開挖,挖方量是多少,結合工程施用需要多少泥頭車進行拉運泥土。移民、徵地、青苗補償、開挖、運泥等等一系列的問題都跟錢(財政)有着密切的聯繫。所以,如果將水庫庫容計算只看作一次性的數值計算,那就相當浪費了。

水庫庫容的計算方法:

通過水庫的壩口(也就是說要築壩的地方,可以用點來表示)作爲出水口,計算出該區域的集水區;

利用集水區裁剪出DEM數據;

設定該區域一個最高的蓄水高程(指的是水庫蓄水最高時水平面的海拔高度)與集水區的DEM數據進行裁剪;

裁剪後的結果可以利用ArcGIS的表面體積工具計算出其實際庫容。

分析流程
第一步:地形預處理,生成無凹陷點的DEM數據。DEM預處理可以查看原來的章節《ArcGIS水文分析實戰教程(4)地形預處理》,這裏不再做詳細的介紹。

第二步:利用壩口作爲出水口,捕捉到最近的傾瀉點,並計算出該傾瀉點的流域。其實就是一個流域提取的過程。
將一些必要的信息加入到地圖中,例如壩口位置,圖中黃色十字位置。壩口位置一般爲選定的水壩位置。如下圖
在這裏插入圖片描述

通過無凹陷點的DEM數據,進行流向和流量分析。然後利用捕捉傾瀉點工具捕捉到壩口的傾瀉點柵格。如下圖所示
在這裏插入圖片描述
雖然壩口位置即便可以看成是出水口,但也不能直接使用。因爲它與原DEM不是同一份數據,位置上跟DEM對應的出水口還是有差別的。所以,必須要進行捕捉,以確保捕捉到的傾瀉點是該點流量最大的柵格。否則就會出現像第七章《ArcGIS水文分析實戰教程(7)細說流域提取》出現的那種很小的面。

利用【分水嶺】工具計算出壩口的集水區。這裏要求輸入的傾斜點就是捕捉到的傾斜點。如下圖所示
在這裏插入圖片描述
其結果是一個柵格面數據,如下圖
在這裏插入圖片描述
爲了方便後續的分析和查看,可以利用【柵格轉面】工具將這個柵格的集水區轉換爲矢量面數據。通過將矢量面設置只顯示邊界,去除填充部分,就可以非常清晰的看到這個集水區的邊界了。下圖是該集水區的邊界範圍
在這裏插入圖片描述

第三步:利用集水區邊界裁剪原始的DEM。要注意的是,這裏的DEM是原始的DEM,而不是填窪過的無凹陷點DEM。切記,因爲後續要基於這個準確的DEM去計算體積。
利用【數據管理】-【柵格】-【柵格處理】-【裁剪】工具,對該原始DEM進行柵格裁剪。裁剪的時候一定要注意,必須要勾選上【使用輸入要素裁剪幾何】這個參數,不然裁剪出來的是集水面的矩形區域。
在這裏插入圖片描述
裁剪的結果如下圖所示,是一個跟集水面邊界一模一樣的區域
2017-07-03-20-21-43

其實關於水文分析部分到這一步就已經完全完成了。接下來就是利用GIS工具計算一定該區域“蓄水”的計算了,這就是傳統GIS部分的計算。

第四步:根據水位的海拔高度計算出水庫蓄水時淹沒的區域。
這是一個關鍵的步驟,因爲蓄水高度一旦定下來,那水面與下墊面之間的空間就是整個水庫的庫容了。怎麼計算蓄水的邊界是個問題。
ArcGIS提供了柵格計算器工具,可以使用setnull工具來計算;或者直接調用【spatial analyst】–【條件分析】–【設爲空函數】工具。

筆者強烈推薦使用第二種方法,因爲在modelbuilder裏面這個工具比較直觀。

這個工具的作用是將識別到的像元值設置爲NoData. 假如將集水區柵格通過該工具查找象元值大於2000米,將會將大於2000米的所有像元都設置爲沒有數據,這樣的出來的就是一個只有最高高程爲2000米的區域。這就好比水面像一把刀子一樣將高於2000米的區域削去。
其設置如下圖
在這裏插入圖片描述
最終可以得到一個最大水位時的淹沒區,該淹沒區也是個柵格數據,如下圖所示
在這裏插入圖片描述
第五步:計算最終的庫容。使用【3D 分析】–【功能性表面】–【表面體積】工具,計算這個淹沒區下墊面的體積。
該工具如下圖所示,在【參考平面】參數選擇Below ,這表示計算下墊面的體積。
在這裏插入圖片描述
最終計算出來的是一個文本文件,裏面包含了一些結果信息。如下圖
在這裏插入圖片描述
可以看到該區域的蓄水量就是16370702100 立方米。

假如這個數值還沒達到預期的庫容量,可以通過調整蓄水面的高度進行計算。當然,如果高度已經是工程評估過的最高水位,仍達不到理想的庫容,要麼就是放棄該區域,要麼就是通過人工挖方來擴容。將理想的庫容量減去計算出來的庫容量,就是需要挖方的實際數值。

爲了方便,筆者特意利用modelbuilder寫了一個處理流程,這樣比較方便進行數據上的調整。
在這裏插入圖片描述
在這裏插入圖片描述

在前後兩處蓄水高度的調整可以直接輸入數值,然後對輸出結果進行比較。如下圖
在這裏插入圖片描述
這樣就方便多了。

屬於GIS的外延部分

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

而落在黃色區域外紅色區域內的居民點屬於存在淹沒風險的區域。而這兩個區域劃定之後,基本上可以確定哪些農田是被淹沒的,哪些農田是沒有淹沒,還可以正常耕作,這樣就爲移民補償作精準的依據。

總結

利用GIS做水庫庫容計算,既需要充分利用水文分析的一些知識,也需要數量掌握GIS有效的工具,這樣才能做到科學和準確。同時GIS作爲一種可視化的手段,比實際數學公式計算出來的數值結果更加直觀,更具說服力,能夠在其他環節中爲水庫的選擇作出科學的斷定。

如果讀者對水文分析感興趣的話,可以持續關注CSDN的GIS製圖樂園,以及微信公衆號【GIS製圖樂園】。BY 李遠祥

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章