描述
计算输入要素和更新要素的几何交集。输入要素的属性和几何根据输出要素类中的更新要素来进行更新。
插图
使用方法
输入要素和更新要素必须为面。
输入要素类与更新要素类的字段名称必须保持一致。如果更新要素类缺少输入要素类中的一个或多个字段,则将从输出要素类中移除缺失字段的输入要素类字段值。
此工具将不修改输入要素类。工具的生成结果将写入到新要素类。
如果在对话框中未选中 Borders 参数(或者在 Python 中设置为 NO_BORDERS),则沿着更新要素外边缘的面边界将被删除。即使删除某些更新面的外边界,与输入要素重叠的更新要素的属性也会被指定给输出要素类中的面。
输入要素类的属性值将被复制到输出要素类。但是,如果输入是一个或多个通过创建要素图层工具创建的图层并且选中了字段的使用比率策略设置项,那么计算输出属性值时将按输入属性值的一定比例进行计算。如果启用了使用比率策略选项,执行叠加操作时,对于任一要素的分割都将按照输入要素属性值的一定比率来生成输出要素的属性值。输出值将根据输入要素几何被分割的比率得出。例如,如果输入几何被分割成相等的两部分,则每个新要素的属性值都等于输入要素属性值的一半。使用比率策略仅适用于数值字段类型。
警告:
地理处理工具不支持地理数据库要素类或表字段分割策略。
此工具通过切片的方式处理庞大的数据集以便提高性能和可扩展性。有关详细信息,请参阅对大型数据集进行地理处理。
即使所有输入要素均属于单部件要素,此工具仍能在输出中生成多部件要素。如果不希望生成多部件要素,请对输出要素类使用多部件至单部件工具。
此工具支持并行处理因子环境。如果环境未设置(默认值)或者设置为 0,则将禁用并行处理。将环境设置为 100 将启用并行处理。
语法
arcpy.analysis.Update(in_features, update_features, out_feature_class, {keep_borders}, {cluster_tolerance})
参数 | 说明 | 数据类型 |
in_features | 输入要素类或图层。该几何类型必须为面。 | Feature Layer |
update_features | 更新输入要素时使用的要素。该几何类型必须为面。 | Feature Layer |
out_feature_class | 将包含结果的要素类。 | Feature Class |
keep_borders (可选) | 指定是否保留更新面要素的边界。
| Boolean |
cluster_tolerance (可选) | 所有要素坐标(节点和折点)之间的最小距离以及坐标可以沿 X 和/或 Y 方向移动的距离。 警告:更改此参数的值可能会导致出现故障或意外结果。建议不要修改此参数。已将其从工具对话框的视图中移除。默认情况下,将使用输入要素类的空间参考 x,y 容差属性。 | Linear Unit |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 Update 函数。
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.Update_analysis("city_lots.shp", "data.gdb/flood_levels",
"data.gdb/low_lots", "NO_BORDERS")
以下独立脚本显示了如何在脚本环境中使用 Update 函数。
# Name: UpdateZones.py
# Purpose: Update the "lots" feature class with features from "cutzones"
# Import system modules
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/data/city.gdb"
# Set local parameters
inFeatures = "lots"
updateFeatures = "cutzones"
outFeatures = "futurecut"
# Process: Update
arcpy.Update_analysis(inFeatures, updateFeatures, outFeatures, "NO_BORDERS")
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是