1. 加载 DEM 点击菜单栏中的“+”(图 1 红框) ,在对话框里点击“链接到文件夹(connect to folder)”(图 2 红框) ,选择 DEM(tif 格式,图 3 步骤 1) ,点击添加(add,图 3 步骤 2),将拟提取流域 的 DEM 加载到系统中(图 4) 。 图1 图2 图3 图4 2. 填洼 为什么要填洼:ArcGIS 水文分析的基础算法为 D8 单流向算法。 D8 算法是假定雨水降落在地形中某一个格子上,改格子的水流将会流向周围 8 个格子 地形最低的格子中。如果多个像元格子的最大下降方向都相同,则会扩大相邻像元范围,直 到找到最陡下降方向为止。如图 5 所示: 图5 流向则用 2 的 n 次方表示,从 0 开始,按照逆时针分别为递增,其方位编码如图 6 所示 (这样编码的好处自然是通过数学的方式,让计算机可以非常快的使用二进制进行索引,加 快大区域的流量累计统计) : 图6 D8 算法又称作单流向算法。其特点就计算速度快,能够很好的反应出地形对地表径流 形成的作用。但其弊端也是显而易见。因为水流只流向一个方向,是单线传递,一旦遇到某 一洼地的时候,周边的水流都会集中向该洼地流入,导致断流现象,而现实中由于水会向多 个方位不定向的流动,是不会轻易导致断流的。如果要避免这种情况发生,就需要对地形中 的洼地进行填平,确保水流也能从该洼地流出。这就是为什么水文分析工具中出现了一些与 水文分析完全没有关系的一个工具–填洼 从 D8 算法可以看出,ArcGIS 的水文分析工具是依赖无凹陷的 DEM 地形的,所以在 分析之前都必须对 DEM 数据进行检查。【汇】工具和【填洼】工具就是为了分析前查找和 填平洼地而生的,在使用水文分析之前必须要使用这两个工具对 DEM 进行处理。 单流向算法影响限制了 ArcGIS 水文分析工具的使用。尤其是地势平坦的地区和人工干 预比较多的城市区域,基本上不适用。因为地势平坦导致水流无法沿某一方向流动而形成径 流。 另一种情况是事实上的断流形成,如存在地表水流汇流入地下水系的情况。一旦出现流 入地下暗河,D8 算法就完全失效。因此,在喀斯特地貌中同样也不适用。 D8 算法是完全不考虑降雨的多少、土壤渗透率、植被吸水以及水流挡阻等水文过程, 它只是假定有无限的降雨并最终汇聚水流形成径流,并通过汇流范围来定义最终的河流。因 此,它只是一个径流汇成河流的定性分析(尽管流量计算看起来是有定量因子),并不能通 过其流量算法去做水文的预报。 填洼操作: 菜单栏点击 ArcToolBox(图 7 红框) ,选择“Spatial Analyst Tools”→“Hydrology”→ “Fill” (图 8)。对话框中有三个选项(图 9),上、中为两个必填参数,分别为“输入表面 栅格数据(input surface raster) ” ,即 DEM,以及“输出表面栅格(output surface raster)”即 输出的路径。Z 值限制(Z limit)是个可选项,测试显示,使用填洼工具做一次无 Z 值填洼, 基本可生成无凹陷 DEM,故 Z 值限制留空。确定后即生成填洼后 DEM(Fill_HK_8_6,图 10) 。 图7 图8 图9 图 10 3. 流向 流向分析是基于 D8 单流向算法,如果分析使用的 DEM 存在凹陷点,就会产生汇,导 致径流断流从而影响了分析结果。因此,流向分析要使用填洼过的数据,确保 DEM 数据没 有凹陷点。流向分析工具十分简单,输入一个无凹陷点的 DEM,输出结果就是流向栅格。 流向栅格数据是以 2 的 n 次方来标记 8 个方向的(图 6) ,在没有汇的情况下,其数值一定 是 2 的 n 次方。ArcGIS 软件在默认情况下,自动给定流向栅格 8 个方位不同的颜色进行渲 染。若输出的流向中出现不是【1,2,4,8,16,32,64,128】这样的值,而是一个连续 像元值的结果, 其实质是产生了 8 个方向以外的数值, 即在参与进行计算的 DEM 还存在汇, 需对 DEM 再做填洼操作。 【这是一个鲜为人知的小技巧】 流向分析操作:ArcToolBox 中选择“Spatial Analyst Tools”→“Hydrology”→“Flow direction” (图 11) 。对话框中有三个选项(图 12) ,上、中为两个必填参数,分别为“输入表面栅格 数据(input surface raster) ” ,即生成填洼后 DEM(Fill_HK_8_6) ,以及“输出流向栅格(output flow direction raster) ”即输出的路径。其余选项无须勾选。确定后生成流向栅格(fl_dir_hk_8_6, 图 13) 。 图 11 图 12 图 13 4. 流量 ArcGIS 软件中,流量栅格是指有多少个格子的水流汇流到某一点上,是一个空间范围概 念,并不是水文学意义上的河流流量,与水文站实测的数据是两个完全不同意义的名词。 ArcGIS 的流量统计是需要流向栅格进行参考,其实际原理是累计每个流向栅格的总数(图 14) 。 图 14 流量分析操作: ArcToolBox 中选择“Spatial Analyst Tools”→“Hydrology”→“Flow Accumulation” (图 15) 。 对话框中有四个选项(图 16) ,第一和第二项为两个必填参数,分别为“输入流向栅格数据 (input flow direction raster) ” ,即流向栅格(fl_dir_hk_8_6) ,以及“输出流量栅格(output accumulation raster)”即输出的路径。其余选项无须勾选或更改。确定后生成流量栅格 (fl_acc_hk_8_6,图 17) 。 流量权重栅格(weight raster) : 流量分析中有一个可选项—输入权重栅格(input weight raster) 。ArcGIS 软件中,流量 的统计是基于流向像元数据进行累加统计,而流向栅格是基于 D8 算法计算出来的,原则上 只考虑单个方向的汇水过程,没有考虑如降雨、渗透等水文现象。在默认情况下,流向栅格 流出的水量是一致的,流量统计计算的只是流向栅格累计的个数。即每一个 30 * 30 区域汇 入河流的水量都是一致的。这显然是不符合实际情况,实地中每一处的蓄积(跟降雨量、下 渗、植被吸水都有关系)对河流的贡献是不一样的,这就需要一个权重值来衡量多少水量蓄 积才能达到河流形成。若仅仅是通过 DEM 数据提取河流,该参数对后续分析影响不大。值 得注意的是,无论权重参数如何,所得结果是一个相对流量值,只反映区域与流量关系,并 非真实流量。 图 15 图 16 图 17 5. 流量划分 参照图 17 的结果,流量统计栅格亮白色代表流量的高值,其中最大一点共有 50483 个 像元向其汇入。该原始 DEM 数据的元数据信息的像元大小为 30*30,流量最大点的汇入栅 格面积就是 30 * 30 *50483 m2(45434700 m2,即 45.4347 km2) 。按照默认的显示方式去表达 流量是没有任何意义的。流量统计的实际意义在于在一定流量值时会产生地表径流,在径流 达到一定值是成为常规的河流。在流量统计之后,必须要对统计的栅格数据进行筛选,指定 流域指标,如流量蓄积栅格。通过划分流量蓄积栅格,决定河流的源头,后续再配合出水口 数据,定义研究流域。 若研究对象是汇水面积超过 9 平方公里的河流,这 9 平方公里的蓄积栅格数是多少?按 照平方公里与平方米的转化,9 平方公里=9000000 平方米。9 平方公里的蓄积栅格数 =9000000/(30 * 30)=10000,即地表径流能够汇聚成河流的最小蓄积栅格为 10000。 针对流量进行河流的定义,ArcGIS 工具对栅格处理提供【条件函数】工具,可以剔除掉 不符好条件的栅格像元。 【条件函数】工具是针对栅格数据进行过滤,对每个输入像元执行 if/else 条件评估。 流量划分操作: ArcToolBox 中选择“Spatial Analyst Tools”→“Conditional”→“Con”(图 18)。对话框中有 五个选项(图 19) ,需要填写的第一、第二、第三和第五项,分别为: a. “输入流量栅格数据(input flow accumulation raster)”即流量栅格(fl_acc_hk_8_6); b. “表达式(Expression) ”; c. “输入条件为 true 时所取的栅格数据或常量值(input true raster or constant value) ”,可 选流量栅格(fl_acc_hk_8_6)或流向栅格(fl_acc_hk_8_6); d. “输出栅格(output raster) ”即输出的路径。 其余选项无须勾选或更改。建议条件筛选做两步,第一步筛选蓄积量栅格,第二步利用筛选 后的蓄积量栅格再筛选流向。 例如要提取出蓄积量大于 10000 的流量像元,“表达式(Expression)”中可输入 “Value>=10000” ,确定后生成筛选后的流量栅格(Con_hk_8_6,图 20) 。注意图 20 的图例 部分,其最低值已变为 10029,代表低于 10029 的流量像元已被筛除。 再次进行相同的步骤,在“输入条件为 true 时所取的栅格数据或常量值(input true raster or constant value)”中选择流向栅格(fl_acc_hk_8_6),获得筛选流向后的流量栅格数据 (Con_d_hk_8_6,图 21) 。 图 18 图 19 图 20 图 21 6. 河网分级 河网分级是根据水系的连接情况进行等级划分。ArcGIS 支持水文学上最常用的两种分 级模式–斯特拉勒(STRAHLER)和施里夫(SHREVE)分级方法。 斯特拉勒(STRAHLER)分级法(图 22 左) ,没有支流汇入的水系定义为 1 级别,两个 相同级别的水系汇入某一河流时,河流等级增加 1 级;如果等级不同,则以最大等级的河流 相同。依次分级完成所有定义。 施里夫(SHREVE)分级法(图 22 右)有点类似累计分级,将没有支流的水系定义为 1 级,多个支流汇入,将其级别相加作为汇入河流的级别。如此类推直到分级完成。 图 22 如果是希望通过 DEM 去提取水系,那么采用斯特拉勒(STRAHLER)分级方法作为依 据;如果是希望寻找河网链与流量、泥沙量的关系,推荐使用施里夫分级方法。 河网分级操作: ArcToolBox 中选择“Spatial Analyst Tools”→“Hydrology”→“Stream Order”(图 23)。对话 框中有四个选项(图 24) ,分别为: a. “ 输 入 河 网 栅 格 数 据 ( input stream raster )”, 即 筛 选 流 向 后 的 流 量 栅 格 数 据 (Con_d_hk_8_6); b. “输入流向栅格数据(input flow direction raster) ” ,即流向栅格(fl_dir_hk_8_6); c. “输出栅格(output raster) ”即输出的路径。 d. “河网分级方法(Method of stream ordering)” ,默认为斯特拉勒(STRAHLER)分级法。 确定后生成分级的河网栅格(St_O_hk_8_6,图 25) 。 图 23 图 24 图 25 7. 栅格河流矢量化 GIS 对栅格计算的支持远没有对矢量数据的多,所以大多数情况下都需要将栅格数据转 换为矢量数据进行分析。ArcGIS 提供的数个栅格转矢量的工具,如【栅格转线】、【栅格转 面】 、 【栅格河流矢量化】等,在栅格河流转换为矢量河流时,效果最好的是【栅格河流矢量 化】 。 栅格矢量化操作: ArcToolBox 中选择“Spatial Analyst Tools”→“Hydrology”→“Stream to Feature”(图 26) 。 对话框中有三个选项(图 27) ,分别为: a. “输入河流栅格数据(input stream raster) ” ,即分级的河网栅格(St_O_hk_8_6); b. “输入流向栅格数据(input flow direction raster) ” ,即流向栅格(fl_dir_hk_8_6); c. “输出折线要素(output polyline feature)”即输出的路径。 确定后生成矢量河流(StT_St_O_hk_8_6.shp,图 28) 。 图 26 图 27 图 27 栅格矢量化后的分级河网可以绘制河流分级显示图。利用 grid_code 作为标注显示等级, 使用【唯一值渲染】用不同大小的符号显示河流,可以很直观地反映出河网关系。 绘制河流分级显示图操作: 选择矢量河流(StT_St_O_hk_8_6) ,右键属性(properties) ,对话框菜单栏选择“符号 (Symbology) ” 。对话框左侧“目录(Categories) ”选择“唯一值(Unique value)”,对话框 中部“值域(Value field) ”选择“grid code” (图 28)。点击“添加所有值(add all value)” , 点击确定,即可生成河流分级显示图(图 29) 。 图 28 图 29 提取河口(又称出水口或倾泻点)操作: ArcToolBox 中选择“Data Management Tools”→“Features”→“Feature vertices to point”(图 30) 。对话框中有三个选项(图 31) ,分别为: a. “输入要素(input feature) ” ,即矢量河流(StT_St_O_hk_8_6); b. “输出要素类(output feature class)”即输出的路径。 c. “点类型(point type) ” ,选择“END”; 确定后生成矢量河流(StT_St_O_hk_8_6)的河口(FV_Poi hk_8_6,图 32) 。 图 30 图 31 图 32 8. 捕捉倾泻点 通过河流分级之后提取河网,并利用【要素折点转点】工具提取其终点作为出水口。由 于各个栅格数据不是从同一份 DEM 中分析出来的, 提取的出水口必须要使用 【捕捉倾泻点】 工具来重新校正,校正过程是找到倾泻点附近的区域流量栅格中的最大值,确保这个流量值 是由上游区域贡献的流量。否则,实际输出的倾泻点数据有可能不是该区域的流量栅格最大 值,导致出现非常细小的流域面。 提取捕捉倾泻点操作: ArcToolBox 中选择“Spatial Analyst Tools”→“Hydrology”→“Snap pour point”(图 33)。对 话框中有五个选项(图 34) ,分别为: a. “输入栅格数据或要素倾泻点数据(input raster or feature pour point data) ” ,即出水口栅 格(FV_Poi hk_8_6); b. “倾泻点字段(pour point field)” ,自动填; c. “输出蓄积栅格数据(input accumulation raster)”即筛选后的流量栅格(Con_hk_8_6) 。 d. “输出栅格(output raster) ”即输出的路径。 e. “捕捉距离(snap distance) ” ,默认为 0; 确定后生成校正后的倾泻点(Sn_P_hk_8_6,图 35) 。 图 33 图 34 图 35 9. 分水岭 有了上一步的捕捉到的倾泻点数据,就可以利用【分水岭】工具提取流域。 提取捕捉倾泻点操作: ArcToolBox 中选择“Spatial Analyst Tools”→“Hydrology”→“Watershed”(图 36) 。对话框 中有四个选项(图 37) ,分别为: a. “ 输 入 栅 格 数 据 或 要 素 倾 泻 点 数 据 ( input flow direction raster )”, 即 流 向 栅 格 (fl_dir_hk_8_6); b. “输入栅格数据或要素倾泻点数据(input raster or feature pour point data)”,即出水口栅 格(Sn_P hk_8_6); c. “倾泻点字段(pour point field)”,自动填; d. “输出栅格(output raster) ”即输出的路径。 确定后生成流域栅格(Watsh_hk_8_6,图 38) 。 提取的流域可通过【栅格转面】工具转为矢量面数据。 栅格转面操作: ArcToolBox 中选择“Conversion Tools”→“From raster”→“raster to polygon”(图 39)。对 话框中有三个选项(图 40) ,分别为: a. “输入栅格(input raster) ” ,即流域栅格(Watsh_hk_8_6); b. “字段(field) ” ,自动填。 c. “输出面要素(output polygon feature) ” ,即输出的路径; 确定后生成面文件(Watshed_hk_8_6,图 41) 。 图 36 图 37 图 38 图 39 图 40 图 41 以下步骤属于水库库容计算的内容,即根据水位的海拔高度计算出水库蓄水时的淹没区 及库容。库容的体积即为某一海拔高度至出水口,二者高差下的河谷体积。为什么要计算河 谷体积呢?在裂点相对发育的河道,河谷体积相当于裂点沿干流溯源侵蚀的体积。若计算出 某一海拔高度至出水口的河谷体积和某一高度的流域面积,结合已有的侵蚀速率数据,可计 算出裂点溯源侵蚀后退的时长。 10. 裁剪 DEM 利用集水区边界裁剪原始的 DEM。注意,因后续要基于原始 DEM 去计算体积,因此拟 裁剪的 DEM 是原始 DEM,而不是填洼过的无凹陷点 DEM。切记。 11. 裁剪 DEM 操作: ArcToolBox 中选择“Data Management Tools”→“Raster”→“Raster processing”→“Clip”(图 42) 。对话框中需要填三个选项(图 43) ,分别为: a. “输入栅格(input raster) ” ,即原始 DEM 栅格(HK_DEM_8_6); b. “输出范围(Output extent) ” ,即提取的流域面(Watshed_hk_8_6)。 c. “输出栅格数据集(output raster dataset) ”,即输出的路径; 输入后必须勾选(Use input features for clipping geometry),其余无需勾选。 确定后生成裁剪后的 DEM(HK_DEM_Clip_8_6,图 44) 。 图 42 图 43 图 44 12. 设为空函数 根据水位的海拔高度和与下垫面之间的空间,即可计算出水库蓄水时淹没的区域,即水 库的库容。ArcGIS 提供了【设为空函数】工具,计算蓄水的边界。 ArcToolBox 中选择“Spatial analyst Tools”→“Conditional”→“Set null”(图 45)。对话框中 需要四个选项(图 46) ,分别为: a. “ 输 入 条 件 栅 格 数 据 ( input conditional raster )”, 即 裁 剪 后 的 DEM 栅 格 (HK_DEM_Clip_8_6); b. “表达式(Expression) ” ,即水位的海拔高度(Value > 433.2, (实际为裂点海拔高度)) 。 c. “输入条件为 false 时所取的栅格数据或常量值(input false raster or constant value) ”,即 即裁剪后的 DEM 栅格(HK_DEM_Clip_8_6); d. “输出栅格(output raster) ” ,即输出的路径; 确定后生成最大水位时的淹没区的 DEM(setN_hk_8_6,图 47) 。 图 45 图 46 图 47 13. 计算库容 计算库容操作: ArcToolBox 中选择“3D analyst Tools”→“Functional surface”→“Surface volume”(图 48) 。 对话框中需要四个选项(图 49) ,分别为: a. “输入表面数据(input surface)” ,即最大水位时的淹没区的 DEM(setN_hk_8_6); b. “输出文本文件(Output text file)” ,输出的路径,文本文件(testV.txt)记录计算结果。 c. “参考平面(reference plane) ” ,选择“below” ,表示取最高海拔的平面之下的下垫面; d. “平面高度(Plane height) ”和 Z 因子默认即可; 确定后计算结果将记录在 testV.txt 中(setN_hk_8_6,图 50) 。 图 48 图 49 图 50
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )