基于DEM的河道平均坡降快速计算
2022-08-11孟祥永朱引弟
孟祥永,朱引弟
(1.浙江省水利河口研究院,浙江 杭州 310020;2.浙江省水利水电技术咨询中心,浙江 杭州 310020)
工程水文计算是水利规划和工程设计的重要前期工作,是确定工程规模的基本依据。对于无实测资料的小流域设计洪水计算,需要由设计暴雨推求设计洪水。这时,一般采用推理公式法或者瞬时单位线法来计算。由于河道平均坡降能够反映河道沿程高程变化,推理公式法和瞬时单位线法均把河道平均坡降作为最重要的3个流域参数(分别为流域面积、河道长度、河道平均坡降)之一,在小流域设计洪水计算中不可或缺。在流域面积和河道长度相当的情况下,一般河道平均坡降越大,河道上下游落差越大,河道水流在重力影响下流速越大,汇流时间减少,相同降水形成河道洪峰流量增大。因此,河道平均坡降的计算在工程水文计算中具有现实意义。在工程实际中,河道平均坡降计算一般在CAD和Excel中完成,操作者结合等高线的疏密分布,分段量取河长并读取河段上下游高差,依次输入Excel工作表,应用公式完成单条河道平均坡降计算,结果易受人为因素影响,对于多条河道的平均坡降计算,存在大量重复性工作。DEM(数字高程模型)的栅格数据包含了基于栅格位置的高程信息,能够反映流域总体地形情况,随着地理信息技术的发展,DEM获取技术更加成熟,在水文科学中应用也更加广泛[1-2]。近年来,国内外已有很多学者开展了诸多借助DEM数据获取流域面积、河道长度等流域特征参数的研究[3-4]。
ArcGIS软件基于空间信息和属性信息,具有强大数据处理功能,提供了空间分析、数据管理、水文分析等多样化数据处理工具,能够完成对数据的统一处理,以满足数据使用要求,针对同一数据源的操作,能够实现批量化以及结果统一的优点,避免人为干扰。该软件的不足是操作者需要依次运行多个工具来操作,针对该问题,软件提供了ModelBuilder模型构建器,可以将多个工具关联按流程执行,实现数据处理的自动流程化,满足重复应用需求,省时省力。论文尝试应用ModelBuilder模型构建器实现多条河道平均坡降的计算,为提取水文信息提供参考。论文以流域DEM和河道中心线要素作为基础数据,将ArcGIS水文工具、分析工具和数据管理工具进行关联整合,应用ArcGIS中ModelBuilder建模工具构建了基于DEM数据的河道平均坡降一键计算程序,达到河道平均坡降快速计算的目的。这里选取浙江省10个典型小流域,开展河道平均坡降计算。通过与《浙江省河流手册》成果数据对比分析,表明程序具有准确、高效的特点,采用ModelBuilder建模工具实现流域参数的快速获取,能够为相关研究的开展提供支撑。
1 计算方法
比降是指河段落差与相应河段长度的比值。单位河长的落差即为河道平均坡降(也称为河道纵比降)。通常河道的坡度是随河道沿程不断变化的,需要分段计算河道坡降。由于等高线是反映地形变化最基本的要素,因此以等高线作为河段划分的依据,最后按河长加权平均。计算公式为
式中:SL为河道平均坡降,1/1 000;n为根据高程变化划分的河段数量;hi为从下游起第i段河道起点高程(i=1,2,…,n+1),m;hi+1为从下游起第i段河道终点高程(i=1,2,…,n+1),m;li为从下游起第i段河道长度,m;H1为河道下游起点高程,m;l为河道总长度,m。
2 模型构建器
2.1 工具简介
ArcGIS是美国ESRI公司开发的一套功能强大的GIS软件,为处理地理信息数据提供了多样化的空间分析和处理工具。ModelBuilder模型构建器是ArcGIS中一种用于构建工作流的可视化编程语言,可以创建新的工具集合,并结合应用目的和效果进行不断编辑、调整,最终由操作者保存管理。模型实质上是将原数据到最终结果会用到的地理处理工具及数据汇集在一起,并按照一定的规则次序串联在一起,下一个工具的输入连接上一个工具的输出。工具集建好以后,运行该应用程序,模型会自动地依次执行工作流程,得到用户所需要最终结果,加速复杂地理处理模型的设计和实施[5]。除此之外,ModelBuilder模型构建器甚至还可将ArcGIS与其他应用程序集成,进行应用拓展。
2.2 基本结构
ModelBuilder模型构建器主要由四部分组成,分别为输入数据、输出数据、地理处理工具以及将前三者连接在一起的连接符。其中,输入输出数据可以是矢量数据(.shp,.dwg等)、栅格数据(dem,遥感影像等)和表数据等数据类型,而地理处理工具可以是工具箱、脚本、命令行、模型等。模型构建的过程,即在已有数据的基础上,应用某个操作流程得到新的信息或数据[6]。单流程处理模型和复杂流程处理模型分别见图1和图2。
图1 单流程处理模型
图2 复杂流程处理模型
2.3 设计流程
建模时,需要在“模型构建器”中添加一个工具并为该工具的各参数设定数值,完成一个流程构造,再将各流程逐一连接。
2.3.1 创建新模型
启动ArcMap,新建或打开已有.mxd类型地图文档。单击ArcMap标准工具条上的模型构建器按钮,打开模型构建器界面。
2.3.2 向模型添加工具和数据
向模型添加工具和数据的方式主要有3种:
第1种 单击地理处理打开搜索工具对话框,输入工具名称,找到所需搜索项,将其拖动到“模型构建器”画布的空白区域中。
第2种 在arc toolbox窗口和目录窗口中,找到所需工具或数据,并拖入“模型构建器”。
第3种 在“模型构建器”标准工具条上单击添加数据或工具按钮,导航到所需工具或数据,单击添加。
2.3.3 填入工具参数
数据或工具添加到模型中称为模型元素,包含三种基本元素:变量(例如,数据集)、工具和连接符。根据工具功能和执行意图确定变量,然后从参数或环境中获取变量,变量将作为输入要素,通过图形化界面供用户交互式选择。同时还可以使用迭代器(For,While,Multi-value,File等)完成诸如对文件夹内文件的批量处理工作。
2.3.4 运行并保存模型
模型开始运行,输出会添加到显示中。模型完成运行后,工具(黄色矩形)和输出变量(绿色椭圆)的周围会显示下拉阴影,表示这些工具已经运行过。最后根据建模目的对模型命名并保存,以便下次应用。
3 模型构建
3.1 数据准备
应用ModelBuilder模型构建器实现河道平均坡降的快速计算包括数据准备和流程图设计,其中,数据准备工作包括2个方面。河道平均坡降一键计算程序以河道中心线、研究区DEM数据作为基本输入数据。
3.1.1 河道中心线
论文采用河道中心线从地形图中提取,提取时应保证河道中心线连续,同一条河道上河道中心线应合并为一条。再由CAD数据转为ArcGIS中shapefile线要素[7],添加名称字段并分别命名。如果缺少地形图数据,也可借助DEM生成,在水文分析工具中依次完成水流地表模拟过程中的填洼、流向确定、累计水流计算及栅格型水系的生成,矢量化为水系单线要素[8]。由于DEM分辨率会对河道中心线提取造成影响,在提取前需选择合适的DEM分辨率[9]和对河道中心线进行适当的修正。水文分析工具中河道中心线生成顺序见表1。
表1 水文分析工具中河道中心线生成步骤
3.1.2 研究区DEM
DEM数据的获取方式有多种,可以通过倾斜摄影获取,也可以由地形图中等高线和高程点生成[10]。笔者采用的DEM由地形图生成,包括如下步骤:1) 数据转换。从地形图中提取等高线和高程点图层,导入ArcGIS数据库,检查高程数据是否合理。2) 创建Tin。点击菜单3D Analyst/Data Management/Create Tin。输入要素选择高程点与等高线,高度字段选择“Elevation”。3) Tin转栅格。3D Analyst/Data Management/Convert/Convert From Tin/Tin To Grid。输入要素选择“Tin”,采样距离cellsize根据地形图比例尺确定。
3.2 流程图设计
数据准备后,确定河道平均坡降计算中涉及的处理工具和主要步骤。流程图设计中以安吉浒溪为例展示分步执行结果。
3.2.1 处理工具
在三维分析工具中完成DEM到等值线的生成;在分析工具中自动完成要素转线、裁剪、筛选、汇总统计工具;在水文分析模型中,自动完成河段长度计算和河段坡降计算;在数据管理工具中,自动完成字段的添加、计算以及连接。
3.2.2 设计思路
1) 河道中心线处理。添加并计算河道标识字段,输入各河道河名。实例中河名字段赋值为浒溪。
2) 等高线提取。由DEM生成等高线,等高线间距为5 m。为减少计算工作量,可以以河道中心线为参考建立缓冲区,对DEM先掩膜处理。浒溪流域高程范围11~893 m,生成等值线186条。
3) 河道中心线分割。以等高线作为分割要素将河道中心线分割成若干小段。浒溪河长34.5 km,总计划分河段187段,平均河段长度184 m。
4) 河道中心线分段坡降计算。筛选出分割后河道中心线,添加相应字段,分别计算分段河长,获取分段起点及终点高程,统一减去最低点高程,作为各河段起点及终点的计算高程。以浒溪为例,起终点高程均减去11 m,作为计算高程,计算浒溪各河段纵剖面面积。
5) 河道平均坡降计算。将河道各段纵剖面面积加和汇总,计算整个河道纵剖面面积,按照河道平均坡降计算公式,完成各河道平均坡降计算,结果汇总表保存到默认地理数据库。浒溪河道纵剖面面积为4.82 km2,按河道长度34.5 km计算,河道平均坡降为8.1‰。
3.2.3 建模流程图
采用ModelBuilder模型构建器建模流程见图3~图5。
图3 等高线分割河道实现流程
图4 分段坡降计算实现流程
图5 河道平均坡降计算实现流程
4 案例应用
由浙江省水利厅编著,2016年出版的《浙江省河流手册》(简称《手册》),按照全国统一技术路线,利用3S等技术手段,对河道长度、坡降等信息进行了提取,数据可靠性高。《手册》采用DEM栅格分辨率为25 m,河道中心线基于DEM提取并进行平滑处理。笔者选取浙江省浒溪、松阴溪等10条河道,应用河道平均坡降一键计算程序快速计算河道平均坡降。为验证计算的可靠性,笔者将计算结果同《手册》中数据对比。从表2可以看出,两种方法量算总体相差在7%以内,平均相对误差绝对值为4.34%,表明运用ModelBuilder模型构建器构建的河道平均坡降一键计算模型具有高效、可靠的特点,能够满足工程水文计算要求。
表2 两种方法量算结果对比
5 结 语
笔者应用ModelBuilder模型构建器构建了河道平均坡降一键计算程序,能够快速实现多条河道平均坡降计算的流程化、批量化,操作方便,同时保证了对于同一数据源,能够形成同一计算结果,避免人为因素影响。论文通过实例证明,该方法可靠、高效,能够满足工程水文计算的需求,推广应用该方法可为工程水文计算人员节省大量时间。由于河道平均坡降提取容易受到DEM分辨率的影响,论文采用的DEM数据能够得到较为可靠的结果,并不一定适用于其他DEM分辨率,对于DEM分辨率对河道平均坡降提取的影响需要进一步研究。