[ArcGIS] 空间分析(八) 水文分析

理论基础:https://blog.csdn.net/summer_dew/article/details/82974108


基于DEM地表水文分析的主要内容是利用水文分析工具提取水流方向、汇流累积量、水流长度、河流网络、河网分级,以及流域分隔等

无洼地DEM生成

  • 背景
    DEM是比较光滑的地形表面的模拟,但是由于DEM误差及一些真实地形(如喀斯特地貌)的存在,使得DEM表面存在着一些凹陷的区域
  • 原因
    在进行水流方向计算时,由于这些区域的存在,往往得到不合理的甚至错误的水流方向
  • 结论:进行洼地填充
    因此,在进行水流方向的计算之前,应首先对原始的DEM数据进行洼地填充,得到无洼地的DEM

洼地填充:先利用水流方向数据计算出DEM数据中的洼地区域,并计算其洼地深度,然后,依据这些洼地深度设定填充阈值进行洼地填充

水流方向提取

  • 是什么
    水流方向:水流离开此格网时的指向
  • 实现思路
    ArcGIS中,水流方向采用D8算法,即通过计算中心栅格与邻域栅格的最大距离权落差来确定。
    距离权落差是指中心栅格与邻域栅格的高程差除以两栅格间的距离,栅格间的距离与方向有关。

操作:[Spatial Analyst 工具]–>[水文分析]–>[流向]

  • [“强制所有边缘像元向外流动”]:在DEM数据边缘的栅格的水流方向全部是流出DEM数据区域
  • [“输入下降率栅格数据”]:下降率栅格是指栅格在其水流方向上与其临近的栅格之间的高程差与距离的比值。反映了在整个区域中最大坡降的分布情况

洼地计算

得出dem中的洼地深度数据图

  • 背景
    洼地区域是水流方向不合理的地方,可以通过水流方向来判断哪些地方是洼地,然后对洼地进行填充。
    但是,并不是所有的洼地都是由于数据的误差造成的,有很多洼地是地表形态的真实反映。

  • 结论:设置阈值
    在进行洼地填充之前,必须计算洼地深度,判断哪些地区是由于数据误差造成的洼地而哪些地区又是真实的地表形态,然后在洼地填充的过程中,设置合理的填充阈值

  • 操作步骤
    操作流程图

    1. 洼地提取
      说明:输入流向数据,提取出洼地
      操作:[Spatial Analyst 工具]–>[水文分析]–>[汇]

    2. 洼地深度计算
      (1)计算洼地的贡献区域(哪些区域的水会流进洼地)
      操作:[Spatial Analyst 工具]–>[水文分析]–>[分水岭]
      说明:输入流向数据洼地(栅格数据或要素倾泻点数据),计算洼地的贡献区域(哪些区域的水会流进洼地)
      参数:[倾泻点字段] 选 Value
      (2)计算每个洼地所形成的贡献区域的最低高程
      操作:[Spatial Analyst 工具]–>[区域分析]–>[分区统计],计算出最小值栅格
      (3)计算每个洼地贡献区域出口的最低高程,即洼地出水口高程
      操作:[Spatial Analyst 工具]–>[区域分析]–>[区域填充]
      (5)计算洼地深度
      操作:[Spatial Analyst 工具]–>[地图代数]–>[栅格计算器]
      公式:sinkdep = (“zonalmax” - “zonalmin”)

  • 结果:得到洼地深度图sinkdep

通过以上步骤(洼地提取),可以了解原始的DEM上是否存在着洼地。
如果没有洼地存在,原始DEM数据就可以直接用来进行河网生成、流域分隔等。
而洼地深度的计算又为在填充洼地时设置填充阈值提供了很好的参考。

洼地填充

洼地填充是无洼地DEM生成的最后一个步骤
根据洼地深度图,设置合理的阈值,对dem进行洼地填充

【阈值设置】填充洼地时要求设置一个阈值,大于这个阈值的洼地才会被填充掉

  1. 默认情况都为全部填充
  2. 若有特殊要求,你考察过每个地方的洼地在现实中就是如此–>研究要求要将此地保留–>根据此地来设置阈值

操作:[Spatial Analyst 工具]–>[水文分析]–>[填洼]

  • [表面栅格数据]:dem
  • [Z限制]:设置阈值,>这个阈值的地方将作为真实地形保留。默认是所有洼地区域都将被填平

重复操作的必要性:
当一个洼地区域被填平之后,这个区域与附近区域再进行洼地计算,可能还会形成新的洼地。因此,洼地填充时一个不断反复的过程,直到所有的洼地都被填平,新的洼地不再产生为止。

汇流累积量

这里写图片描述

  • 是什么
    在地表径流模拟过程中,汇流累积量是基于水流方向数据计算得到的。
  • 基本思想
    以规则格网表示的数字地面高程模型每点处有一个单位的水量,按照自然水流从高处流往低处的自然规律,根据区域地形的水流方向数据计算每点处所流过的水量数值,便得到了该区域的汇流累积量

