GIS教程-空间分析之水文分析

简介: GIS教程-空间分析之水文分析

数据下载链接:数据下载链接

接收雨水的区域以及雨水到达出水口前所流经的网络被称为水系。流经水系的水流只是通常所说的水文循环的一个子集,水文循环还包括降雨、蒸发和地下水流。水文分析工具重点处理的是水在地表上的运动情况。“水文分析”工具用于为地表水流建立模型。

微信截图_20230110154053.png


盆域分析(Basin):创建描绘所有流域盆地的栅格。

填洼(Fill):通过填充表面栅格中的汇来移除数据中的小缺陷。

流量(Flow Accumulation):创建每个像元累积流量的栅格。可选择性应用权重系数。

流向(Flow Direction):创建从每个像元到其最陡下坡相邻点的流向的栅格。

水流长度(Flow length):计算沿每个像元的流路径的上游(或下游)距离或加权距离。

汇(Sink):创建识别所有汇或内流水系区域的栅格。

捕捉倾泻点(Snap pour point):将倾泻点捕捉到指定范围内累积流量最大的像元。

河流连接(Stream link):向各交汇点之间的栅格线状网络的各部分分配唯一值。

河网分级(Stream Order):为表示线状网络分支的栅格线段指定数值顺序。

栅格河网矢量化(Stream to Feature):将表示线状网络的栅格转换为表示线状网络的要素。

分水岭(Watershed):确定栅格中一组像元之上的汇流区域。


了解水系的术语,如下图:

微信截图_20230110154100.png


以下流程图显示的是从数字高程模型 (DEM) 中提取水文信息(如分水岭边界和河流网络)的过程:

微信截图_20230110154107.png


现在就以手中的这个DEM为例来依次使用工具集中的工具,来学习这部分功能:

微信截图_20230110154114.png


一、流向(Flow Direction)

流向工具的输出是值范围介于 1 到 255 之间的整型栅格。从中心出发的各个方向值为:

微信截图_20230110154122.png


例如,如果最陡下降方向位于当前处理像元的左侧,则将该处理像元的流向编码将为 16。


如果像元的 z 值在多个方向上均发生相同变化,并且该像元是凹陷点的一部分,则该像元的流向将被视为未定义。此时,该像元在输出流向栅格中的值将为这些方向的总和。例如,如果 z 值向右(流向 = 1)和向下(流向 = 4)的变化相同,则该像元的流向为 1 + 4 = 5。可以使用汇工具将具有未定义流向的像元标记为凹陷点。

微信截图_20230110154130.png


二、汇(Sink)

汇是指流向栅格中流向无法被赋予八个有效值之一的一个或一组空间连接像元。汇被视为具有未定义的流向,并被赋予等于其可能方向总和的值。


汇工具的输出是一个整型栅格,其中每个汇都被赋予一个唯一值。汇的编号介于 1 到汇的数量之间。

微信截图_20230110154137.png


三、填洼(Fill)

通过填充表面栅格中的汇来移除数据中的小缺陷。


凹陷点是指具有未定义流域方向的像元;其周围的像元均高于它。倾泻点相对于凹陷点的汇流区域高程最低的边界像元。如果凹陷点中充满了水,则水将从该点倾泻出去。


TIPS:有关填充的Z限制


要填充的凹陷点与其倾泻点之间的最大高程差。如果凹陷点与其倾泻点之间的 z 值差大于 z 限制,则不会填充此凹陷点。


默认情况下将填充所有凹陷点(不考虑深度)。


四、流量(Flow Accumulation)

创建每个像元累积流量的栅格。流量累积将基于流入输出栅格中每个像元的像元数。

高流量的输出像元是集中流动区域,可用于标识河道。流量为零的输出像元是局部地形高点,可用于识别山脊。


流量工具不遵循压缩环境设置。输出栅格将始终处于未压缩状态。

微信截图_20230110154143.png


通过上面的填洼,求流向,得到如下流量图,看到了河道:

微信截图_20230110154150.png


五、河网分级(Stream Order)

