使用方法
该输出仅表示输入表面的重叠部分。
要评估输入和参考表面之间的 Z 值差异,请考虑生成输出栅格或 TIN。
输入表面的水平和垂直坐标系最好相同。
输出要素类将拥有按输入表面区域在上、在下或与参考平面相同来对其进行划分的面要素。要素属性表将包含以下字段:
- Volume - 在输入和以面为界的参考表面之间的空间体积。两个表面相同的区域的体积始终为 0。
- SArea - 以面为界的输入表面的表面区域。
- Code - 描述表面与参考平面空间关系的数字值。-1 表示表面在参考平面以下,0 表示表面与参考平面重合,1 表示表面在参考平面之上。
语法
arcpy.3d.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 点所使用的方法。所生成的点将用于构建三角化网格面。
| String |
reference_method | 在应用某一分析分辨率来稀疏化输入 LAS 数据集表面时,在每个分析窗口中选择 LAS 点所使用的方法。所生成的点将用于构建三角化网格面。
| String |
extent (可选) | 指定将由此工具进行评估的数据范围。
| Extent |
boundary | 定义将由此工具进行处理的感兴趣区域的面要素。 | Feature Layer |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = "C:/data"
arcpy.SurfaceDifference_3d("sample.gdb/lidar/terrain", "flood_tin", "surface_diff.shp")
下面的示例演示了如何在独立 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.SurfaceDifference_3d(inSurface, inReference, outPoly)
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst