这是 r.terraflowgrass 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
r.terraflow - 为大量网格执行流计算。
浮动版。
关键词
栅格、水文、流量、累积、汇
概要
r.terraflow
r.terraflow - 帮帮我
r.terraflow [-s] 海拔=姓名 满=姓名 方向=姓名 分水岭=姓名
积累=姓名 TCI=姓名 [d8切割=浮动[记忆=整数[目录=绳子]
[统计=绳子] [--覆盖] [--帮助] [--详细] [--安静] [--ui]
标志:
-s
SFD (D8) 流量(默认为 MFD)
SFD:单流向,MFD:多流向
--覆盖
允许输出文件覆盖现有文件
- 帮帮我
打印使用摘要
--详细
详细模块输出
- 安静的
静音模块输出
--用户界面
强制启动 GUI 对话框
参数:
海拔=姓名 [必需的]
输入高程栅格地图的名称
满=姓名 [必需的]
输出填充(淹没)高程栅格地图的名称
方向=姓名 [必需的]
输出流向栅格地图的名称
分水岭=姓名 [必需的]
输出汇流域栅格地图的名称
积累=姓名 [必需的]
输出流量累积栅格地图的名称
TCI=姓名 [必需的]
输出地形收敛指数 (tci) 栅格地图的名称
d8切割=浮动
使用 SFD (D8) 方向布线
如果流量累积大于此值,则使用 SFD (D8) 方向进行路由
(仅对 MFD 流有意义)。 如果没有给出答案,则默认为无穷大。
记忆=整数
要使用的最大内存(以 MB 为单位)
默认: 300
目录=绳子
存放临时文件的目录(它们可能很大)
统计=绳子
包含运行时统计信息的文件名
商品描述
r.terraflow 将栅格数字高程模型 (DEM) 作为输入并计算流量
方向栅格和流量累积栅格,以及淹没高程
栅格、汇流域栅格(划分为汇周围的流域)和 TCI
(地形收敛指数)光栅图。
r.terraflow 使用众所周知的方法计算这些栅格,不同之处在于
它的重点是算法的计算复杂性,而不是建模
现实的流动。 r.terraflow 源于具有可扩展软件的必要性
有效地处理非常大的地形。 它基于理论上的最优
在 I/O 高效算法框架中开发的算法。 r.terraflow 是
专为大型网格设计和优化,能够处理地形
与其他 GIS 系统中存在的类似功能是不切实际的。
流向是使用 MFD(多流向)模型或
SFD(单流向,或 D8)模型,如下图所示。 两种方法计算
通过检查当前单元周围的 3×3 窗口来确定下坡流向。 SFD
方法为最陡峭的下坡邻居分配唯一的流动方向。 MFD
方法为所有下坡邻居分配多个流向。
流向最陡下坡邻居 (SFD)。 流向所有下坡邻居 (MFD)。
SFD 和 MFD 方法无法计算具有相同单元格的流向
高度为其所有邻居(平坦区域)或没有下坡邻居的单元格
(单细胞坑)。
· 在高原(溢出的平坦区域) r.terraflow 路由流动,以便在全球范围内
流向高原的溢出细胞。
· 在水槽上(不会溢出的平坦区域,包括单细胞坑) r.terraflow
通过淹没地形来分配流量,直到所有的水槽都被填满并分配
填充地形上的流动方向。
为了洪水泛滥, r.terraflow 识别所有汇并划分地形
进入汇流域(汇流域包含流入该汇的所有细胞),
构建一个表示汇流域邻接信息的图,并使用
这个汇流域图沿着它们的最低共同点将流域相互合并
边界,直到所有流域都有地形外的流动路径。 洪水产生
无水槽的地形,其中每个细胞都有一条通向外部的下坡流动路径
地形,因此地形中的每个单元都可以分配 SFD/MFD 流向为
以上。
一旦为地形中的每个单元计算流向, r.terraflow 计算流量
通过使用流动方向路由水并跟踪多少
水流过每个细胞。
如果一个单元的流量累积大于由 d8切割 选项,然后
该单元的流量使用 SFD (D8) 模型路由到其邻居。 这个选项
仅影响流量累积栅格并且仅对 MFD 流量有意义(即,如果
-s 标志未使用); 如果此选项用于 SFD 流,则会被忽略。 默认值
of d8切割 is 无穷大.
r.terraflow 还计算 tci 栅格(地形收敛指数,定义为
流量累积与局部坡度之比的对数)。
有关算法的更多详细信息,请参见下面的 [1,2,3]。
附注
使用的技术之一 r.terraflow 是时空权衡。 特别是,在
为了避免 I/O 昂贵的搜索, r.terraflow 计算并使用
增强高程栅格,其中每个像元存储有关其 8
邻居,每个单元总共高达 80B。 其结果 r.terraflow 与中间件一起工作
可能多达 80N 字节的临时文件,其中 N 是单元格的数量(行 x
列)在高程栅格(更准确地说,80K 字节,其中 K 是
输入高程栅格中的有效(非无数据)像元)。
所有这些中间临时文件都存储在指定的路径中 STREAM_DIR
选项。 笔记: STREAM_DIR 必须包含足够的可用磁盘空间才能存储多达 2 x
80N 字节。
这款 记忆 选项可用于设置模块的最大主内存 (RAM) 量
将在加工过程中使用。 在实践中其 折扣值 应该是低估了金额
机器上可用(空闲)主内存的数量。 r.terraflow 最多会一直使用
这么多内存,虚拟内存系统(交换空间)将永远不会被使用。 这
默认值为 300 MB。
这款 统计 选项定义包含统计信息(stats)的文件名
运行。
r.terraflow 对行数和列数有限制(每个最多 32,767)。
使用的内部类型 r.terraflow 可以在编译时定义存储高程。
默认情况下, r.terraflow 被编译为在内部将高程存储为浮点数。 其他
如果需要,用户可以创建版本。
关于在内部将海拔存储为短裤的编译提示:
这样的版本使用更少的空间(每个单元最多 60B,最多 60N 中间文件)和
因此,空间和时间效率更高。 r.terraflow 用于浮动
点栅格数据 (FCELL),以及 r.terraflow (短) 在整数栅格数据 (CELL) 中
其中最大高程不超过短 SHRT_MAX=32767 的值(这是
如果海拔以米为单位存储,则不会限制地球的任何地形数据)。
以上皆是 r.terraflow 和 r.terraflow (短) 使用输入高程栅格,可以
整数、浮点数或双精度数(CELL、FCELL、DCELL)。 如果输入栅格
包含一个超出允许的内部范围的值(简称 r.terraflow (短),
浮动 r.terraflow),程序退出并显示警告消息。 否则,如果所有值
在输入高程栅格在范围内时,它们将被转换(截断)为
内部立面型(简称 r.terraflow (短), 浮动为 r.terraflow)。 在这个
外壳精度可能会丢失,并且可能会创建人造平坦区域。 例如,如果
r.terraflow (短) 与浮点栅格数据(FCELL 或 DCELL)一起使用,值
海拔将被截断为短裤。 这可能会产生人造平坦区域,并且
的输出 r.terraflow (短) 可能比那些更不现实 r.terraflow on
浮点栅格数据。 的输出 r.terraflow (短) 和 r.terraflow 旨在
与整数栅格数据(CELL 地图)相同。
示例
北卡罗来纳州样本数据集中小区域的示例:
g.region 光栅=elev_lid792_1m
r.terraflow 海拔=elev_lid792_1m 填充=elev_lid792_1m_filled \
方向=elev_lid792_1m_direction swatershed=elev_lid792_1m_swatershed \
累积=elev_lid792_1m_accumulation tci=elev_lid792_1m_tci
自动化流程 积累
Spearfish 样本数据集:
g.region 栅格=elevation.10m -p
r.terraflow elev=elevation.10m 填充=elevation10m.fill \
dir=elevation10m.mfdir 分水岭=elevation10m.watershed \
累积=高程10m.accu tci=高程10m.tci
g.region 栅格=elevation.10m -p
r.terraflow elev=elevation.10m 填充=elevation10m.fill \
dir=elevation10m.mfdir 分水岭=elevation10m.watershed \
累积=elevation10m.accu tci=elevation10m.tci d8cut=500 内存=800 \
统计=海拔10mstats.txt
使用 onworks.net 服务在线使用 r.terraflowgrass