裁剪 (分析)

摘要

提取与裁剪要素相重叠的输入要素。

此工具用于以其他数据集中的一个或多个要素作为模具来剪切数据集的一部分。 在您想要创建一个包含另一较大数据集的地理要素子集的新数据集(也称为研究区域或感兴趣区域 (AOI))时,裁剪工具尤为有用。

也可以使用成对裁剪工具执行裁剪操作。

插图

“裁剪”工具图示

使用情况

  • 裁剪要素参数值可以是点、线和面,具体取决于输入要素或数据集参数类型。

    • 输入要素或数据集值为面时,裁剪要素值也必须为面。
    • 输入要素或数据集值为线时,裁剪要素值也必须为线或面。 用线要素裁剪线要素时,仅会将重合的线或线段写入到输出中,如下图所示。
    • 输入要素或数据集值为点时,裁剪要素值也必须为点、线或面。 用点要素裁剪点要素时,仅会将重合的点写入到输出中,如下图所示。 用线要素裁剪点要素时,仅将与线要素重合的点写入到输出中。
    • 输入要素或数据集值为集成网格、点、建筑、3D 对象或点云场景图层或场景图层包时,裁剪要素值也必须为面。

  • 当输出为要素类时,输出要素或数据集参数将包含输入要素或数据集参数的所有属性。

  • 集成网格建筑物3D 对象场景图层包和场景服务必须使用 I3S 版本 1.6 或更高版本,才能被用作输入。 使用升级场景图层工具来升级 1.5 版本和更低版本的场景图层包。 输出场景图层包将是最新的 I3S 版本。

  • 场景服务必须具有提取功能才能被裁剪。 没有此功能的服务无法作为输入。

  • 如果输入是建筑场景图层,则所有类别和学科图层都将被裁剪。 如果输入是类别图层,则输出场景图层包将是仅包含选定输入图层的 3D 对象场景图层包。

  • 为了获得更好的性能和可扩展性,此工具将使用切片过程来处理非常大的数据集。 有关详细信息,请参阅大型数据集的切片处理

  • 由面要素裁剪的线要素:

    由面要素裁剪的线要素

  • 由面要素裁剪的点要素:

    由面要素裁剪的点要素

  • 由线要素裁剪的线要素:

    由线要素裁剪的线要素

  • 由点要素裁剪的点要素:

    由点要素裁剪的点要素

  • 输入要素类的属性值将被复制到输出要素类。 但是,如果输入是一个或多个通过创建要素图层工具创建的图层并且选中了字段的使用比率策略设置项,那么计算输出属性值时将按输入属性值的一定比例进行计算。 如果启用了使用比率策略选项,执行叠加操作时,对于任一要素的分割都将按照输入要素属性值的一定比率来生成输出要素的属性值。 输出值将根据输入要素几何被分割的比率得出。 例如,如果输入几何被分割成相等的两部分,则每个新要素的属性值都等于输入要素属性值的一半。 使用比率策略仅适用于数值字段类型。

    警告:

    地理处理工具不支持地理数据库要素类或表字段分割策略

参数

标注说明数据类型
输入要素或数据集

将被剪裁的要素。

Feature Layer; Scene Layer; File; Building Scene Layer
裁剪要素

用于裁剪输入要素的要素。

Feature Layer
输出要素或数据集

将创建的数据集。

Feature Class; File
XY 容差
(可选)

所有要素坐标之间的最小距离以及坐标可以沿 x 或 y 方向移动的距离。 如果数据的坐标精度较低,则设置较高的值;如果数据的坐标精度较高,则设置较低的值。

警告:

更改此参数的值可能会导致出现故障或意外结果。 建议不要修改此参数。 已将其从工具对话框的视图中移除。 默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit

arcpy.analysis.Clip(in_features, clip_features, out_feature_class, {cluster_tolerance})
名称说明数据类型
in_features

将被剪裁的要素。

Feature Layer; Scene Layer; File; Building Scene Layer
clip_features

用于裁剪输入要素的要素。

Feature Layer
out_feature_class

将创建的数据集。

Feature Class; File
cluster_tolerance
(可选)

所有要素坐标之间的最小距离以及坐标可以沿 x 或 y 方向移动的距离。 如果数据的坐标精度较低,则设置较高的值;如果数据的坐标精度较高,则设置较低的值。

警告:

更改此参数的值可能会导致出现故障或意外结果。 建议不要修改此参数。 已将其从工具对话框的视图中移除。 默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit

代码示例

Clip 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 Clip 函数。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.analysis.Clip("majorrds.shp", "study_quads.shp", 
                    "C:/output/studyarea.shp")
Clip 示例 2(Python 窗口)

以下 Python 窗口脚本演示了如何将 Clip 函数与场景图层配合使用。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.analysis.Clip("campus.slpk", "building_footprint.shp", 
                    "C:/output/AreaOfInterest.slpk")
裁剪示例 3(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 Clip 函数。


# Description: Clip major roads that fall within the study area. 

# Import system modules
import arcpy

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

# Set local variables
in_features = "majorrds.shp"
clip_features = "study_quads.shp"
out_feature_class = "C:/output/studyarea.shp"

# Run Clip
arcpy.analysis.Clip(in_features, clip_features, out_feature_class)
Clip 示例 4(独立脚本)

以下 Python 脚本演示了如何在具有场景服务的独立脚本中使用 Clip 函数。


# Description: Clip a scene service. 

# Import system modules
import arcpy

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

# Set local variables
scene_service = "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/2021_02_04_Frankfurt/SceneServer"
mesh_layer_name = "mesh_layer"
clip_features = "AOI.shp"
out_feature_class = "C:/output/studyarea.shp"

# Create a layer of a scene service
mesh_layer = arcpy.management.MakeSceneLayer(scene_service,
                                             mesh_layer_name)

# Run Clip
arcpy.analysis.Clip(mesh_layer, clip_features, out_feature_class)

环境

特殊情况

并行处理因子

此工具支持并行处理因子环境。 如果未设置环境(默认)或设置为 0,则将禁用并行处理;不会使用并行处理,而是按顺序进行处理。 如将环境设置为 100,则将启用并行处理;将使用并行处理,并且将进行并行处理。 启用并行处理时,最多将使用 10 个内核。

目前,面-面、线-面以及点-面叠加操作支持并行处理。

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题