操作:[Spatial Analyst 工具]–>[水文分析]–>[流量]

  • [流向栅格数据]:无洼地dem生成的流向数据
  • [权重栅格数据]:权重数据一般考虑到降水、土壤以及植被等对径流影响的因素分布而得到的,对每一个栅格赋权重能更详细模拟该区域的地表特征。默认为1

水流长度

  • 是什么
    水流长度是指在地面上一点沿水流方向到其流向起点(或终点)间的最大地面距离在水平面上的投影长度

  • 意义
    水流长度直接影响地面径流的速度,从而影响对地面土壤的侵蚀力。因此水流长度的提取和分析在水土保持工作中有很重要的意义。

  • 计算思路

    • 顺流计算:计算地面上每一点沿水流方向到该点所在流域出水口的最大地面距离的水平投影
    • 溯流计算:计算地面上每一点沿水流方向到其起点的最大地面距离的水平投影

操作:[Spatial Analyst 工具]–>[水文分析]–>[水流长度]

  • [流向栅格数据]:无洼地的dem生成的流向数据fdirfill
  • [测量方向]:DOWNSTREAM顺流计算,UPSTREAM溯流计算
  • [输入权重栅格数据]:降水、土壤以及植被等对径流影响的因素分布而得到的

河网的提取

河网的生成

四个部分:

  1. 基础数据:汇流累积栅格数据flowacc
  2. 设置阈值:不同级别的沟谷对应不同的阈值,不同研究区域相同级别的沟谷对应的阈值也不尽相同。所以,在设定阈值时,应通过不断的实验和利用现有地形图等其他资料辅助检验的方法来确定合适的阈值
  3. 栅格河网的形成
    操作:[Spatial Analyst 工具]–>[地图代数]–>[栅格计算器]
    思路:利用所设定的阈值对整个区域分析并生成一个新的栅格图,其中汇流量>阈值的栅格设定为1,而≤阈值的栅格设定为无数据
    输出:streamnet
  4. 栅格河网矢量化
    操作:[Spatial Analyst 工具]–>[水文分析]–>[栅格河网矢量化]
    • [河流栅格数据]:streamnet
    • [流向栅格数据]:fdirfill(无洼地dem生成的水流方向数据)

【阈值的设置】以实验目的为导向
【思考】通过不同的阈值,可以提取出不同级别的汇流网络

  1. 阈值设置的越小–>河谷网就提取的越少–>很小支的很窄的河流都会被提取出来
  2. 阈值设置的越大–>提取的河谷网就会越多–>只能提取到规模较大的河谷

Stream link的生成

  • 是什么
    Stream Link记录河网中结点之间的连接信息,它主要记录河网的结构信息
    Stream Link的每条弧段连接着两个作为出水点或汇合点的结点,或者连接着作为出水点的结点和河网起始点

  • 意义
    通过提取Stream link可以得到每一个河网弧段的起始点和终止点。同样,也可以得到该汇水区域的出水点。
    这些出水点对于水量、水土流失等研究具有重要意义,而且出水口点的确定,为进一步的流域分割做好了准备

操作:[Spatial Analyst 工具]–>[水文分析]–>[河流连接]

  • [河流栅格数]:streamnet(河网)
  • [流向栅格数据]:fdirfill(无洼地dem生成的水流方向数据)

结果:
Stream link将栅格河网分成不包含汇合点的栅格河网片段,并对片段进行记录,其属性表记录者每个片段所包含的栅格个数

河网分级的生成

操作:[Spatial Analyst 工具]–>[水文分析]–>[河网分级]

  • [河流栅格数据]:streamnet
  • [流向栅格数据]:fdirfill
  • 两种分级方法:Strahler、Shreve

这里写图片描述

流域的分割

流域:集水区域,是指流经其中的水流和其他物质从一个公共的出水口排除从而形成的一个集中的排水区域
可以用流域盆地(basin)、集水盆地(catchment)或水流区域(contributing area)等来描述流。watershed数据显示了每个流域汇水面积的大小。

**出水口(或点)**即流域内水流的出口,是整个流域的最低处。

分水岭:流域间的分界线即为分水岭

分水线包围的区域称为一条河流或水系的流域,流域分水线所围成的区域面积就是流域面积

流域盆地的确定

流域盆地是由分水岭分隔而成的汇水区域,可利用水流方向确定出所有相互连接并处于同一流域盆地的栅格区域

思路:①确定分析窗口边缘出水口的位置,所有流域盆地的出水口均处于分析窗口的边缘 ②其次,找出所有流入出水口的上游栅格的位置,即流域盆地集水区

步骤:
操作:[Spatial Anayst 工具]–>[水文分析]–>[盆域分析]
参数:流向栅格数据fdirfill
输出:basin流域盆地

汇水区出水口的确定

在水文分析中,经常基于更小的流域单元进行分析,因而需要对流域进行分割。
流域的分割首先要确定小级别流域的出水口的位置

操作:[Spatial Analyst 工具]–>[水文分析]–>[捕捉倾泻点]
思维:以记录着潜在但并不准确的小级别流域出水口位置的点数据为基础,搜索该点一定范围内汇流累积量较高的栅格点,这些栅格点就是小级别的流域的出水点。

