摘要
基于公用属性字段将一个表的内容连接到另一个表。输入表将被更新,从而包含连接表中的字段。可选择将连接表中的哪些字段添加到输入表中。
根据输入连接字段和输出连接字段的值,输入表中的记录将与连接表中的记录进行匹配。或者,您可仅从连接表中选择所需的字段并在连接时将其追加到输入表。
插图
用法
输入表可为要素类(包括 shapefile)或表。
连接过程中,输入表中的所有字段均将被保留。另外,仅将连接表中的选中字段添加到输出中。您可以在连接字段参数中选中所需字段。
连接表中的记录可以与输入表中的多个记录相匹配。有关一对一、多对一、一对多和多对多连接的详细信息,请参阅关于连接和关联表。
如果在可选连接字段参数中未选择任何字段,那么连接表中的所有字段均将被连接到输出中。
可基于文本、日期或数值等字段类型进行连接。
基于文本字段的连接区分大小写。
只要数值相等,不同数值格式的字段也可以被连接。例如,浮点型字段可以连接到短整型字段。
输入连接字段与输出连接字段的名称可以不同。
如果连接字段的名称与输入表中某字段的名称相同,为使名称唯一,被连接字段的名称将追加 _1(或 _2、_3 等)。
如果输出连接字段中的值不唯一,则仅会使用第一次出现的各个值。
语法
JoinField_management (in_data, in_field, join_table, join_field, {fields})
参数 | 说明 | 数据类型 |
in_data | 连接表将连接的表或要素类。 | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
in_field | 输入表中要用作连接依据的字段。 | Field |
join_table | 要连接到输入表中的表。 | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field | 连接表中的字段,包含连接将基于的值。 | Field |
fields [fields,...] (可选) | 连接表中将用于连接的字段。 | Field |
代码示例
连接字段 (JoinField) 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 JoinField 函数。
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
连接字段 (JoinField) 示例 2(独立 Python 脚本)
该独立 Python 脚本显示的是用于将表连接到要素类的连接字段 (JoinField) 函数,连接中仅包含了表中的两个字段。
# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class
# Import system modules
import arcpy
from arcpy import env
# Set the current workspace
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)
环境
许可信息
- ArcGIS Desktop Basic: 是
- ArcGIS Desktop Standard: 是
- ArcGIS Desktop Advanced: 是