河网分级是一种将级别数分配给河流网络中的连接线的方法。此级别是一种根据支流数对河流类型进行识别和分类的方法。仅需知道河流的级别,即可推断出河流的某些特征。


河网分级工具有两种可用于分配级别的方法。这两种方法由 Strahler (1957) 和 Shreve (1966) 提出。在这两种方法中,始终将 1 级分配给上游河段。


Strahler 河流分级方法:

在 Strahler 法中,所有没有支流的连接线都被分为 1 级,它们称为第一级别。当级别相同的河流交汇时,河网分级将升高。


因此,两条一级连接线相交会创建一条二级连接线,两条二级连接线相交会创建一条三级连接线,依此类推。但是,级别不同的两条连接线相交不会使级别升高。例如,一条一级连接线和一条二级连接线相交不会创建一条三级连接线,但会保留最高级连接线的级别。

微信截图_20230110154157.png


Shreve 河流分级方法:

Shreve 法考虑网络中的所有连接线。与 Strahler 法相同,所有外连接线都被分为 1 级。但对于 Shreve 法中的内连接线,级别是增加的。例如,两条一级连接线相交会创建一条二级连接线,一条一级连接线和一条二级连接线相交会创建一条三级连接线,而一条二级连接线和一条三级连接线相交则会创建一条五级连接线。


因为级别可增加,所以 Shreve 法中的数字有时指的是量级,而不是级别。在 Shreve 法中,连接线的量级是指上游连接线的数量。

微信截图_20230110154205.png


六、栅格河网矢量化(Stream to Feature)

栅格河网矢量化工具使用的算法主要用于矢量化河流网络或任何表示方向已知的栅格线性网络的栅格。


该工具使用方向栅格来帮助矢量化相交像元和相邻像元。可将两个值相同的相邻栅格河网矢量化为两条平行线。


这与栅格转折线 (Raster to Polyline) 工具相反,后者通常更倾向于将线折叠在一起。下图是两者的对比:

微信截图_20230110154212.png


七、河流连接(Stream link)

向各交汇点之间的栅格线状网络的各部分分配唯一值。


“连接”是指连接两个相邻交汇点、连接一个交汇点和出水口或连接一个交汇点和分水岭的河道的河段。

微信截图_20230110154224.png

微信截图_20230110154231.png


八、水流长度(Flow Length)

水流长度工具的主要用途是计算给定盆地内最长水流的长度。该度量值常用于计算盆地的聚集时间。这可使用 UPSTREAM 选项来完成。


该工具也可通过将权重栅格用作下坡运动的阻抗,来创建假设降雨和径流事件的距离-面积图。


九、捕捉倾泻点(Snap pour point)

捕捉倾泻点工具用于确保在使用分水岭工具描绘流域盆地时选择累积流量大的点。


捕捉倾泻点将在指定倾泻点周围的捕捉距离范围内搜索累积流量最大的像元,然后将倾泻点移动到该位置。


十、分水岭(Watershed)

确定栅格中一组像元之上的汇流区域。

微信截图_20230110154239.png


十一、盆域

创建描绘所有流域盆地的栅格。


通过识别盆地间的山脊线,在分析窗口中描绘流域盆地。通过分析输入流向栅格数据找出属于同一流域盆地的所有已连接像元组。通过定位窗口边缘的倾泻点(水将从栅格倾泻出的地方)及凹陷点,然后再识别每个倾泻点上的汇流区域,来创建流域盆地。这样就得到流域盆地的栅格。


以下是盆域分析示例:

微信截图_20230110154246.png


数据获取来源:

1、地理遥感生态网www.gisrs.cn

同时,地理遥感生态网www.gisrs.cn上分享了很多地理遥感领域的科学数据(土地利用数据、npp净初级生产力数据数据、NDVI数据、气象数据(降雨量、气温、蒸散量、辐射、湿度、日照时数、风速、水汽压数据)、径流量数据、夜间灯光数据、统计年鉴、道路网、POI兴趣点数据、GDP分布、人口密度分布、三级流域矢量边界、地质灾害分布数据、土壤类型、土壤质地、土壤有机质、土壤PH值、土壤质地、土壤侵蚀、植被类型、自然保护区分布、建筑轮廓分布等等地理数据,以及关于gis、遥感从方面的操作教程)。


