(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
流域综合处理
流域综合治理是根据流域自然和社会经济状况及区域国民经济发展的要求,以流域水流失治理为中心,以提高生态经济效益和社会经济持续发展为目标,以基本农田优化结构和高效利用及植被建设为重点,建立具有水土保持兼高效生态经济功能的半山区流域综合治理模式。数字高程模型(DEM)是目前用于流域地形分析的主要数据。DEM数据中包含了丰富的地形、地貌、水文信息,它能够反映各种分辨率下的地形特征。通过DEM可以提取精准的地表形态信息,如流域网格单元的坡向、坡度、流向、汇流区域及单元格之间的关系等,它是进行径流模拟和流域控制的地形与水文数据基础。
目录
6.1 实验内容及目的
6.1.1 实验内容
6.1.2 实验目的
6.2 操作流程
6.2.1 环境设置
6.2.2生成DEM
(1)创建 TIN:
(2)TIN转DEM:
6.2.3提取集水区
(1)填洼:
(2)流向:
(3)流量:
(4)提取集水区:
6.2.4 提取河网
6.2.5 流域分析
6.2.6 制作专题图
6.1 实验内容及目的
6.1.1 实验内容
本实验以某流域为例,介绍小流域综合治理规划过程。利用等高线数据生成DEM,在DEM数据基础上提取水文要素、河网、流域范围数据,再采用ArcGIS的水文分析工具进行流域划分与统计分析,得到流域综合治理专题图。
(1)以outlet为出水口,提取出流域集水区范围,像元大小为30m。
(2)提取出流域范围内汇水面积累积量>100m’的河道,并对河网进行分级。
(3)以提取的河道网络为出水口,对流域进行子流域划分,对于面积<1hm'(1hm'=10000m’)的微小流域,按照边长最大原则进行合并处理。
(4)以表格形式统计流域中每一个子流域的地形高度特征(最小高度、最大高度、平均高度)。
(5)制作专题图,专题图要求以地形特征为背景,体现出流域河流水系和子流域分区特征并将专题图以.jpg的图片格式输出。
6.1.2 实验目的
(1)掌握数字高程模型的构建;了解基于DEM 水文分析的基本原理。
(2)熟悉水文学中出水口、子流域等基本概念;熟悉水文学中集水流域、河网等基本概念
(3)掌握ArcGIS中区域统计的方法。
(4)了解专题图的含义,掌握ArcGIS中专题图的制作方法。
首先利用等高线、高程点数据,生成DEM,然后进行水文分析,提取流向、流量、河网,流域范围数据,再提取出流域范围内的河网并对河网进行分级,利用流域分析工具对流域进行子流威划分,合并微小流域后进行统计分析,最后制作流域分析专题图。
6.2 操作流程
6.2.1 环境设置
将等高线(terlk-l)、高程点(terlk-p)、流域出水口(outlet)、研究范围(box)数据导人ArcMap中。在ArcMap主菜单中点击【地理处理】-【环境设置】,设置工作空间、输出坐标系、处理范围、像元大小等参数,环境设置如下图所示:


6.2.2生成DEM
使用等高线terlk_1和高程点terlk_p数据生成TIN,基于合理的采样间距将TIN转成DEM。
(1)创建 TIN:
点击 ArcToolbox中的【3D Analyst】-【数据管理】--【TIN】-【创建 TIN】“输人要素类”设为 terlk-l、terk-p,修改“高度字段”为“高程”,确定输出路径及名称,设置如下图:

点击【确定】,生成 TIN 数据。

