描述
标识地理处理工具用于标识搜索距离中输入要素与目标要素的不一致部分并使其与目标要素一致。
插图
使用方法
输入要素和目标要素可以是线或面要素。例如,您可能有作为线或面的郡县边界,但其中的一部分不同于河流中心线,河流中心线是郡县边界和相邻郡县的边界。此工具可用于将部分郡县边界与河流中心线对齐,以保持其重叠。
当输入要素位于为目标要素特定的搜索距离内时,输入要素或其中一部分将成为对齐候选项。候选项形状必须与目标形状类似;例如,平行的输入道路要素和目标道路要素相比以 90 度角相互交叉的两个要素更为相似。
如果经过指定,则匹配字段将用来确定对齐候选项是否可能是其目标的正确匹配要素。例如,如果在目标要素的搜索距离内发现两个输入要素,且这两个要素在形状上都与目标相似,则具有匹配字段值的要素将是更合适的候选项。
对齐将保留输入要素间的现有拓扑关系。例如,如果一条端点与其它线相连的线因对齐而移动,则所有连接线的端点都会移动,以保持线的连接。
新字段 AF_CONF 已添加至修改过的输入中。该字段存储着一个 0-100 间的值,表示每个要素对齐的置信度。值为 100 表示对齐的候选项没有不明确现象。指定匹配字段后,值会随着发现多个潜在候选项、形状差别更大或属性不匹配而降低。值 -1 赋予未修改的要素。由于输入和目标要素可能存在的复杂性,可能会发生非预期对齐;因此,有必要进行后续检查,尤其是具有相对较低 AF_CONF 值的要素。
语法
arcpy.edit.AlignFeatures(in_features, target_features, search_distance, {match_fields})
参数 | 说明 | 数据类型 |
in_features | 要进行调整的输入线或面要素。 | Feature Layer |
target_features | 作为目标要素的输入线或面要素。 | Feature Layer |
search_distance | 用于搜索匹配候选项的距离。必须指定一个距离,且此距离必须大于零。可以选择首选单位;默认为要素单位。 | Linear Unit |
match_fields [[source_field, target_field],...] (可选) | 来自输入要素与目标要素的字段。如果指定,将检查每对字段中的匹配候选项,以帮助确定正确的匹配。 | Value Table |
派生输出
名称 | 说明 | 数据类型 |
out_feature_class | 更新后的输入要素。 | 要素图层 |
代码示例
AlignFeatures 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 AlignFeatures 函数。
import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.AlignFeatures_edit("countryA_border", "target_border", "25 Feet")
AlignFeatures 示例 2(独立脚本)
以下独立脚本演示了如何在脚本环境中应用 AlignFeatures 函数。
import arcpy
import os
# all input data are in country.gdb and output will also go to this gdb
arcpy.env.workspace = os.path.join(os.getcwd(), "country.gdb")
try:
in_features_orig = "common_border"
in_features_copy = "common_border1"
# Make a copy of the original data
arcpy.CopyFeatures_management(in_features_orig, in_features_copy)
# Features to which input will be aligned
target_features = "country1_border"
search_dist = "100 Meters"
match_fields = "A_field B_field"
arcpy.AlignFeatures_edit(in_features_copy, target_features, search_dist, match_fields)
except arcpy.ExecuteError as aex:
print(arcpy.GetMessages(2))
except Exception as ex:
print(ex.args[0])
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是