连接字段 (数据管理)

摘要

基于公用属性字段将一个表的内容连接到另一个表。输入表将被更新,从而包含连接表中的字段。可选择将连接表中的哪些字段添加到输入表中。

根据输入连接字段输出连接字段的值,输入表中的记录将与连接表字段参数中的记录进行匹配。或者,也可以在连接期间从要追加至输入表连接表中选择特定字段。

使用情况

  • 输入表可为要素类(包括 shapefile)或表。

  • 连接过程中,输入表中的所有字段均将被保留。或者,也可以从连接表中选择要添加到输出中的特定字段。您可以在传输字段参数中选中所需字段。

  • 连接表中的记录可以与输入表中的多个记录相匹配。

  • 如果在可选传输字段参数中未选择任何字段,则连接表中的所有字段均将被连接到输出中。

  • 可基于文本、日期或数值等字段类型进行连接。

  • 基于文本字段的连接区分大小写。

  • 只要数值相等,不同数值格式的字段也可以被连接。例如,浮点型字段可以连接到短整型字段。

  • 输入连接字段连接表字段的名称可以不同。

  • 如果连接字段的名称与输入表中某字段的名称相同,为使名称唯一,被连接字段的名称将追加 _1(或 _2_3 等)。

  • 如果连接表字段中的值不唯一,则仅会使用第一次出现的各个值。

    • 要想使用连接表中第一次出现的值以外的其他值,首先应将连接表作为输入来执行汇总统计数据工具。通过汇总统计数据可以对字段进行汇总(如求得总和、平均值、最小值)。
    • 要在连接前合并连接表中的两个或多个字段,首先请使用表至表工具导出一个表或要素类。然后使用工具的字段映射将其合并。
  • 验证连接工具可用于验证两个图层或表之间的连接,以确定图层或表是否具有有效的字段名称和对象 ID 字段,但前提是该连接生成匹配记录,是一对一或一对多连接,以及其他连接属性。

    该工具的对话框上有一个用于验证连接的按钮,以方便用户的使用。

参数

标注说明数据类型
输入表

连接表将连接的表或要素类。

Mosaic Layer; Raster Layer; Table View
输入连接字段

输入表中要用作连接依据的字段。

Field
连接表

要连接到输入表中的表。

Mosaic Layer; Raster Layer; Table View
连接表字段

连接表中的字段,包含连接将基于的值。

Field
传输字段
(可选)

来自连接表的、将基于输入表和连接表之间的连接传输至输入表的字段。

Field

派生输出

标注说明数据类型
更新的输入表

已更新的输入数据集。

表视图;栅格图层;镶嵌图层

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields})
名称说明数据类型
in_data

连接表将连接的表或要素类。

Mosaic Layer; Raster Layer; Table View
in_field

输入表中要用作连接依据的字段。

Field
join_table

要连接到输入表中的表。

Mosaic Layer; Raster Layer; Table View
join_field

连接表中的字段,包含连接将基于的值。

Field
fields
[fields,...]
(可选)

来自连接表的、将基于输入表和连接表之间的连接传输至输入表的字段。

Field

派生输出

名称说明数据类型
out_layer_or_view

已更新的输入数据集。

表视图;栅格图层;镶嵌图层

代码示例

JoinField 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", 
                           ["land_use", "land_cover"])
JoinField 示例 2(独立脚本)

该独立 Python 脚本显示了用于将表连接到要素类的 JoinField 函数,并且连接中仅包含表中的两个字段。

# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class 
# Import system modules
import arcpy
# Set the current workspace 
arcpy.env.workspace = "c:/data/data.gdb"
# Set the local parameters
inFeatures = "zion_park"
joinField = "zonecode"
joinTable = "zion_zoning"
fieldList = ["land_use", "land_cover"]
# Join two feature classes by the zonecode field and only carry 
# over the land use and land cover fields
arcpy.JoinField_management(inFeatures, joinField, joinTable, joinField, 
                           fieldList)

环境

特殊情况

许可信息

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

相关主题