(2)TIN转DEM:
在ArcToolbox中,点击【3D Analyst】-【转换】--【由TIN 转出】→(TIN转栅格】,输人TIN数据,像元大小设为30m,确定输出路径及名称,设置如下图:

点击【确定】,生成DEM 数据如下图:

6.2.3提取集水区
对已有的DEM数据,进行洼地填充,生成无注地DEM。在此基础上计算出水流方向矩阵、汇流累积矩阵,并结合出水口数据,提取栅格集水区。集水区提取流程如下所示。
(1)填洼:
在AreToolbox中点击【空间分析】--【水文分析】--【填洼】,对DEM进行填洼,填洼设置如下图所示:

填洼后结果如图:

(2)流向:
在ArcToolbox中点击【空间分析】--【水文分析】-【流向】,利用填注后的DEM获取流向数据。流向设置如下图所示:

流向结果如下图所示:

(3)流量:
在ArcToolbox中点击【空间分析】--【水文分析】-【流量】,利用流向栅格数据获取流量数据。流量设置如下图所示:

生成的汇流累积量结果如下图所示:

(4)提取集水区:
在ArcToolbox中点击【空间分析】-【水文分析】-【集水区】,输入流向和出水口(outlet)数据,提取集水区。提取集水区设置如下图所示:

结果如下图所示:

这里需要主要!!!
如果你用的实验给出的数据,将会出现下面这幅图

会发现少了很多东西,打开output属性表发现也只有一个点,那该咋办呢,其实很简单,这个output其实就是出水口点数据,大家可以回忆一下,实验五是不是也有求出水口那一步,而且刚好也是用的DEM数据,所以,大家可以退回实验五,按照上面的操作自己提取output出来。
6.2.4 提取河网
基于集水区范围,提取集水区内流向、汇流累积量。当汇流量达到一定值时,就会产生地表水流,所有汇流量大于阈值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是栅格河网。河流链接的每条弧段连接着两个作为出水口或汇合点的结点,或者连接着作为出水口的结点和河网起始点。因此,通过河流链接计算,即得到每一个河网弧段的起始点和终止点,也可以得到该汇水区域的出水点。而河网分级是一种将级别数分配给河流网络中的连接线的方法。此分级是一种根据支流数对河流类型进行识别和分类的方法。
(1)集水区流向、流量提取:在AreToolbox中点击【空间分析】->【提取分析】-【按掩膜提取】,提取出集水区域内的流向、流量数据,设置如下图所示:


结果如图:


(2)提取河道:在ArcToolbox中点击【空间分析】-【地图代数】-【栅格计算器】,输入如下图所示条件:

提取栅格河道,结果如下图所示。

(3)河流链接:在 ArcToolbox中点击【空间分析】--【水文分析】-【河流链接】,输入集水区域内的河网和流向如下图:

点击【确定】,生成河网数据。

(4)河网分级:在ArcToolbox中点击【空间分析】--【水文分析】-【河网分级】工具,将河网分级,设置如下图所示:

结果如下图所示。

(5)栅格河网天量化:在ArcToolbox中点击【空间分析】->【水文分析】-【栅格河网矢量化】,将栅格河网转为矢量格式。输入相应数据如下图:

点击【确定】,生成栅格河网矢量化结果。

(6)平滑:启动编辑器,选择对河网天量化数据进行编辑,点击【编辑器】-【更多编辑工具)【高级编辑】。打开高级编辑工具条,选中“SreamT-net”中的所有目标,点击【平滑】,打“平滑“窗口,“最大允许偏移"设置为“4”:

点击【确定】,得到河网平滑结果:

6.2.5 流域分析
以提取的河道网络为出水口,利用分水岭工具对流域进行子流域划分,对于面积<1hm’的微小流域,按照边长最大原则进行正确处理,最后以表格形式统计流域中每一个子流域的地形高度特征,包括最小高度、最大高度、平均高度等。
1.提取子流域
在ArcToolbox中点击【空间分析】【水文分析】-【分水岭】,以经过Shreve 分级后河网数据作为出水口,输人相应参数:

点击【确定】,输出子流域区:

2.合并微小流域
(1)栅格转面:在ArcToolbox中点击【转换工具】--【由栅格转出】-【栅格转面】,打开“栅格转面”窗口,输人相应数据:

输出栅格转面结果:

(2)符号化:双击矢量子流域数据,点击【符号系统】-【类别】→【唯一值】,选择“GRIDCODE”值字段,点击【添加所有值】【确定】:

