将表格数据连接到空间图层

视频

本教程也以视频方式提供。

查找匹配字段

要连接两个图层,必须在它们之间找到匹配字段。 您将搜索国家/地区空间图层和洪水非空间图层之间共同的字段。

  1. 下载 RiverFloods .zip 文件并将其解压到计算机上的位置,例如 C 盘。
  2. 打开解压后的 RiverFloods 文件夹,然后双击 RiverFloods.aprx 以在 ArcGIS Pro 中打开工程。

    Windows 资源管理器中的 RiverFloods.aprx

  3. 如果出现提示,请登录 ArcGIS 帐户。
    注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项

    世界地图随即显示。

    包含国家/地区边界的世界地图

    地图具有一个底图图层 (Charted Territory)、一个要素图层 (Countries) 和一个独立表图层 (global_flood_risk.csv)。

    “内容”窗格

    .csv 文件被视为独立表,因为它仅包含表格数据。 这与 Countries 等要素图层形成对比,后者既包含空间信息(地图上可见的国家/地区的形状和位置),又包含表格信息(属性表)。

    注:

    Countries 图层来自 Natural Earth 公共域数据集。 Global_flood_risk.csv 来自世界资源研究所。 该数据集名为 Aqueduct Global Flood Risk Country Rankings,由 Deltares 高级研究员 Hessel Winsemius 和阿姆斯特丹自由大学环境研究所高级研究员 Phillip Ward 创建。

  4. 内容窗格中,右键单击 Countries,然后单击属性表

    Countries 图层快捷菜单中的属性表

    该属性表随即显示在地图下方。

  5. 滚动表格以查看所有字段。

    该表使用许多字段存储国家/地区名称,包括 SUBUNITNAMENAME_LONG

    属性表

    包含多个名称字段是因为一些国家/地区的名称有多种写法。 缺乏标准化意味着使用国家/地区名称连接字段不是最简单的方法。 幸运的是,该表还包含许多具有不同版本的国家代码的字段,例如 FIPS_10_ISO_A2ISO_A3。 代码字段是用于连接字段的理想选择,因为其具有唯一的标准化值。

    属性表中的 FIPS、ISO 和其他代码字段。

    您将查看 global_flood_risk.csv 表,以查看其中是否包含与 Countries 图层相同的代码字段。

  6. 内容窗格中,右键单击 global_flood_risk.csv,然后单击打开

    global_flood_risk.csv 表

    表中仅包含三个字段:RankCountryCurrent annual average population affected by river floods。 不幸的是,其中没有国家代码字段,因此您不得不使用 Country 作为连接字段。 您可能无法将此字段完全匹配,但或许可以接近完全匹配。

  7. 滚动浏览 global_flood_risk.csv 表,并留意国家/地区名称的格式。

    Egypt, Arab Rep.Congo, Dem. Rep.Russian Federation 等名称作为格式化的示例突显出来。

    Egypt, Arab Rep. 和 Congo, Dem. Rep. 在 Country 字段中

  8. 在地图上,单击埃及。

    随即出现一个弹出窗口,列出 Countries 图层的属性。

  9. 滚动查看弹出窗口以比较多个名称字段。

    NAME_SORT 是唯一一个采用与 global_flood_risk.csv 图层相同的方式设置埃及名称格式的字段。

    弹出窗口中的 NAME_SORT 字段

  10. 在地图上单击一些其他国家/地区,以将 NAME_SORT 字段与 .csv 文件中 Country 列中的名称进行比较。

    大多数名称均匹配。 您将尝试使用 CountryNAME_SORT 字段中的匹配值连接这两个表。

  11. 关闭弹出窗口。

将独立表连接至要素图层

