描述
基于公用属性字段将一个表的内容连接到另一个表。输入表将被更新,从而包含连接表中的字段。可选择将连接表中的哪些字段添加到输入表中。
根据输入连接字段和输出连接字段的值,输入表中的记录将与连接表字段参数中的记录进行匹配。或者,也可以在连接期间从要追加至输入表的连接表中选择特定字段。
使用方法
输入表可为要素类(包括 shapefile)或表。
连接过程中,输入表中的所有字段均将被保留。或者,也可以从连接表中选择要添加到输出中的特定字段。您可以在传输字段参数中选中所需字段。
连接表中的记录可以与输入表中的多个记录相匹配。
如果在可选传输字段参数中未选择任何字段,则连接表中的所有字段均将被连接到输出中。
可基于文本、日期或数值等字段类型进行连接。
基于文本字段的连接区分大小写。
只要数值相等,不同数值格式的字段也可以被连接。例如,浮点型字段可以连接到短整型字段。
输入连接字段与连接表字段的名称可以不同。
如果连接字段的名称与输入表中某字段的名称相同,为使名称唯一,被连接字段的名称将追加 _1(或 _2、_3 等)。
如果连接表字段中的值不唯一,则仅会使用第一次出现的各个值。
验证连接工具可用于验证两个图层或表之间的连接,以确定图层或表是否具有有效的字段名称和对象 ID 字段,但前提是该连接生成匹配记录,是一对一或一对多连接,以及其他连接属性。
该工具的对话框上有一个用于验证连接的按钮,以方便用户的使用。
语法
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 | 已更新的输入数据集。 | 表视图;栅格图层;镶嵌图层 |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 JoinField 函数。
import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode",
["land_use", "land_cover"])
该独立 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: 是