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进行栅格裁剪。裁剪的时候一定要注意,必须要勾选上【使用输入要素裁剪几何】这个参数,不然裁剪出来的是集水面的矩形区域。

裁剪的结果如下图所示,是一个跟集水面边界一模一样的区域

其实关于水文分析部分到这一步就已经完全完成了。接下来就是利用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 李远祥

ArcGIS水文分析实战教程(8)水库库容计算相关推荐

  1. ArcGIS水文分析实战教程(15)库容和淹没区计算

    ArcGIS水文分析实战教程(15)库容和淹没区计算 本章导读:虽然前面已经有章节论述过书库库容计算,但在这里笔者还是需要对整个流程做系统的描述.这部分内容属于水文分析的进阶部分,不再停留在基础的河流 ...

  2. ArcGIS水文分析实战教程(14)提取水库湖泊等面状水系

    ArcGIS水文分析实战教程(14)提取水库湖泊等面状水系 本章导读:如果说前面章节一直都是针对河流.河网.流域等进行论述,围绕的都是从基本理论到实践操作,那么湖泊.水库等面状水系的提取,就是对水文分 ...

  3. ArcGIS水文分析实战教程(3)DEM数据准备

    ArcGIS水文分析实战教程(3)DEM数据准备 ArcGIS的水文分析工具需要DEM数据才能执行,因此在使用之前必须要准备好DEM数据并且针对DEM数据进行预处理.本章节内容介绍如何根据已有的数据制 ...

  4. ArcGIS水文分析实战教程(9)雨量计算与流量统计

    ArcGIS水文分析实战教程(9)雨量计算与流量统计 本章导读:降水是水文循环中重要的一环,降水包括雨.雪.雾.露.雹等,本章介绍的是降雨的环节.通过雨量站与插值的方式,实现雨量的空间分布就算,为水文 ...

  5. ArcGIS水文分析实战教程(18) 河段桩号与线性参考

    ArcGIS水文分析实战教程(18) 河段桩号与线性参考 本章导读:在很多线性要素的应用中,桩号扮演着非常重要的角色.例如高速公路,使用桩号可以快速的描述某个事件在该路段的大概位置.同样是线性要素的河 ...

  6. ArcGIS水文分析实战教程(13)流域提取流程

    ArcGIS水文分析实战教程(13)流域提取流程 本章导读:这里的流域是一个自然概念,而不是行政概念,或者称之为集水区更加合理一些.在流域提取中,其过程都是先定义河流然后才能通过河流定义流域.其中流域 ...

  7. ArcGIS水文分析实战教程(12)河网分级流程

    ArcGIS水文分析实战教程(12)河网分级流程 本章导读:如果说河流提取是面对没有数据后者数据匮乏的用户,那么河网分级就完全属于为水文研究而生的一个工具.河流具有干流和支流之分,河网分级能够将这些干 ...

  8. ArcGIS水文分析实战教程(10)河流平均比降计算

    ArcGIS水文分析实战教程(10)河流平均比降计算 本章导读:河流比降指的是河流任意两端点间的高程差与两点间的水平距离之比值,简单的概括为单位河长内的落差,其单位一般都是‰ . 河流(纵)比降对地质 ...

  9. ArcGIS水文分析实战教程(7)细说流域提取

    ArcGIS水文分析实战教程(7)细说流域提取 本章导读:流域是水文领域上是频繁出现的词汇,贯穿整个水文专业.由于流域涉及到的空间范围非常的广,一般不能通过测量的方式去精确划定.而且流域这一词在水利行 ...

最新文章

  1. 谷歌服务中断事故能否避免?
  2. 看有道难题比赛有恶心感 ,付源码挑战,博客园目前纯速度最快。
  3. Jquery获取对象的几种方式介绍
  4. 【年终总结】2019年有三AI NLP做了什么,明年要做什么?
  5. k8s部署ingress:使用heptio-contour部署ingress controller(通过sealos安装,非nginx-ingress类型)
  6. boost::safe_numerics::interval相关的测试程序
  7. 计算机与编程导论,计算机科学与编程导论
  8. tomcat架构分析(容器类)
  9. 人工智能搭档智能云,进入《西部世界》不是梦!
  10. 【转】性能测试设计和LR原理的探讨
  11. 5岁儿童自学python编程-为什么外国5岁孩子就要学编程?原因你一定想知道
  12. 隐藏隧道通信:Socks 隧道
  13. 芝麻信用行业关注名单风险标签对照表SQL---福利大家!
  14. Matlab 中min(),min(min()),max(),max(max())的介绍和分析
  15. php加壳,文件加壳实现(三) —— ZwUnmapViewOfSection
  16. 什么是国外广告联盟?国外广告联盟怎么赚钱?为什么你做不赚钱?
  17. OSM学习之路(一):OSM介绍
  18. 【计划表合集】学习计划表/时间表/打卡表/理财表/读书记录/生活计划表等合集
  19. 三国无双模型数据结构。。。
  20. RTX3070+windows11cuda配置教程

热门文章

  1. 物联网温湿度显示控制项目(网页、Android双端显示搭载linux平台网关MQTT通信)
  2. Spring控制事务回滚
  3. 我,27岁,程序员,9月无情被辞:想给做开发的提个醒…
  4. 6.1电机,串口控制,PWM调速
  5. soot中存在的主要对象、soot的执行流
  6. MACD与OBV结合,用OBV进行改进MACD指标公式
  7. 无稳态多谐震荡器学习
  8. 音乐制作编曲工具FL Studio 20高清视频教程
  9. Hi3516CV500/Hi3516AV300/Hi3516DV300 SDK编译
  10. QVE音乐剪辑器制作手机铃声的方法