通过一个公用字段(也称为键)可将一个表中的记录与另一个表中的记录相关联。 例如,可将宗地所有权信息表与宗地图层进行关联,因为它们共享一个宗地标识字段。 可通过多种方式进行此类关联,其中包括在地图中临时连接或关联表,或者在地理数据库中创建可以保持更长久关联的关系类。 连接还可以基于空间位置。
连接及相关信息将存储在图层属性中,因此只能将其应用于从地图或场景打开的表。 要访问连接和关联信息,请右键单击图层并单击属性 以打开图层属性对话框,然后单击连接选项卡或关联选项卡。
连接表的属性
假设您已获取反映各国家人口百分率变化的数据,并想要根据此信息生成人口增长地图。 只要人口数据存储在数据库的表中并且与您当前图层共享公用字段,您就可以将其连接到地理要素,然后使用其他字段来符号化、标注、查询或分析该图层要素。
通常,会根据在这两个表中均可找到的字段值将数据表连接到图层。 这一字段的名称可以不同,但数据类型必须相同;例如,必须将数字连接到数字,将字符串连接到字符串,依此类推。 您可以使用添加连接地理处理工具执行连接。 在执行属性连接时,连接字段会动态添加到现有表中。 添加或移除连接时,将保留字段属性,例如别名、可见性和数字格式设置。
根据数据的组织方式,在将数据连接到图层之前可能需要汇总表中的数据。 汇总表时,将派生一个包含汇总统计数据的新静态表。 在此过程中,您可以创建各种汇总统计数据,包括计数值、平均值、总和、最小值和最大值。 例如,假定您要创建州而非县人口地图,但您仅拥有县组织的数据。 按州汇总县数据 - 在此示例中,查找每个州的人口总和,然后将新建输出表连接到州图层,即可按州创建人口地图。
使用存在一对多或多对多关系的数据时,应使用关联或关系类来建立数据集之间的关系。 但是,也可在这些情况下创建连接。 在这种情况下创建连接时,会根据数据的来源,工具和其他特定图层设置的工作方式而存在差别。 如果您使用相同地理数据库中的数据来创建连接,则将返回所有匹配记录。 如果使用 shapefile 或 dBASE 表等非数据库数据创建连接,则只返回第一条匹配记录。
按空间位置连接数据
当地图上的图层未共享公共属性字段时,可以使用空间连接地理处理工具将其连接起来,即根据图层中要素的位置连接两个图层的属性。
使用空间连接,您可以完成任意以下常用工作流:
按位置连接(或空间连接)使用涉及的图层之间的空间关联将字段从一个图层追加到另一个图层。 根据关联类型,您可以将匹配要素的属性或数字属性的聚合(最小值、最大值、平均值等)追加到目标要素。
默认情况下,空间连接与属性驱动型连接、关联以及关系类不同,它不是动态连接,而是需要将结果保存到新的输出图层中。 如果您在脚本或模型中使用空间连接工具,可通过使用内存工作空间而不是创建输出来改善性能。 例如,要写入内存工作空间,工具的输出路径将包括工作空间和输出名称,例如 in_memory/outputFeature。
移除连接
要移除连接,可使用先前提到的访问连接菜单项的某个方法,并打开移除连接工具。 可以使用打开的属性表上的菜单、内容窗格中所选图层或独立表的数据选项卡,或者连接和关联快捷菜单。
也可以从连接菜单中选择移除所有连接。 此命令将向您确认此操作,因为无法撤消移除所有连接。
将一个表中的属性关联到另一个表
关联有助于您查找数据内的特定信息。 例如,如果您选择一个建筑,则可以查找此建筑的所有承租人。 同样地,如果您选择一个承租人,则可以查找承租人所在的建筑(或者在多个购物中心的连锁店的情况下为若干建筑 - 多对多关系)。 当使用存在一对多或多对多关系的数据时,建议使用关联或关系类。
与连接表不同,关联表只是在两个表间定义一个关系。 关联的数据不会像连接表那样附加到图层的属性表。 而是通过图层或表中的所选要素或记录来访问关联数据。 您可以使用添加关联地理处理工具创建关联。
添加到地图的图层或表中的关联实质上与地理数据库中定义的简单关系类相同,只是前者是与地图一起保存而不是保存在地理数据库中。 关系类中存储了地理数据库中要素和记录之间的关联信息,这有助于确保数据的完整性。 要创建关系类,使用创建关系类工具或右键单击目录窗格中的地理数据库,指向新建,然后单击关系。
如果已经将地理数据库中的要素类添加到关系类,则无需为表创建关联。 它将可供使用,并且列在相关数据菜单中,您可用它来查看相关数据。 请注意,如果数据存储在地理数据库中,则多对多关系的定义方式会不同。
移除关联
要移除关联,可使用先前提到的访问关联菜单项的某个方法,并打开移除关联工具。 可以使用打开的属性表上的菜单、内容窗格中所选图层或独立表的数据选项卡,或者连接和关联快捷菜单。
也可以选择从关联菜单中移除所有关联。 此命令将向您确认此操作,因为无法撤消移除所有关联。