添加关联 (数据管理)

摘要

基于字段值将图层关联到另一图层或表。支持带有栅格属性表的要素图层、表视图和栅格图层。

关联表中的记录与输入图层名称或表视图中的记录相匹配。输入关联字段与输出关联字段相等时,即表示匹配。关联不会修改数据;它们是图层的属性。

使用情况

  • 如果输入为要素类或数据集路径,则此工具将自动创建并返回应用了该工具结果的新图层。

  • 关联表中的记录可以与输入图层或表视图中的多个记录相匹配。

  • 关联表可以是地理数据库表或 dBASE 文件。关联表不必是图层。

  • 输入必须包含一个 ObjectID 字段。关联表不需要包含 ObjectID 字段。

  • 要保存关联以便用于另一工程,请使用保存图层至文件工具将图层保存到图层文件中。此方法仅适用于图层,表视图不能使用此方式进行保存。

  • 要建立永久性关联,可使用创建关系类工具。

  • 通过对输入图层或表视图以及关联基于的关联表中的字段建立索引,可以提高性能。此操作可以通过添加属性索引工具完成。

参数

标注说明数据类型
图层名称或表视图

关联表将关联的图层或表视图。

Mosaic Layer; Raster Layer; Table View
输入关联字段

关联基于的输入图层或表视图中的字段。

Field
关联表

将关联到输入图层或表视图的表或表视图。

Mosaic Layer; Raster Layer; Table View
输出关联字段

关联表中的字段,包含关联将基于的值。

Field
关联名称

指定给关联的唯一名称。

String
基数
(可选)

关系的基数。

  • 一对一指定输入表和关联表间是一对一的关系。例如,输入表中的一个记录在关联表中只有一个匹配记录。
  • 一对多指定输入表和关联表间是一对多的关系。例如,输入表中的一个记录在关联表中有多个匹配记录。这是默认设置。
  • 多对多指定输入表和关联表间是多对多的关系。例如,输入表中相同值的多个记录在关联表中有多个匹配记录。
String

派生输出

标注说明数据类型
更新的输入图层或表视图

已更新的输入数据集。

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

arcpy.management.AddRelate(in_layer_or_view, in_field, relate_table, relate_field, relate_name, {cardinality})
名称说明数据类型
in_layer_or_view

关联表将关联的图层或表视图。

Mosaic Layer; Raster Layer; Table View
in_field

关联基于的输入图层或表视图中的字段。

Field
relate_table

将关联到输入图层或表视图的表或表视图。

Mosaic Layer; Raster Layer; Table View
relate_field

关联表中的字段,包含关联将基于的值。

Field
relate_name

指定给关联的唯一名称。

String
cardinality
(可选)

关系的基数。

  • ONE_TO_ONE指定输入表和关联表间是一对一的关系。例如,输入表中的一个记录在关联表中只有一个匹配记录。
  • ONE_TO_MANY指定输入表和关联表间是一对多的关系。例如,输入表中的一个记录在关联表中有多个匹配记录。这是默认设置。
  • MANY_TO_MANY指定输入表和关联表间是多对多的关系。例如,输入表中相同值的多个记录在关联表中有多个匹配记录。
String

派生输出

名称说明数据类型
out_layer_or_view

已更新的输入数据集。

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

代码示例

AddRelate 示例 1(Python 窗口)

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

import arcpy
relate = arcpy.AddRelate_management("Parcel", "ParcelID", "owner_table", 
                                    "ParcelID", "Owner2Parcel")