【ArcGIS】利用高程进行坡度分析:区域面/河道坡度

2024-02-24 09:52

本文主要是介绍【ArcGIS】利用高程进行坡度分析:区域面/河道坡度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在ArcGIS中利用高程进行坡度分析

  • 坡度
  • ArcGIS实操
    • 案例1:流域面上坡度计算
    • 案例2:河道坡度计算
      • 2.1 案例数据
      • 2.2 操作步骤
  • 参考

坡度

坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平距离的比值称为坡度。
坡度的表示方法有百分比法、度数法、密位法和分数法四种,其中以百分比法和度数法较为常用。

(1)百分比法:最为常用的方法,即两点的高程差与其水平距离的百分比,其计算公式如下:
坡度 = (高程差/水平距离)x100%

(2)度数法:用度数来表示坡度,利用反三角函数计算而得,其公式如下:
tanα(坡度)= 高程差/水平距离

通常,将坡度分为五级:

  • 1级:坡度≤2度
  • 2级:2<坡度≤6度
  • 3级:6<坡度≤15度
  • 4级:15<坡度≤25度
  • 5级:坡度>25度

ArcGIS实操

案例1:流域面上坡度计算

DEM图如下:
在这里插入图片描述
要基于高程数据进行坡度分析,需要在ArcMap开启扩展模块,选择“自定义\扩展模块”菜单可以选择需要开启的扩展模块。

选择“3D Analyst”和“Spatial Analyst”模块,即可开启ArcGIS的3D分析和空间分析功能。
在这里插入图片描述
点击“ArcToolbox”按钮,可以打开ArcGIS的GIS分析工具箱。在“ArcToolbox”中,双击“3D Analyst 工具\栅格表面\坡度”菜单,会显示“坡度”对话框。
在这里插入图片描述
在该对话框中,点击“输入栅格”的下拉列表可以选择“DEM.tif”文件,在“输出栅格”中可以设置结果保存路径,这里将结果保存到与原文件同目录中,并命名为“坡度_输出栅格”,点击“确定”按钮开始基于地球的高程数据进行坡度分析。
在这里插入图片描述
注意:
在该对话框中,前两项很常规,但Z因子参数需要注意。
如果在下载高程时,没有将“坐标投影”设置为西安80或北京54等平面坐标而是经纬度坐标的话,当输入了栅格后Z因子会弹出警告,这是因为在水平地面单位(度)与高程Z单位(米)之间度量单位不统一的原因。
由于经度的长度随着纬度而变化,因此需要为该纬度指定一个适当的Z因子。如果X、Y单位是十进制而Z单位是米,则一些适用于特殊纬度的适当Z因子参考值,如下表所示:

纬度(Latitude),单位:度Z因子(Z-Factor)
00.00000898
100.00000912
200.00000956
300.00001036
400.00001171
500.00001395
600.00001792
700.00002619
800.00005156

坡度分析结果如下图所示,如绿色到红色的渐变,坡度越来越大。
在这里插入图片描述

案例2:河道坡度计算

河道方向坡度是指沿着河道方向上的纵剖面坡度值,其计算方法与常规的区域内坡度值计算方法相区别,特殊的地学意义使其成为地形分析中的重要指标。而坡度与高程值具有依赖关系,提取出河道上各处的高程值是计算河道方向坡度值的前提。

本案例讲述使用地理信息系统软件以DEM数字高程模型作为高程数据,对矢量河道数据进行河道方向坡度计算,包括矢量河道数据的栅格化处理、河道高程值的提取及河道方向上坡度的计算,使读者灵活使用地理信息系统软件对地形指标进行快速计算。

2.1 案例数据

图层名称格式坐标系说明
demGRID栅格Krasovsky_1940_Transverse_Mercator数字高程模型数据
riversShapefile线要素Krasovsky_1940_Transverse_Mercator矢量河道线数据

2.2 操作步骤

(1)栅格化河道数据
在 ArcToolbox中,打开【Conversion Tools】→【To Raster】→【Polyline to Raster】对话框,【Input Features】设置为“rivers”,【Value field】设置为“GRID_CODE”,【Output Raster Dataset】设置为“str”,【Cellsize】设置为与“dem”相同;点击【OK】,得到栅格化后的河道数据。

(2)提取河道高程值
打开【Spatial Analyst Tools】→【Map Algebra】→【Raster Calculator】对话框,输入公式:“str” * “dem”,【Output raster】设置为“str_dem”;点击【OK】,得到河道的高程数据。

注:第(1)步中生成的河道栅格值为1,非河道栅格值为NoData,所以执行公式计算后,河道栅格值变为高程值,而非河道栅格值仍为NoData。

(3)计算坡度数据
打开【Spatial Analyst Tools】→【Surface】→【Slope】对话框,【Input raster】设置为“str_dem”,【Output raster】设置为“str_slope”;点击【OK】,得到河道方向上的坡度数据。

注:由于仅河道栅格有值,非河道栅格值为NoData,在坡度计算时,NoData不参与计算,所以结果坡度为河道方向上的坡度值。

参考

1、CSDN博客-ArcGIS基础实验操作100例–实验97计算河道方向坡度

这篇关于【ArcGIS】利用高程进行坡度分析:区域面/河道坡度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/741723

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种