连接面属性 (犯罪分析和安全)

摘要

将输入面要素的属性连接到输入点要素。

使用情况

  • 当点要素完全位于面要素内或包含在其中时,该工具会将属性从输入面要素参数值传递到目标点要素参数值。

  • 默认情况下,不会将输入面要素值的任何属性追加到目标点要素值的属性。 可定义将添加到目标点要素值的属性,方法为在连接字段参数中指定这些属性。

  • 目标点要素值中的要素包含在输入面要素值中的多个要素中,则点将从对象 ID 值最大的面中获取属性。

参数

标注说明数据类型
目标点要素

将使用输入面要素参数值中的属性更新的点要素。

将使用 in_features 参数值中的属性更新的点要素。

Feature Layer
输入面要素

输入面要素。

Feature Layer
连接字段
(可选)

输入面要素中将追加到目标点要素的字段。

Field
覆盖目标点要素中的匹配字段
(可选)

指定是否将覆盖目标点要素参数值中名称与连接字段参数值中的字段匹配的现有字段

  • 选中 - 将覆盖匹配字段。
  • 未选中 - 不能覆盖现有字段,将生成新字段。 这是默认设置。
Boolean

派生输出

标注说明数据类型
更新后的点要素

已更新的点要素。

Feature Layer

arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, {fields}, {overwrite_option})
名称说明数据类型
target_features

将使用 in_features 参数值中的属性更新的点要素。

Feature Layer
in_features

输入面要素。

Feature Layer
fields
[fields,...]
(可选)

输入面要素中将追加到目标点要素的字段。

Field
overwrite_option
(可选)

指定是否将覆盖 target_features 参数值中名称与 fields 参数值中的字段匹配的现有字段

  • OVERWRITE将覆盖匹配字段。
  • NO_OVERWRITE不能覆盖现有字段,将生成新字段。 这是默认设置。
Boolean

派生输出

名称说明数据类型
out_features

已更新的点要素。

Feature Layer

代码示例

JoinAttributesFromPolygon 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = r"C:\data\city_pd.gdb"
arcpy.ca.JoinAttributesFromPolygon("Arrests", "Precincts")
JoinAttributesFromPolygon 示例 2(独立脚本)

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

# Name: JoinAttributesFromPolygon.py
# Description:  Add police precinct ID and name to arrests, then print 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

# Run 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: 是

相关主题