输出流域符号化结果:

(3)添加area 字段:右键点击矢量子流域数据,点击【打开属性表】-【表选项】-【添加字段】,添加一个名为 area的双精度字段:

(4)计算几何:右键点击area字段,点击【计算几何】,选择面积单位为平方米。

(5)筛选微小流域:右键点击矢量子流域数据,点击【打开属性表】->【表选项】->【按属性选择】,输人“"area"<10 000”,点击【确定】,则微小流域在图中高亮显示:

(6)合并微小流域:对于面积<1hm’的微小流域,按照边长最大原则对其进行合并处理。点击ArcToolbox中【数据管理工具】-【制图综合】-【消除】,输入矢量子流域,输出合并处理后的子流域,设置结果如下图所示:

得到子流域合并结果,如下图所示。

3.统计子流域地形高度特征
(1)以表格显示分区统计:在ArcToolbox中点击【空间分析】-【区域分析】-【以表格显示分区统计】,输入合并后的子流域,输入赋值栅格选择DEM,输出地形高度特征表,设置如下图所示。

(2)制作Excel表格:在ArcToolbox中点击【转换工具】→>【Excel】-【表转Excel】(图6.39),将属性表导出为Excel文件

结果如表如下所示。

6.2.6 制作专题图
(1)设置纸张大小:点击菜单栏【文件】--【页面和打印设置】,设置合适的宽度和高度
(2)添加格网:点击菜单栏【视图】【数据框属性】--【格网】->【新建格网】,选择创建“方里格网”,然后按照提示完成格网的创建。
(3)添加地图整饰:点击菜单栏【插入】下的按钮,为地图添加标题、比例尺、指北针等要素
(4)导出地图:点击菜单栏【文件】--【导出地图】,导出专题图。
最终专题图:

