添加关联 (数据管理)

摘要

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

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

使用情况

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

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

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

  • 输入必须具有对象 ID 字段。 关联表不需要包含对象 ID 字段。

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

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

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

  • 当输入图层具有关系并且选中自动选择相关数据属性时,输入图层上的选择也将选择相关表中的记录。

参数

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

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

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

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

Field
关联表

要与输入图层或表视图关联的表或表视图。

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

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

Field
关联名称

赋予关联的唯一名称。

String
基数
(可选)

指定关系的基数。

  • 一对一输入表和关联表之间将为一对一关系。 例如,输入表中的一条记录在关联表中只有一条匹配记录。
  • 一对多输入表和关联表之间将为一对多关系。 例如,输入表中的一个记录在关联表中有多个匹配记录。 这是默认设置。
  • 多对多输入表和关联表之间将为多对多关系。 例如,输入表中具有相同值的许多记录可以在相关表中具有多条匹配记录。
String

派生输出

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

已更新的输入数据集。

Table View; Raster Layer; Mosaic Layer

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

已更新的输入数据集。

Table View; Raster Layer; Mosaic Layer

代码示例

AddRelate 示例 1(Python 窗口)

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

import arcpy
arcpy.management.AddRelate("Parcel", "ParcelID", "owner_table", "ParcelID", 
                           "Owner2Parcel")