关联与连接:ArcGIS 中属性表的基数

加入与相关

ArcGIS 中表的“相关”和“连接”之间有什么区别?

当您在两个表中具有匹配的唯一 ID 时,您可以创建一个表 relatetable join

表连接根据唯一 ID 将一个表中的所有列附加到另一个表中。

但是Table Relate创建了一个全新的表。因此,当您选择一个表中的记录时,它将根据所有匹配的唯一 ID 创建一个临时表。

你什么时候使用关联?什么时候使用“加入”?让我们用两个例子来学习。

加入具有 1:1 关系的示例

联接适用于 1:1 关系。因此,当您有一条记录在两个表中都匹配时,这是使用连接的合适时机。

例如,我们有一个美国城市的 shapefile。我们还有一个包含城市和球队名称的 NFL 球队电子表格。

表 1-1 ArcGIS 中的关系

只要我们没有两个同名的城市,就意味着“NAME”在“US_Cities”shapefile 中是唯一的。这也意味着我们有 1:1 的关系,因为没有行具有相同的唯一 ID 两次或更多次。

这是执行连接的最佳情况。当您在这两个表之间创建连接时,它会将“NFL_Team”列附加到“US_Cities”shapefile 中。

连接表 ArcGIS

在 ArcGIS 中,我们如何执行“连接”,就像我们将 NFL 球队名称附加到美国城市 shapefile 一样?

首先,单击表下拉按钮并选择“加入和关联”>“加入”。从这里,您必须从两个表中选择具有唯一标识符的字段。在我们的例子中,它是“NAME”和“CITY”。

表格下拉

如果我们在加入该表后将其导出,那么它将成为永久性的。这意味着附加的列将保留在新表或要素类中。

具有 1:M 关系的相关示例

当一个记录在另一个表中有多个匹配的ID时,这是一对多的关系(1-M)。最好对 1-M 关系使用“关联”。

例如,假设我们有一个足球队和球员列表。每支球队有多名球员,每支球队都是独一无二的。所以这意味着它是 1-M。

表 1-M 关系 ArcGIS

表相关创建一个全新的表。因此,当您选择一个表中的记录时,它将根据所有匹配的唯一 ID 创建一个临时表。

例如,如果我们选择休斯顿德州人队,则只有该队的球员会出现在新牌桌上。

关联表 ArcGIS

要设置“关联”,我们打开“US_Teams”属性表。首先,您需要单击属性表左上角的表格下拉按钮(如下所示)。

表格下拉

从下拉列表中,选择“联接和关联”> 关联… 现在,选择与两个表匹配的列。在我们的例子中,它是“NAME”和“NAME”。最后,选择默认名称“Relate1”或为其命名。

现在我们已经确定了两个表中的唯一 ID,我们可以在足球队表中选择球队。单击“相关表”> Relate1 后,将打开一个新表,其中包含我们所选团队的所有匹配记录。

基数:1-1 关系与 1-M 关系

有 3 种类型的关系(或基数)。

  • 一对一关系 (1-1)
  • 一对多关系 (1-M)
  • 多对多关系 (MN)

对于任何类型的数据库,一对一关系在两个表中都有一条匹配记录。接下来,一对多关系在一个表中有多个记录与另一个表中的单个记录匹配。最后,多对多在两个表中都有多个匹配记录。

在所有情况下,对于任何类型的关系,唯一标识符(或键)必须存在于两个表中。这个唯一 ID(主键)是相关表(外键)之间的主要链接。

ArcGIS 中的表相关与表连接

join将属性附加到表的末尾,而relate为所有匹配的记录创建一个临时表。

所有表都基于基数(1-1、1-M 和 MN)相互链接。 join 和 relate 都基于在两个表中具有匹配的唯一 ID 的原则工作。

虽然 join 对于 1-1 关系特别有用,但 relate 对于 1-M 关系是理想的。如果您没有任何要加入的唯一字段,您可以尝试空间加入。此过程使用位置或接近度来连接字段。

您对关联与加入有任何疑问吗?请在下面发表评论让我们知道。

You may also like...