描述
将输入面要素的属性连接到输入点要素。
使用方法
当点要素完全位于面要素内或包含在其中时,该工具会将属性从输入面要素传递到目标点要素。
默认情况下,不会将输入面要素的任何属性追加到目标点要素的属性。可定义将添加到目标点要素的属性,方法为在连接字段参数中指定这些属性。
当目标点要素中的要素包含在输入面要素中的多个要素中,则点将从对象 ID 值最大的面中获取属性。
语法
JoinAttributesFromPolygon(target_features, in_features, fields)
参数 | 说明 | 数据类型 |
target_features | 将使用 in_features 中的属性更新的点要素。 | Feature Layer |
in_features | 输入面要素。 | Feature Layer |
fields [fields,...] | 输入面要素中将追加到目标点要素的字段。 | Field |
派生输出
名称 | 说明 | 数据类型 |
out_features | 已更新的点要素。 | 要素图层 |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 JoinAttributesFromPolygon 函数。
import arcpy
arcpy.env.workspace = r"C:\data\city_pd.gdb"
arcpy.ca.JoinAttributesFromPolygon("Arrests", "Precincts")
以下 Python 脚本演示了如何在独立脚本中使用 JoinAttributesFromPolygon 函数。
# Name: JoinAttributesFromPolygon.py
# Description: Adding police precinct id and name to arrests, then printing the number of arrests by precinct.
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"
# Set local variables
target_features = "Arrests"
in_features = "Precincts"
join_fields = ['districtid', 'name'] # Police Precinct ID and Name
# Execute JoinAttributesFromPolygon
arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, join_fields)
#Print count of arrest by precinct
count_dict = {}
with arcpy.da.SearchCursor(target_features, 'name') as cursor:
for row in cursor:
try:
count_dict[row[0]] += 1
except:
count_dict[row[0]] = 1
for precinct, count in count_dict.items():
print("Name: " + precinct + " Arrests: " + str(count))
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是