2.地理空间数据云

(1)2000年全球土地覆盖计划(GLC2000)

(2)欧空局全球陆地覆盖数据(ESA GlobCover)


3.地理科学生态网

网站地址www.csdn.store


4.马里兰大学数据集

UMd基于AVHRR数据的5个波段及NDVI数据经过又一次组合建议数据矩阵,用分类树的方法进行了全球土地覆盖分类工作。其目的是希望建立一个比过去数据更高精度的数据集

相关文章
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
6月前
|
存储 物联网 Serverless
理想汽车基于 Hologres + Flink 构建万亿级车联网信号实时分析平台
理想汽车携手阿里云Hologres+Flink,打造万亿级车联网实时分析平台。面对百万余辆智能车、每秒百万级信号上报的挑战,通过存算分离、冷热分层、流批一体等创新,实现写入性能提升200%、查询QPS超万、成本降低40%,支撑数字孪生、智能诊断等高实时业务,构建高可用、弹性伸缩、低成本的下一代数据底座。
619 4
|
6月前
|
人工智能 数据可视化 物联网
RFID在生产治具管理中发挥重要作用
RFID技术实现治具全生命周期数字化管理,涵盖入库、领用、定位、维护、盘点与追溯六大环节,提升管理效率90%以上,降低丢失率80%,助力智能制造升级。
|
8月前
|
边缘计算 运维 算法
MyEMS 开源能源管理系统:革新能源管控模式的技术实践与生态构建
在全球能源转型与“双碳”目标推动下助力重点用能单位实现高效能源管控。其模块化架构支持多协议接入、AI深度分析、数字孪生可视化,广泛适配各类场景,构建“技术开源+生态共建”的新型能源管理体系。
252 0
|
存储 缓存 编译器
Linux kernel memory barriers 【ChatGPT】
Linux kernel memory barriers 【ChatGPT】
273 11
|
编解码 数据可视化 数据挖掘
matplotlib绘制三维曲面图时遇到的问题及解决方法
本文详细介绍了在使用Matplotlib绘制三维曲面图时可能遇到的问题及其解决方法。从数据维度匹配到颜色映射,从图形显示到保存,涵盖了常见的各种情况。通过正确处理这些问题,可以确保生成高质量的三维可视化图形,为数据分析和展示提供有力支持。希望本文对您在使用Matplotlib进行三维绘图时有所帮助。
649 0
|
缓存 监控 中间件
构建高效的Go语言Web服务器:基于Fiber框架的性能优化实践
在追求极致性能的Web开发领域,Go语言(Golang)凭借其高效的并发处理能力、垃圾回收机制及简洁的语法赢得了广泛的青睐。本文不同于传统的性能优化教程,将深入剖析如何在Go语言环境下,利用Fiber这一高性能Web框架,通过精细化配置、并发策略调整及代码层面的微优化,构建出既快速又稳定的Web服务器。通过实际案例与性能测试数据对比,揭示一系列非直觉但极为有效的优化技巧,助力开发者在快节奏的互联网环境中抢占先机。
WK
|
运维 监控 API
Python在运维领域的卓越应用与工具概览
Python以清晰的语法和丰富的库资源,在运维领域大放异彩,被广泛用于自动化运维、监控、日志管理和配置部署,显著提升效率和准确性。Ansible作为IT自动化工具,利用Python和SSH实现无缝自动化,无需安装代理,兼容多种环境。Chef以Ruby为核心,通过Python API支持插件开发。Puppet采用声明式配置管理,支持Python定制开发。SaltStack功能全面,提供Python API进行高效运维。Fabric轻量级,适用于批量远程操作。Docker SDK for Python简化容器生命周期管理。
WK
555 0
|
JavaScript 前端开发 Java
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)
734 0
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch学习笔记(6):模型的权值初始化与损失函数
Pytorch学习笔记(6):模型的权值初始化与损失函数
946 0
Pytorch学习笔记(6):模型的权值初始化与损失函数

热门文章

最新文章

下一篇
开通oss服务