如果没有出水点的栅格或矢量数据,可利用已生成的stream link数据作为汇水区的出水点。
因为stream link数据中隐含着每一条河网弧段的连接信息(包括弧段的起点和终点等),而弧段的终点可以看作是该汇水区域的出水口所在位置。

集水流域的生成

输入:水流方向数据fdirfill、流域出水口数据streamlink
操作:[Spatial Analyst 工具]–>[水文分析]–>[分水岭]
思路:先确定出水点,即该集水区的最低点,然后结合水流方向,分析搜索出该点出水点上游所有流过该出水口的栅格,一直搜索到流域的边界,即分水岭的位置为止。

隔壁优秀文章:http://blog.csdn.net/kikitamoon/article/details/7908058

<think>嗯,用户想在ArcGIS中计算地表径流深,这需要结合水文模型和相关工具。首先,我需要回忆一下ArcGIS中的水文分析工具,比如ArcHydro或者ArcSWAT。根据引用3提到的SWAT模型,可能需要使用ArcSWAT来构建水文模型。地表径流深通常需要降雨数据、土壤类型、土地利用和数字高程模型(DEM)等数据。 用户的数据处理步骤可能包括准备DEM,填洼处理,计算流向和汇流累积量,提取河网,划分子流域。然后可能需要结合土壤类型和土地利用数据来计算径流曲线数(CN),这是SCS方法中的一个关键参数。接着使用公式计算径流量,再转换为径流深。 需要注意环境设置,比如工作空间和坐标系,如引用2提到的环境设置步骤。此外,模型参数的校准和验证也是重要步骤,可能需要实测数据,如引用3中提到的使用径流量和地下水位数据进行验证。 用户可能需要生成相关的地形参数,比如坡度、流向等,这些都可以通过Spatial Analyst工具完成。另外,土壤和土地利用数据的处理需要正确分类,并与模型数据库匹配。最后,可能需要使用栅格计算器进行公式计算,或者通过模型构建器自动化流程。 需要提醒用户检查数据质量和单位是否一致,以及模型参数是否适合研究区域。可能还需要引用相关文献或指南来确保方法的正确性。</think>### 使用ArcGIS计算地表径流深的步骤 地表径流深的计算通常需要结合水文模型(如SCS-CN方法或SWAT模型)和地理空间数据处理工具。以下是基于ArcGIS实现的核心步骤: --- #### **1. 数据准备** - **数字高程模型(DEM)**:通过高程点(如`terlk-p`)和等高线(如`terlk-l`)生成DEM。可使用**Topo to Raster**工具或结合现有DEM数据集[^3]。 - **土地利用数据**:需与研究区实际分类匹配,并转换为与SWAT模型兼容的格式(如`.shp`或栅格)[^3]。 - **土壤数据**:包括土壤类型、渗透率等参数,需与HWSD数据库或实验结果结合,形成土壤物理特性数据库。 - **气象数据**:降雨量、蒸发量等,需以栅格或站点数据形式导入。 --- #### **2. 水文分析预处理** 1. **填洼处理**:使用**Fill**工具(位于`Spatial Analyst Tools > Hydrology`)修正DEM中的凹陷点,确保水流连续性。 2. **计算流向**:通过**Flow Direction**生成水流方向栅格。 3. **计算汇流累积量**:使用**Flow Accumulation**生成汇流累积栅格,标识河道网络。 4. **提取河网与子流域**:基于汇流累积量阈值提取河网,再通过**Watershed**工具划分子流域[^2]。 --- #### **3. 径流计算(以SCS-CN方法为例)** 1. **计算径流曲线数(CN值)**: - 结合土地利用和土壤类型数据,通过**Reclassify**工具为每个栅格单元分配CN值(参考SCS标准表格)。 - 使用**Raster Calculator**将CN值栅格归一化(例如:$CN = \text{Reclassified\_Landuse} + \text{Reclassified\_Soil}$)。 2. **计算径流量(Q)**: - 输入降雨量数据(P),使用公式: $$ Q = \frac{(P - 0.2S)^2}{P + 0.8S}, \quad \text{其中 } S = \frac{25400}{CN} - 254 $$ - 在**Raster Calculator**中按公式逐栅格计算。 3. **转换为径流深**:若需以毫米为单位,直接使用径流量Q的栅格值;或结合子流域边界通过**Zonal Statistics**统计平均值。 --- #### **4. 模型验证与参数校准** - 使用实测径流数据(如水文站点观测值)与模型输出对比,通过**SWAT-CUP**工具进行敏感性分析和参数优化。 - 调整CN值、土壤渗透系数等参数,确保模拟结果与实测数据一致。 --- #### **5. 结果可视化与输出** - 使用**Symbology**调整径流深栅格的渲染方式(如渐变颜色或分级设色)。 - 导出为栅格文件(如`.tif`)或矢量图层(如`.shp`),用于进一步分析或报告制图。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geodoer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值