标注 | 说明 | 数据类型 |
输入河流面 | 描绘待处理河岸的 3D 面。 | Feature Layer |
输入流向线 | 表示河岸面流向的线要素。 | Feature Layer |
输出河流边界线 | 输出河流边界线。 | Feature Class |
最大采样距离 (可选) | 面边界的固定采样距离,将用于沿河岸建立单调性。 | Linear Unit |
3D 简化容差 (可选) | 用于简化生成的河流边界线的 z 范围。 | Linear Unit |
摘要
从表示河岸的 3D 面创建已调整高度的隔断线。
插图
使用情况
此工具可处理表示河岸的 3D 面要素,以创建可在 DEM 生成中使用的已进行水域置平的隔断线。 水域置平可确保河岸的高度在下游方向减小,并且在垂直于主流向的每个河岸处具有大致相同的高度。 每个 3D 面定义一条河流或一个河网,并将根据总折点数生成一条或多条 3D 线要素。 最大折点数限制为 500,以确保可以高效地处理和显示线要素,因此,需要更多折点的河流将被划分为多个要素。
河流的流向必须以线要素类的形式提供,每个面包含两条线。 一条线指示最高上游位置,另一条线指示最低下游位置。 线要素必须接触河流面的边界。 流向根据线上折点的顺序推断得出。 上游位置由最后一个顶点终止于河岸处的线要素标识;下游位置由第一个顶点接触河岸的线要素确定。
如果河流面不是 3D 面,但激光雷达数据与地面分类点的重叠集合可用,则可以通过执行以下操作根据激光雷达数据推断初始 z 值:
- 创建引用激光雷达文件的 LAS 数据集(如果尚不存在)。
- 将水域面内的地面分类点重新分类为水体。 可以借助使用要素设置 LAS 类代码工具完成此操作。
- 过滤 LAS 数据集中的地面分类点。 对于所有加载到地图或场景中的 LAS 数据集,可以通过图层属性对话框上的过滤器选项卡来完成此操作。 也可以使用创建 LAS 数据集图层工具,尤其是在 模型构建器 或 Python 脚本中使用此工作流时。
- 使用合并最小 Z 值参数指定 2D 和地面分类激光雷达数据作为插值 Shape 工具的输入。
生成的 3D 面可能具有高度起伏,这对于 DEM 生成而言不够理想。 可以使用强制河流单调性工具对此面进行水域置平。
对水体点进行分类后,将距离海岸线较近的地面点重新指定为类别 20,表示 ASPRS 分类方案中忽略的地面点。 靠近隔断线要素的地面点可能会将不需要的表面伪影引入将使用它们进行插值的地面高程表面。 通过使用不同的类代码区分这些地面点,可以在创建数字高程模型时将其过滤掉。 可以使用使用要素设置 LAS 类代码工具对忽略的地面点进行分类,方法是提供相同的水体面作为输入,并为面提供较小的缓冲距离。
此工具的输出线要素可以作为 3D 隔断线合并至 terrain、TIN 或 LAS 数据集,或使用 Terrain 转栅格、TIN 转栅格或 LAS 数据集转栅格工具合并至栅格表面。 生成的栅格将在各水体间无缝渲染并产生平滑的等值线。
参数
arcpy.ddd.EnforceRiverMonotonicity(in_rivers, in_flow_direction, out_feature_class, {max_sample_distance}, {simplification_tolerance})
名称 | 说明 | 数据类型 |
in_rivers | 描绘待处理河岸的 3D 面。 | Feature Layer |
in_flow_direction | 表示河岸面流向的线要素。 | Feature Layer |
out_feature_class | 输出河流边界线。 | Feature Class |
max_sample_distance (可选) | 面边界的固定采样距离,将用于沿河岸建立单调性。 | Linear Unit |
simplification_tolerance (可选) | 用于简化生成的河流边界线的 z 范围。 | Linear Unit |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
arcpy.env.workspace = "C:\GIS_Data"
arcpy.ddd.EnforceRiverMonotonicity("River_Polygons_3D.shp", "River_Flow_Directions.shp",
"River_Breaklines_3D.shp", "10 Meters", "5 Meters")