您将使用添加连接工具将 global_flood_risk.csv 表中的字段连接到 Countries 图层的属性表。

  1. 内容窗格中,右键单击 Countries。 指向连接和关联,然后单击添加连接

    Countries 图层快捷菜单中的“添加连接”

    添加连接窗口随即显示。

  2. 添加连接窗口中,确认输入表已设置为 Countries

    这是将接收已连接字段的图层。

  3. 对于输入连接字段,输入 NAME_SORT

    字段名称会在您输入时自动完成。

  4. 对于连接表,选择 global_flood_risk.csv

    这是将提供已连接字段的图层。

  5. 对于连接表字段,选择 Country

    连接操作只能连接 NAME_SORTCountry 字段匹配的记录。 对于第一次尝试,您将仅保留匹配成功的国家/地区。 这将有助于找到不匹配的国家/地区。

  6. 取消选中保留所有目标要素

    已填充参数的“添加连接”窗口

  7. 单击确定

查看结果

地图外观已发生变化。 包括美国和格陵兰岛在内的一些区域在金色的 Countries 图层中缺失。 格陵兰岛缺失是因为它不在 global_flood_risk.csv 图层中。 美国缺失是因为其名称在 CountryNAME_SORT 字段中的格式不同。

缺失某些国家/地区的地图

您将查看连接的字段以找到其他未匹配的国家/地区。

  1. global_flood_risk.csv 属性表下,找到记录计数。

    属性表下方的记录计数

    记录计数表示表中有 163 行(或 163 个国家/地区)。

  2. 在表的上方,单击 Countries 以切换到 Countries 属性表。

    此表中包含 159 行。

    属性表下方的记录计数

    这意味着在连接操作期间,匹配了 163 个备选国家/地区中的 159 个。 有四个国家不匹配。

    注:

    如果选中了 保留所有目标要素,则会有 255 条记录,即 Countries 图层的完整大小。

    您会发现缺少哪些国家/地区。

  3. 滚动到 Countries 表的底部。

    从文件 .csv 连接的三个字段位于表的末尾。 方便的是,其中一个字段为 Rank,可以帮助您找到缺失的要素。

  4. 右键单击 Rank 列标题,然后单击升序排列

    Rank 字段快捷菜单中的“升序排列”

  5. 滚动查看 Rank 字段,以查找数字的间断。

    Rank 字段中缺少的数字

    排名字段中缺少以下数字:18、94、141 和 158。 在 .csv 表中,这些数字对应以下国家/地区:

    等级国家/地区

    18

    美国

    94

    捷克共和国

    141

    斯威士兰

    158

    文莱

    这些是连接中缺少的四个国家/地区。

移除连接并编辑表

表连接的第一次尝试不完全成功的情况十分常见。 您将移除连接,编辑四个缺失国家/地区的名称,然后再次尝试连接。

  1. 内容窗格中,右键单击 Countries。 指向连接和关联,然后单击移除所有连接

    Countries 图层快捷菜单中的“移除所有连接”

  2. 移除连接窗口中,单击

    三个附加字段从 Countries 属性表中消失。 地图再次显示所有国家/地区。

  3. 在地图上,单击美国。 在弹出窗口中,找到 NAME_SORT 字段,大约在列表的三分之一处。

    弹出窗口中的 NAME_SORT 字段

    NAME_SORT 属性是 United States of America。 在 global_flood_risk.csv 中,CountryUnited States。 两个属性必须完全相同才能进行连接。 您将编辑其中一个表,以使两者匹配。

  4. 关闭弹出窗口。

    编辑空间图层 Countries 最简单,因为您可以直接在 ArcGIS Pro 中执行编辑。 但是在本例中,空间图层是更权威的国家/地区名称来源。 您将改为在 ArcGIS Pro 外部编辑 .csv 文件。

  5. 目录窗格中,单击工程选项卡,然后单击 Folders 旁边的箭头以将其展开。

    “目录”窗格中的“工程”选项卡和展开的 Folders 文件夹

  6. 同样,展开 RiverFloods 文件夹。
  7. 右键单击 global_flood_risk.csv,然后单击 在文件资源管理器中显示

    global_flood_risk.csv 数据快捷菜单中的“在文件资源管理器中显示”

    您在教程开始时下载并解压缩的 RiverFloods 文件夹将显示在计算机的文件资源管理器中。

  8. 右键单击 global_flood_risk.csv 并选择使用记事本或其他文本编辑器打开文件。

    Windows 资源管理器中的 global_flood_risk.csv

  9. .csv 文件中,查找第 18 行。
  10. 编辑该行的文本,将 United States 替换为 United States of America

    .csv 文件中的第 18 行

  11. 在第 94 行,将 Czech Republic 替换为 Czechia

    捷克政府于 2016 年批准使用 Czechia 作为官方英文简称。

  12. 在第 141 行,将 Swaziland 替换为 eSwatini

    斯威士兰于 2018 年更名为 Eswatini。 在 Countries 图层中使用了另一种拼写方式 eSwatini。

  13. 在第 158 行,将 Brunei Darussalam 替换为 Brunei

    Brunei Darussalam 是文莱的正式名称。

  14. 保存并关闭 .csv 文件。