感谢三连!!!
相关文章:
(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
流域综合处理 流域综合治理是根据流域自然和社会经济状况及区域国民经济发展的要求,以流域水流失治理为中心,以提高生态经济效益和社会经济持续发展为目标,以基本农田优化结构和高效利用及植被建设为重点,建立具有水土保持兼高效生态经济功能的半山区流域综合治理模式。数字高程…...
单片机串口打印printf函数显示内容(固件库开发)
1.hal_usart.c 文件 #include <stdio.h> #include "hal_usart.h" #include "stm32F10x.h"//**要根据 使用的是哪个串口 对应修改 串口号 eg:USART1** void USART_PUTC(char ch) {/* 等待数据寄存器为空 */while((USART1->SR & …...
SystemVUE安装与入门
安装参考Keysight PathWave SystemVue 2023 软件下载与安装教程 – 吴川斌的博客 初步使用参考SystemVue软件详解与安装-CSDN博客,除了“在窗口右边下面切换到Workspace Variables面板中可以验证Equation1确实能够读取到Data Flow Analysis的变量”步骤没有实现外&…...
unity使用内置videoplayer打包到安卓手机进行视频播放
1.新建UI,新建RawImage在画布当作视频播放的显示载体 2.新建VideoPlayer 3.新建Render Texture作为连接播放器视频显示和幕布的渲染纹理 将Render Texture同时挂载在VideoPlayer播放器和RawImage上。这样就可以将显示的视频内容在RawImage上显示出来了。 问题在于&a…...
WPS mathtype间距太大、显示不全、公式一键改格式/大小
1、间距太大 用mathtype后行距变大的原因 mathtype行距变大到底怎么解决-MathType中文网 段落设置固定值 2、显示不全 设置格式: 打开MathType编辑器点击菜单栏中的"格式(Format)"选择"间距(Spacing)"在弹出的对话框中调整"分数间距(F…...
堆的存储(了解)
由于堆是⼀个完全⼆叉树,因此可以⽤⼀个数组来存储。(如果不清楚大家可以回顾⼆叉树的存储(上)c文章里的顺序存储) 结点下标为 i : 如果⽗存在,⽗下标为 i/2 ; 如果左孩⼦存在&…...
AIGC时代的Vue或React前端开发
在AIGC(人工智能生成内容)时代,Vue开发正经历着深刻的变革。以下是对AIGC时代Vue开发的详细分析: 一、AIGC技术对Vue开发的影响 代码生成与自动化 AIGC技术使得开发者能够借助智能工具快速生成和优化Vue代码。例如,通…...
数据结构 前缀中缀后缀
目录 前言 一,前缀中缀后缀的基本概念 二,前缀与后缀表达式 三,使用栈实现后缀 四,由中缀到后缀 总结 前言 这里学习前缀中缀后缀为我们学习树和图做准备,这个主题主要是对于算术和逻辑表达式求值,这…...
【RocketMQ 存储】- broker 端存储单条消息的逻辑
文章目录 1. 前言2. DefaultMessageStore#asyncPutMessage 添加单条消息2.1 DefaultMessageStore#checkStoreStatus 检查存储服务的状态2.2 DefaultMessageStore#checkMessage 校验消息长度是否合法2.3 CommitLog#asyncPutMessage 核心存储逻辑2.4 MappedFile#appendMessage2.5…...
.Net / C# 分析文件编码 并将 各种编码格式 转为 另一个编码格式 ( 比如: GB2312→UTF-8, UTF-8→GB2312)
相关库 .Net 8 编码识别: github.com/CharsetDetector/UTF-unknown <PackageReference Include"UTF.Unknown" Version"2.5.1" />代码 using UtfUnknown;var dir_path "D:\\Desktop\\新建文件夹2\\新建文件夹"; var dir_new_path &quo…...
Linux文件原生操作
Linux 中一切皆文件,那么 Linux 文件是什么? 在 Linux 中的文件 可以是:传统意义上的有序数据集合,即:文件系统中的物理文件 也可以是:设备,管道,内存。。。(Linux 管理的一切对象…...
(undone) MIT6.S081 2023 学习笔记 (Day7: LAB6 Multithreading)
网页:https://pdos.csail.mit.edu/6.S081/2023/labs/thread.html 任务1:Uthread: switching between threads (moderate) (doing) 在这个练习中,你将设计一个用户级线程系统中的上下文切换机制,并实现它。为了帮助你开始…...
doris:导入时实现数据转换
Doris 在数据导入时提供了强大的数据转换能力,可以简化部分数据处理流程,减少对额外 ETL 工具的依赖。主要支持以下四种转换方式: 列映射:将源数据列映射到目标表的不同列。 列变换:使用函数和表达式对源数据进行实时…...
2021版小程序开发4——基础加强
2021版小程序开发4——基础加强 学习笔记 2025 自定义组件组件中behaviors的作用安装和使用vant-weapp组件库使用MobX实现全局数据共享对小程序的API进行Promise化 具体的内容还包括:使用npm包、全局数据共享、分包和自定义tabBar的案例; 1 自定义组件 …...
Zookeeper入门部署(单点与集群)
本篇文章基于docker方式部署zookeeper集群,请先安装docker 目录 1. docker初期准备 2.启动zookeeper 2.1 单点部署 2.2 集群部署 3. Linux脚本实现快速切换启动关闭 1. docker初期准备 拉取zookeeper镜像 docker pull zookeeper:3.5.6 如果拉取时间过长…...
【AI非常道】二零二五年一月(二),AI非常道
经常在社区看到一些非常有启发或者有收获的话语,但是,往往看过就成为过眼云烟,有时再想去找又找不到。索性,今年开始,看到好的言语,就记录下来,一月一发布,亦供大家参考。 有关AI非…...
jQuery小游戏(二)
jQuery小游戏(二) 今天是新年的第二天,本人在这里祝大家,新年快乐,万事胜意💕 紧接jQuery小游戏(一)的内容,我们开始继续往下咯😜 游戏中使用到的方法 key…...
【硬件测试】基于FPGA的QPSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
目录 1.算法仿真效果 2.算法涉及理论知识概要 2.1QPSK 2.2 帧同步 3.Verilog核心程序 4.开发板使用说明和如何移植不同的开发板 5.完整算法代码文件获得 1.算法仿真效果 本文是之前写的文章 《基于FPGA的QPSK帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可…...
NVIDIA GPU介绍:概念、序列、核心、A100、H100
概述 入职一家大模型领域创业公司,恶补相关知识。 概念 一些概念: HPC:High Performance Computing,高性能计算SoC:System on Chip,单片系统FLOPS:Floating Point Operations Per Second&am…...
LINUX部署微服务项目步骤
项目简介技术栈 主体技术:SpringCloud,SpringBoot,VUE2, 中间件:RabbitMQ、Redis 创建用户 在linux服务器home下创建用户qshh,用于后续本项目需要的环境进行安装配置 #创建用户 useradd 用户名 #设置登录密…...
C++ list 容器用法
C list 容器用法 C 标准库提供了丰富的功能,其中 <list> 是一个非常重要的容器类,用于存储元素集合,支持双向迭代器。<list> 是 C 标准模板库(STL)中的一个序列容器,它允许在容器的任意位置快速…...
解密全同态加密中的自举(Bootstrapping)
摘要 自举(Bootstrapping)是全同态加密(Fully Homomorphic Encryption, FHE)中经常使用的术语。熟悉 FHE 的人都知道,自举是 FHE 方案中最复杂且计算密集的部分。然而,只有极少数非 FHE 专家真正理解自举操…...
C#方法(练习)
1.定义一个函数,输入三个值,找出三个数中的最小值 2.定义一个函数,输入三个值,找出三个数中的最大值 3.定义一个函数,输入三个值,找出三个数中的平均值 4.定义一个函数,计算一个数的 N 次方 Pow(2, 3)返回8 5.传入十一…...
显示当前绑定变量
来自v$sql中的信息 测试两个变量的情况(实际可以看6个,可根据需要修改) DROP TABLE T1 PURGE; CREATE TABLE T1 AS SELECT A.*,SYSDATE RIQI FROM DBA_USERS A ORDER BY 1;var mc char(3); var id number; exec :mc:SYS; exec :id:50;set li…...
随机森林例子
完整代码: # 导入必要的库 from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import numpy as np# 加载鸢尾花数…...
2025年1月个人工作生活总结
本文为 2025年1月工作生活总结。 研发编码 使用sqlite3命令行查询表数据 可以直接使用sqlite3查询数据表,不需进入命令行模式。示例如下: sqlite3 database_name.db "SELECT * FROM table_name;"linux shell使用read超时一例 先前有个编译…...
arm-linux-gnueabihf安装
Linaro Releases windows下打开wsl2中的ubuntu,资源管理器中输入: \\wsl$gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 复制到/home/ark01/tool 在 Ubuntu 中创建目录: /usr/local/arm,命令如下: …...
vscode和pycharm的区别
VSCode(Visual Studio Code)和 PyCharm 是两款常用的 Python 开发工具,它们在功能和使用体验上有一些关键区别: 1. 核心定位 VSCode:轻量级、多语言支持的代码编辑器,依靠插件扩展 Python 开发能力。PyCh…...
宝塔面板SSL加密访问设置教程
参考:https://www.bt.cn/bbs/thread-117246-1-1.html 如何快速使用证书加密访问面板 因早期默认未开启https访问所以没有相关的风险提醒,现面板默认已开启https加密访问、提升安全性 由于采用的是服务器内部本身签发证书,不被公网浏览器信任请参考以下步…...
Baklib在知识管理创新中的价值体现与其他产品的优势比较分析
内容概要 在当前的数字化时代,知识管理成为企业成功的重要组成部分。有效的知识管理不仅有助于提升内部沟通效率,还能促进创新与决策的科学化。尤其是Baklib作为一种知识中台,具有独特的价值,它能够融合企业内外的知识资源&#…...
