ArcGIS水文分析实战教程(15)库容和淹没区计算
库容和淹没区计算 的基本流程
要计算库容就必须先计算出该集水区面积,并且通过不同的水位计算出淹没区,并利用淹没区去裁剪DEM数据,将水面与下垫面的体积计算出来,这就是水库的库容。由于有了前面的基础,这里就不将所有的分析流程都列出来了,只列出关键部分,如下图所示

这里需要用到的水库出水口,水库的坝口位置或者是水文站位置,其水位高度一般是通过水文站读取出来或者认为设定一个具体的数值。利用分水岭工具提取的集水区,就是这里的库区,而通过条件函数设定了水面高度之后提取低于水面高程的栅格数据,这就是所谓的淹没区。淹没区与下垫面之间的体积就是库容。
裁剪库区的DEM数据
为什么要利用集水区(库区)的面去裁剪DEM。这样做的原因是在下一步使用条件函数去过滤DEM一定高度的像元时可以剔除掉不相关的数据。这部分是非常重要的。
裁剪工具使用的是栅格工具箱里面的裁剪工具,其裁剪的时候需要特别注意的是要根据集水区的边界进行裁剪,不然的话默认只会将集水区的外矩形边框范围裁剪出来。其设置如下图所示

必须勾选上“使用输入要素裁剪几何”这个选项。
库容计算核心工具
有了前面的集水区分析得出库区范围,后面的计算就可以完全交给条件函数工具去做了。条件函数可以根据一定的高程值对DEM进行过滤,及所谓的淹没区计算。如下图所示

提取出淹没区的DEM之后,关键部分是使用DEM数据进行体积的计算。在ArcGIS 3D扩展模块中有一个名为表面体积的计算工具,可以计算DEM数据某一平面以下或以上的体积。在这个场景下当然是使用高程以下的体积了。如下图所示

库容和淹没区计算的建模流程
以下是在ArcGIS Modelbuilder 中建模的流程

笔者已经将水面的高度作为参数进行建模,在实际操作过程中可以进行调整,这样就比较方便了。如下图所示 
其最终分析的结果会生成一个报告文件,计算出水库的库容及水面面积,并且在地图上加载集水区和淹没区,如下图所示板面的做法

总结
库容和淹没区的计算是对水文分析工具和ArcGIS工具的综合运用,没有水文分析计算出集水区范围,光有体积计算工具是没有任何作用的。可以看到,解决实际问题都是需要对所学的知识进行综合运用。
ArcGIS水文分析实战教程(15)库容和淹没区计算的更多相关文章
- 利用ArcGIS水文分析工具提取河网
转自原文 利用ArcGIS水文分析工具提取河网(转) DEM包含有多种信息,ArcToolBox提供了利用DEM提取河网的方法,但是操作比较烦琐(帮助可参看Hydrologic analysis sa ...
- arcgis水文分析
前言 1.在开始之前首先需要注意几点: 1.arcgis 需要 python2.7 的支持,并有必要的模块库,请一定注意避免与其他软件冲突,例如tecplot 2009 需要python2.5的支持, ...
- GIS与水文分析(1)GIS与水文学
GIS与水文分析(1)GIS与水文学 对于大部分GIS从业人员或者利用GIS作为研究方向的人员来说,水文学过于专业,更偏重于理论化,很难从GIS的角度来模拟和分析水文的过程.这其实是个普遍性的问题,任 ...
- 利用水文分析方法提取山脊线和山谷线(ArcPy实现)
一.背景 作为地形特征线的山脊线.山谷线对地形.地貌具有一定的控制作用.它们与山顶点.谷底点以及鞍部点等一起构成了地形起伏变化的骨架结构.同时由于山脊线具有分水性,山谷线具有合水性特征,使得它们在地形 ...
- ArcGIS案例学习笔记4_1_水文分析
ArcGIS案例学习笔记4_1_水文分析 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 概述 计划时间:第4天上午 教程: pdf page478 数据:实验数据 ...
- ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...
- BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析
上一篇已经创建了多维数据集的结构. 接下来我们将多维数据集的架构定义发送到Analysis Services实例,部署到AS上去. 文章提纲 部署和浏览多维数据集 SSMS使用简介 总结 一.部署和浏 ...
- ArcGIS案例学习笔记4_2_水文分析批处理地理建模
ArcGIS案例学习笔记4_2_水文分析批处理地理建模 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 概述 计划时间:第4天下午 目的:自动化,批量化,批处理,提 ...
- ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 使用ArcGIS进行空间分析 1.1 GIS分析基础 G ...
随机推荐
- golang写入csv
package main import ( "encoding/csv" "fmt" "os" ) func main() { file, ...
- [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar中的类解压后放在运行jar中
前文: [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar打在jar包中 使用7z打开压缩包,查看所有依赖的jar都被解压以包名及class的方式存储在了运行jar中,此时jar的 ...
- Python基础总结之第七天开始【总结字符串、列表、元组的常用方法】(新手可相互督促)
前面的笔记说,python中的一切数据类型都是对象 我们在细化下就是:对象可由两部分组成:对象数据和对象方法 针对不同类型的数据对象,有不同的操作对象的方法. 那么我们开始看下字符串对象的常用方法: ...
- UWP笔记-边框背景虚化效果
这是一个简单的UI外观 1.添加Negut包: Microsoft.Toolkit.Uwp.UI.Controls 2.xaml:命名空间中引用 xmlns:controls="using: ...
- Kubernetes组件-ReplicaSet
⒈简介 最初,ReplicationController是Kubernetes用于复制和在异常时重新调度节点的唯一组件,后来Kubernetes又引入了一个名为ReplicaSet的类似资源.它是新一 ...
- DP_Wooden Sticks
There is a pile of n wooden sticks. The length and weight of each stick are known in advance. The st ...
- lxml and 代理ip
pip install lxml 导包From lxml import etree 1. 注意这个是本地html就直接使用etree.parse即可 2. html_etree=etree.parse ...
- Js 判断数组中是否包含某个值
includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false. JavaScript Array includes() 方法
- @Html.ActionLink方法
Html.ActionLink:MVC提供的自动构造重写地址的方法,该方法有五个重载 1.Html.ActionLink("linkText","actionName&q ...
- BMP RGB888转RGB565 +上下翻转+缩放
典型的BMP图像文件由四部分组成: (1) 位图头文件数据结构,它包含BMP图像文件的类型.文件大小和位图起始位置等信息: typedef struct tagBITMAPFILEHEADER { ...