重新执行连接

您将在 ArcGIS Pro 中刷新 .csv 表,以显示已编辑的国家/地区名称,并尝试再次连接。

  1. ArcGIS Pro 的表视图中,切换至 global_flood_risk.csv 表。
  2. 在表格下方的一角,单击刷新按钮。

    属性表下方的刷新按钮

    表随即刷新以包括编辑的值。

  3. 内容窗格中,右键单击 Countries。 指向连接和关联,然后单击添加连接
  4. 添加连接窗口中,设置以下参数:
    • 对于输入表,选择 Countries
    • 对于输入连接字段,选择 NAME_SORT
    • 对于连接表,选择 global_flood_risk.csv
    • 对于连接表字段,选择 Country

    这一次,您对连接操作和最终结果更有信心;您希望保留空间图层中的全部 255 个国家/地区,即使其中只有 163 个国家/地区将包含洪水信息。

  5. 保留所有目标要素保持选中状态。
  6. 单击验证连接

    “添加连接”窗口中的“验证连接”按钮

    消息窗口随即显示。

  7. 滚动至消息窗口的底部。

    倒数第二行提示一对一连接已匹配 163 条记录

    “消息”窗口

    此数字提示您记录将全部连接成功。

  8. 单击关闭
  9. 添加连接窗口中,单击确定
  10. 关闭 global_flood_risk.csv 表。
  11. Countries 属性表中,滚动到末尾并确认三个新字段已存在。

    Countries 属性表中的已连接字段

    一些国家/地区(例如百慕大、格陵兰岛和新加坡)的连接字段具有空值,因为它们不在 global_flood_risk.csv 中。

  12. 关闭 Countries 属性表。
    注:

    使用添加连接工具执行的连接不是永久性的,正因如此,您之前可以移除第一次的连接。 要进行永久连接,您可以使用导出要素复制要素工具导出 Countries 图层,或者使用永久性的连接字段工具而非添加连接执行连接。

可视化结果

最后,您将在地图上可视化其中一个已连接字段。

  1. 内容窗格中,右键单击 Countries,然后单击符号系统

    随即显示符号系统窗格。

  2. 符号系统窗格中,对于主符号系统,选择未分类颜色
  3. 对于字段,选择 Current annual average population affected by river floods

    由于此字段表示计数而不是比例或比率,因此应对符号系统进行归一化。 您需将受影响的人口除以总人口以归一化值。

  4. 对于归一化,选择 POP_EST

    符号系统窗格

    地图显示孟加拉国的人均河流洪水风险最高。

    地图中孟加拉国以绿色圈出

  5. 快速访问工具栏上,单击保存

    快速访问工具栏上的“保存”按钮

在本教程中,您学习了以下技能:

  • 如何查找两个表之间的匹配字段
  • 如何使用添加连接字段将字段从一个表连接到另一个表
  • 如何评估连接是否成功
  • 如何移除连接
  • 如何编辑 .csv 文件并在 ArcGIS Pro 中刷新其视图
  • 如何使用已连接字段符号化要素图层

您可以在教程库中找到更多教程。