摘要
可计算存储为不规则三角网 (TIN) 或 terrain 数据集的两个表面模型之间的体积差异。
用法
- 该输出仅表示输入表面的重叠范围部分。
根据与第二个(参考)表面的相对位置,第一个表面中的三角形分为以下三类:完全位于参考表面之上、完全位于参考表面之下、与参考表面相交。
- 可以选择性地生成一个输出栅格或者一个或多个 TIN 数据集来显示结果。
如果请求输出差异栅格,该工具将使用线性插值方法将整合后的差异 TIN(已在几何比较过程中计算得到)转换为栅格。
- 输入表面的水平和垂直坐标系最好相同。
语法
SurfaceDifference_3d (in_surface, in_reference_surface, out_feature_class, {pyramid_level_resolution}, {reference_pyramid_level_resolution}, {raster_cell_size}, {out_raster}, {out_tin_folder}, {out_tin_basename})
参数 | 说明 | 数据类型 |
in_surface | 输入 terrain 或 TIN 数据集。 | Terrain Layer; TIN Layer |
in_reference_surface | 参考 terrain 或 TIN 数据集。 | Terrain Layer; TIN Layer |
out_feature_class | 包含了因分类相同而划分为面的连续三角形和三角面部件的输出要素类。每个差异区域包围的体积均列于属性表中。 | Feature Class |
pyramid_level_resolution (可选) | 输入 terrain 数据集的金字塔等级分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
reference_pyramid_level_resolution (可选) | 参考 terrain 数据集的金字塔等级分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
raster_cell_size (可选) | 输出栅格数据集的像元大小。 | Double |
out_raster (可选) | 输出差异栅格数据集。将使用线性插值方法将整合之后的差异 TIN 转换为栅格。 | Raster Dataset |
out_tin_folder (可选) | 可写入一个或多个 TIN 的文件夹位置。 | Folder |
out_tin_basename (可选) | 指定给每个输出 TIN 表面的基本名称。如果一个 TIN 数据不足以表示数据,则会创建多个具有相同基本名称的 TIN。 | String |
代码实例
表面差异 (SurfaceDifference) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceDifference_3d("sample.gdb/featuredataset/terrain", "sample.gdb/featuredataset/terrain2", "surface_diff.shp")
表面差异 (SurfaceDifference) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: SurfaceDifference Example
Description: This script demonstrates how to use the
SurfaceDifference tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
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)
del arcpy, inSurface, inReference, outPoly