表面差异 (3D Analyst)

摘要

计算两个表面之间的位移来确定哪个表面在上、哪个表面在下或两个表面位置相同。

了解有关“表面差异”工作原理的详细信息

使用情况

  • 该输出仅表示输入表面的重叠部分。

  • 要评估输入和参考表面之间的 Z 值差异,请考虑生成输出栅格或 TIN。

  • 输入表面的水平和垂直坐标系最好相同。

  • 输出要素类将拥有按输入表面区域在上、在下或与参考平面相同来对其进行划分的面要素。 要素属性表将包含以下字段:

    • Volume- 在输入和以面为界的参考表面之间的空间体积。 两个表面相同的区域的体积始终为 0。
    • SArea- 以面为界的输入表面的表面区域。
    • Code- 用于描述表面与参考平面空间关系的数字值。 -1 表示表面在参考平面以下,0 表示表面与参考平面重合,1 表示表面在参考平面之上。

参数

标注说明数据类型
输入表面

从参考表面评估其相对位移的三角化网格面。

LAS Dataset Layer; Terrain Layer; TIN Layer
参考表面

将作为基线用于确定输入表面相对位移的三角化网格面。

LAS Dataset Layer; Terrain Layer; TIN Layer
输出要素类

包含了因分类相同而划分为面的连续三角形和三角面部件的输出要素类。 每个差异区域包围的体积均列于属性表中。

Feature Class
分析分辨率
(可选)

将用于生成输入表面的分辨率。 对于 terrain 数据集,此分辨率与其金字塔等级定义对应,其中默认值 0 表示全分辨率。 对于 LAS 数据集,此值表示用于稀疏化 LAS 点回波的方形区域各边的长度。

Double
参考分析分辨率
(可选)

将用于生成参考表面的分辨率。 对于 terrain 数据集,此分辨率与其金字塔等级定义对应,其中默认值 0 表示全分辨率。 对于 LAS 数据集,此值表示用于稀疏化 LAS 点回波的方形区域各边的长度。

Double
输出栅格
(可选)

其值代表对参考表面进行归一化的输入表面的输出栅格表面。 正值反映输入表面位于参考表面之上的区域,而负值表示输入表面位于参考表面之下的区域。 使用线性插值法从 TIN 获取栅格值。

Raster Dataset
栅格像元大小
(可选)

输出栅格的像元大小。

Double
输出 TIN 文件夹
(可选)

存储其值代表输入和参考表面之间差异的一个或多个 TIN 表面的文件夹位置。

Folder
输出 TIN 基本名称
(可选)

指定给每个输出 TIN 表面的基本名称。 如果一个 TIN 数据不足以表示数据,则会创建多个具有相同基本名称的 TIN。

String
LAS 稀疏化方法

在应用某一分析分辨率来稀疏化输入 LAS 数据集表面时,在每个分析窗口中选择 LAS 点所使用的方法。 所生成的点将用于构建三角化网格面。

  • 最接近平均值将使用值最接近分析窗口中所有 LAS 点的平均值的 LAS 点。 这是默认设置。
  • 最小值在分析窗口的所有 LAS 点中 z 值最小的 LAS 点。
  • 最大值在分析窗口的所有 LAS 点中 z 值最高的 LAS 点。
String
参考 LAS 稀疏化方法

在应用某一分析分辨率来稀疏化输入 LAS 数据集表面时,在每个分析窗口中选择 LAS 点所使用的方法。 所生成的点将用于构建三角化网格面。

  • 最接近平均值将使用值最接近分析窗口中所有 LAS 点的平均值的 LAS 点。 这是默认设置。
  • 最小值在分析窗口的所有 LAS 点中 z 值最小的 LAS 点。
  • 最大值在分析窗口的所有 LAS 点中 z 值最高的 LAS 点。
String
处理范围
(可选)

待评估数据的范围。

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。
  • 图层范围 图层 - 范围基于活动地图图层。 选择可用图层或者使用所有图层中的数据范围选项。 每个地图图层具有以下选项:

    • 所有要素 全选 - 所有要素的范围。
    • 选定要素 基于选定要素的区域 - 选定要素的范围。
    • 可见要素 Extent Indicator - 可见要素的范围。

  • 浏览 浏览 - 范围将基于数据集。
  • 输入的交集 相交 - 范围将为所有输入的相交范围。
  • 输入的并集 联合 - 范围将为所有输入的合并范围。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围和坐标系。 如果剪贴板不包含坐标系,则范围将使用地图的坐标系。
  • 重置范围 重置 - 将范围重置为默认值。

当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。

Extent
处理边界

面要素或定义要处理区域的要素。

Feature Layer

arcpy.ddd.SurfaceDifference(in_surface, in_reference_surface, out_feature_class, {pyramid_level_resolution}, {reference_pyramid_level_resolution}, {out_raster}, {raster_cell_size}, {out_tin_folder}, {out_tin_basename}, method, reference_method, {extent}, boundary)
名称说明数据类型
in_surface

从参考表面评估其相对位移的三角化网格面。

LAS Dataset Layer; Terrain Layer; TIN Layer
in_reference_surface

将作为基线用于确定输入表面相对位移的三角化网格面。

LAS Dataset Layer; Terrain Layer; TIN Layer
out_feature_class

包含了因分类相同而划分为面的连续三角形和三角面部件的输出要素类。 每个差异区域包围的体积均列于属性表中。

Feature Class
pyramid_level_resolution
(可选)

将用于生成输入表面的分辨率。 对于 terrain 数据集,此分辨率与其金字塔等级定义对应,其中默认值 0 表示全分辨率。 对于 LAS 数据集,此值表示用于稀疏化 LAS 点回波的方形区域各边的长度。

Double
reference_pyramid_level_resolution
(可选)

将用于生成参考表面的分辨率。 对于 terrain 数据集,此分辨率与其金字塔等级定义对应,其中默认值 0 表示全分辨率。 对于 LAS 数据集,此值表示用于稀疏化 LAS 点回波的方形区域各边的长度。

Double
out_raster
(可选)

其值代表对参考表面进行归一化的输入表面的输出栅格表面。 正值反映输入表面位于参考表面之上的区域,而负值表示输入表面位于参考表面之下的区域。 使用线性插值法从 TIN 获取栅格值。

Raster Dataset
raster_cell_size
(可选)

输出栅格的像元大小。

Double
out_tin_folder
(可选)

存储其值代表输入和参考表面之间差异的一个或多个 TIN 表面的文件夹位置。

Folder
out_tin_basename
(可选)

指定给每个输出 TIN 表面的基本名称。 如果一个 TIN 数据不足以表示数据,则会创建多个具有相同基本名称的 TIN。

String
method

在应用某一分析分辨率来稀疏化输入 LAS 数据集表面时,在每个分析窗口中选择 LAS 点所使用的方法。 所生成的点将用于构建三角化网格面。

  • CLOSEST_TO_MEAN将使用值最接近分析窗口中所有 LAS 点的平均值的 LAS 点。 这是默认设置。
  • MIN在分析窗口的所有 LAS 点中 z 值最小的 LAS 点。
  • MAX在分析窗口的所有 LAS 点中 z 值最高的 LAS 点。
String
reference_method

在应用某一分析分辨率来稀疏化输入 LAS 数据集表面时,在每个分析窗口中选择 LAS 点所使用的方法。 所生成的点将用于构建三角化网格面。

  • CLOSEST_TO_MEAN将使用值最接近分析窗口中所有 LAS 点的平均值的 LAS 点。 这是默认设置。
  • MIN在分析窗口的所有 LAS 点中 z 值最小的 LAS 点。
  • MAX在分析窗口的所有 LAS 点中 z 值最高的 LAS 点。
String
extent
(可选)

待评估数据的范围。

  • MAXOF - 将使用的所有输入的最大范围。
  • MINOF - 将使用的所有输入共用的最小范围。
  • DISPLAY - 范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。 坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
boundary

面要素或定义要处理区域的要素。

Feature Layer

代码示例

表面差异 (SurfaceDifference) 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

arcpy.env.workspace = "C:/data"
arcpy.ddd.SurfaceDifference("sample.gdb/lidar/terrain", "flood_tin", "surface_diff.shp")
表面差异 (SurfaceDifference) 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''****************************************************************************
Name: SurfaceDifference Example
Description: This script demonstrates how to use the
             SurfaceDifference tool.
****************************************************************************'''

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set Local Variables
inSurface = "flood_tin"
inReference = "elev_tin"

# Ensure output name is unique
outPoly = arcpy.CreateUniqueName("difference.shp")

# Execute SurfaceDifference
arcpy.ddd.SurfaceDifference(inSurface, inReference, outPoly)

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题