连接操作会将一个数据表(连接表)的字段添加到另一个数据表(目标表)中。 目标表通常是一个图层属性表,连接的目的是为了对图层进行符号化、查询、获取统计数据或使用连接表中的信息进行其他分析。 连接可以是临时的,当您不再需要时可以移除;也可以是永久的。
连接有两种类型:属性连接和空间连接。 属性连接基于两个表中都存在的一个共同值字段。 共同字段可确保连接表中的记录与目标表中的记录正确匹配。 空间连接基于两个图层中的要素之间的空间关系,例如包含或相交。 连接表和目标表中的记录根据其对应要素的空间关系进行匹配。
在属性连接中,连接表可以是一个独立的(非空间)表或一个图层属性表。 在空间连接中,两个表必须都是图层属性表。
连接是在 ArcGIS Pro 中组合数据的众多方式之一。 您可以使用追加工具将一个数据集的要素添加到另一个数据集中,使用合并工具组合数据集,并使用相交和联合等叠加工具通过空间比较数据集来创建新数据。
概览
- 视频长度:11:25。
- 此视频是使用 ArcGIS Pro 3.3 创建的。
2011 年 2 月 22 日,新西兰基督城遭受地震重创,城市基础设施受到严重破坏。 地震之后,政府对该地区进行了工程评估,旨在确定修复和重建的需求。
在本教程中,您将研究基督城市区内的历史地点与液化风险图层的关系。 液化是一种过程,在地震过程中,由于地面震动,沉积物失去强度和稳定性,显著增加了建筑物受损的可能性。 您将把液化风险图层空间连接到历史地点图层,为每个历史地点分配适当的风险值。
在空间连接图层之后,您将向历史地点图层追加新要素,并更新它们的液化风险值。
- 预计时间:60 分钟
- 软件要求:
- ArcGIS Pro Basic
注:
每次发布软件时都会更新快速入门教程。 为了获得最佳体验,请使用与软件版本匹配的在线帮助版本。
打开工程
您将在 ArcGIS Online 上打开工程包中的一个工程。
- 启动 ArcGIS Pro 并根据需要进行登录。
- 在开始页面中,单击最近工程列表旁边的打开其他工程。
注:
如果已打开一个工程,请单击功能区上的工程选项卡。 在侧面选项卡的列表中,单击打开。 在打开页面上,单击页面顶部的打开其他工程 。
- 在打开工程对话框的门户 下,单击 ArcGIS Online 。
- 在对话框顶部的搜索框中,输入 Join data spatially,然后按 Enter 键。
- 在搜索结果列表中,单击空间连接数据,选择工程包。
注:
如果存在多个具有此名称的工程包,请选择带有权威标记 的工程包。 在 Owner 列中,所有者名称为 ArcGISProTutorials。 如果未得到任何结果,请参阅未返回任何搜索结果。
- 单击确定。
工程打开后,会显示新西兰基督城的市区地图。
- 单击功能区上的视图选项卡。 在窗口组中,单击重置窗格 ,然后单击重置窗格以进行映射(默认)。
此操作可确保内容和目录窗格打开,其他窗格关闭。
查看数据
您将检查 Historic Places 和 Liquefaction Risk 图层的属性。
- 在内容窗格中,右键单击 Historic Places 图层,然后单击属性表 。
属性包括每个要素的名称、地址和在 RegID 字段中的历史登记号码。 在表视图的底部,可以看到该图层包含 322 条记录。
- 在内容窗格中,右键单击 Liquefaction Risk 图层,然后单击属性表 。
此图层的属性包括风险类别以及风险评估的日期和最后修改日期。
Category 字段中的三个技术类别值代表未来地震中由液化造成的建筑物损害风险逐渐增加。
- 技术类别 1 代表最小的损害风险。
- 技术类别 2 代表轻微到中等的损害风险。
- 技术类别 3 代表中等到显著的损害风险。
根据风险的不同,可能适用不同的建筑物要求。 在具有极端风险的红色区域,不允许进行建设。 在非居民区或被指定为需要评估的区域,风险尚未评估。
- 关闭两个打开的表格。
- 在内容窗格中,确认已选择 Liquefaction Risk 图层。 按住 Ctrl 键并单击 Historic Places 图层。
随即选中两个图层。
- 单击功能区上的地图选项卡。 在导航组中,单击浏览工具 下拉箭头,然后单击内容中的已选内容。
当您在地图上单击一个位置时,会弹出一个窗口,显示所选图层中要素的属性值。
- 在地图视图的底部,单击地图比例下拉箭头并单击 1:10,000,以便更容易区分历史地点。
- 在地图上,单击一个历史地点。
弹出窗口展示了历史地点的属性及其所在的风险面的属性。
提示:
在弹出窗口顶端,可以看到两个图层中要素的显示值(或主要属性)。 在本例中,选中的名为 Cottage 的要素及其属性显示在窗格底部。 要查看液化风险要素的属性,仅需单击弹出窗口顶部 Liquefaction Risk 下的值即可。
- 单击更多历史地点要素后,关闭弹出窗格。
弹出窗口可以显示您关注的信息:每个历史地点关联的风险类别。 但是逐一单击要素并非获取此类信息的最高效方法。 您可以通过空间连接的方式,将液化风险的属性并入 Historic Places 图层。
- 在内容窗格中,单击 Historic Places 图层,使其成为唯一选中的图层。 右键单击该图层,然后单击缩放至图层 。
空间连接图层
您将依据每个历史地点所处的风险区域,将 Liquefaction Risk 图层的属性连接到 Historic Places 图层。
- 在内容窗格中,右键单击 Historic Places 图层,指向连接和关联,然后单击添加空间连接 。
添加空间连接工具将在一个新窗口中打开。 目标要素参数已正确设置为 Historic Places 图层。
- 单击连接要素下拉箭头,然后单击 Liquefaction Risk。
此图层属性将与 Historic Places 表连接。
- 单击匹配选项下拉箭头,然后单击范围内。
将获得每个历史地点所在的液化风险面的属性。 (默认的“相交”匹配选项在这种情况下也同样适用,因为内含关系也属于相交关系的一部分。)
- 选中永久连接字段复选框。
如果未选中此框(默认设置),空间连接仅在当前地图中有效,且可以随时移除。 不会修改目标数据集的源数据。 选中后,连接的属性将对目标数据集的源数据进行修改。
由于教程后续部分需要向 Historic Places 图层追加更多要素,因此您需要将连接设置为永久性。 如图层存在临时连接,则无法进行追加操作。
提示:
空间连接工具也可用于此工作流。 空间连接工具将创建一个新的要素类,其中包含目标要素和连接要素的属性。 不会改变输入数据集。 本教程中使用添加空间连接,以便在不生成新的输出数据集的情况下完成连接。
- 展开字段标题。
字段映射参数会显示 Liquefaction Risk 图层中的字段列表。 您只需要将其中的 CATEGORY 字段添加到 Historic Places 图层。 因此,您将移除其他不必要的字段。
- 在字段列表中,单击 CREATEDDATE 字段,将其选中。 按住 Shift 键并单击 Shape_Area 字段。
已选择四个字段。
- 将鼠标悬停在任一选中字段上,然后单击移除 。
选中的字段被移除,只留下 CATEGORY 字段。
在 Liquefaction Risk 图层中,CATEGORY 字段含义明确。 但是,在历史地点的上下文中,它的含义不够直观,因为类别值可能代表不同的含义。 因此,在运行工具前,您需要重命名该字段。 (原名称仍将保留在 Liquefaction Risk 表中)。
- 在字段映射参数中,单击编辑 。
随即显示字段属性对话框。 在顶部的属性下,可以看到 CATEGORY 字段的属性,如名称、别名和类型。
- 在字段名称像元中,将现有值 (CATEGORY) 突出显示,并将其替换为 LIQUEFACTION_RISK。 按 Enter 键。
- 在别名像元中,将现有值突出显示,并将其替换为 Liquefaction Risk。 按 Enter 键。
别名是属性表和大多数地理处理上下文中默认显示的名称。 它可以包含空格,而字段名称则不可以。
- 在字段属性对话框中,单击确定。
- 单击确定,运行添加空间连接工具。
- 操作完成后,在内容窗格中,右键单击 Historic Places 图层,然后单击属性表 。
来自 Liquefaction Risk 图层的重命名的 Category 字段已添加至表格,并显示其 Liquefaction Risk 别名。 现在,每个历史地点均与其所在面的风险类别直接关联。 同时,还引入了一个 Join_Count 字段。 由于每个历史地点都与一个风险面精确关联,该字段对于每条记录的值均为 1。
我们将删除这一不必要的 Join_Count 字段。
- 在 Historic Places 表中,单击 Join_Count 字段标题,将其选中。
- 右键单击该字段标题,然后单击删除 。
- 在删除字段提示中,单击是。
提示:
您也可以选择隐藏字段(无需删除),使其在表中不可见。
- 保持 Historic Places 表打开。
提示:
如果需要,可以拖动视图选项卡,将表移至新位置,从而提供更多地图查看空间。 例如,如果有两个显示器,可以将表浮动显示在 ArcGIS Pro 窗口外。
- 在快速访问工具栏上,单击保存工程 。
评估结果
打开 Historic Places 表的数据工程视图,查看连接表的统计数据并创建图表。
- 在 Historic Places 表中,单击 Liquefaction Risk 字段标题,将其选中。
- 右键单击所选标题,单击浏览统计数据 。
表格的“数据工程”视图将显示 LIQUEFACTION_RISK 字段的统计数据:
- “计数”值为 322 (100%)。 该值验证了每个历史地点均有一个液化风险值。
- 存在六个唯一值。 Liquefaction Risk 表实际上有七个唯一值。 这说明有一个风险类别中没有历史地点。 (幸运的是,这是红色区域。)
- 最常见的值是“非居住区”。
- 最不常见的值是“技术类别 1”。
- 在“数据工程”视图中,将鼠标悬停在图表预览列上。
屏幕提示将显示值的百分比分布。 大约一半的历史地点位于“非居住区”,四分之一位于“技术类别 2”,依此类推。
- 右键单击行标题(行左边缘的方块),指向创建图表 ,然后单击条形图 。
图表视图和图表属性窗格随即出现。 图表展示了每个风险类别中的历史地点数量。 您将修改图表属性,使其更易于理解。
- 在图表属性窗格顶部,确认已选中数据选项卡。
- 在数据标注下,选中标注条柱复选框。
在图表上,每个风险类别中的历史地点数量将显示在每个条柱上方。
- 在窗格顶部,单击轴选项卡。
- 在标注字符限制框中,将值从 11 更改为 20。 (可以使用箭头键或输入值并按 Enter 键。)
在 x 轴上,类别值将显示其全名。 默认情况下,标注方向会根据可用空间自动调整。 但是,您可能希望更改方向。
- 为此,可以单击标注方向下拉箭头,并选择您的偏好设置。
- 在窗格顶部,单击常规选项卡。 (如果您看不到它,请单击选项按钮 ,然后在下拉列表中单击常规。)
- 在图表标题框中,删除默认标题,然后输入 Historic Places by Liquefaction Risk Category。 按 Enter 键。
- 取消选中 X 轴标题复选框。
- 在 Y 轴标题框中,删除默认标题,然后输入 Number of Sites。 按 Enter 键。
条柱颜色目前设置为浅绿色,您可能希望更改此颜色。
- 为此,可以单击系列选项卡。
- 单击符号列中的浅绿色方块。
- 在弹出的调色板中,单击您的偏好颜色。
- 单击调色板外部的区域,将其关闭。
- 单击图表上的条柱,将其选中。
地图上,对应的 Historic Places 图层要素也会被选中。
- 单击其他条柱,更改选择内容。 按下 Ctrl 键并单击其他条柱,可以将其添加至选择中。
- 在图表视图工具栏中,单击清除所选内容 。
- 关闭图表视图和图表属性窗格。 保持“数据工程”视图打开。
在内容窗格中,图表显示在 Historic Places 图层下方。 图表并非独立于图层存在:如移除地图中的图层或删除工程中的地图,图表也会随之消失。 可以将图表导出为图形文件。
- 在快速访问工具栏上,单击保存工程 。
根据表创建图层
可能会显示与已有数据集相关,但存储在其他文件中的数据。 假设您找到了一个包含克赖斯特彻奇部分历史古迹信息的 .csv 文件。 如果这些古迹尚未包含在 Historic Places 图层中,您可能希望添加它们。
将 .csv 文件作为表格添加到地图。 由于文件包含古迹的空间坐标,可以根据表格,创建包含这些坐标位置的要素的图层。
- 激活目录窗格。 在窗格顶部,确认已选中工程选项卡。
- 展开文件夹容器 。 展开 Join_data_spatially > commondata > userdata。
userdata 文件夹中包含一个名为 Christchurch Heritage Sites.csv 的文件。
- 右键单击 Christchurch Heritage Sites.csv,然后单击添加至当前地图 。
在内容窗格中,文件以表格形式添加到独立表标题下方。
- 在内容窗格中,右键单击 Christchurch Heritage Sites.csv,然后单击打开 。
表中包含两个遗址的名称、地址、登记号码等信息。
- 单击视图选项卡,激活 Historic Places 表。
该表还含名称和地址字段。 RegID 字段与 Christchurch Heritage Sites 表中的 RegisterNumber 字段相对应。 尽管字段名称不同,但存储的信息相同。
- 再次激活 Christchurch Heritage Sites.csv 表。
表格包含 X 和 Y 字段,以十进制度表示。 使用这些坐标,根据表格创建图层。 创建后,检查这些要素是否已在 Historic Places 图层中存在。
- 在内容窗格的独立表下,右键单击 Christchurch Heritage Sites.csv,指向基于表创建点 ,然后单击 XY 表转点 。
XY 表转点工具随即在浮动窗口中打开。
输入表参数正确默认为 Christchurch Heritage Sites.csv。 X 字段和 Y 字段参数默认设置为表中的 X 和 Y 字段(正确设置)。 坐标系参数默认设置为 GCS_WGS_1984。 大多数纬度和经度值都存储在此坐标系中,如果您没有额外信息,这是理想选择。
提示:
理想情况下,可以通过文件元数据确认坐标系。 在目录窗格中右键单击该文件并单击查看元数据 ,可以确认文件设置是否正确。
- 在输出要素类文本框中,删除整个路径。 在空白框中,输入 memory\Sites。
可以在临时内存工作空间创建点要素,无需生成输出数据。 如果要素已在 Historic Places 图层存在,可放弃新图层。 如果不存在,可将新要素追加至图层。 无需将要素保存至新数据集。
路径名称 memory\ 表示输出写入内存工作空间,而不是要素类。 ArcGIS Pro 会话结束时,将清除内存工作空间。 名称 Sites 可以是您选择的任何名称,但不能包含空格。
- 单击确定。
工具完成运行后,名为 Sites 的图层将添加到内容窗格顶部。
- 在内容窗格中,右键单击 Sites 图层,然后单击缩放至图层 。
您将放大默认符号,使其更容易查看。
- 在内容窗格中,单击 Sites 图层旁的符号。
随即打开符号系统窗格,其中提供了点符号的格式化选项。
- 在库选项卡下的 ArcGIS 2D 符号列表中,单击圆圈 3 符号并将其选中。
随即在地图和内容窗格中更新此符号。
- 在内容窗格中,关闭 Sites 图层,再重新将其打开。
可以看到 Historic Places 图层的相应位置没有要素。
追加数据
您将使用追加工具,把 Sites 图层中的两个要素添加到 Historic Places 图层中。 由于两个图层的表结构不同,需要手动匹配某些字段。 您将采用先前使用的字段映射参数来执行此操作。
提示:
另一种方法是,使用功能区编辑选项卡上的复制 和选择性粘贴 命令,将一个图层的要素复制到另一个图层。 对于少量的要素,这是一个可行的方法。 复制和粘贴工作流还支持通过编辑器设置配置进行字段映射。
- 激活“数据工程”视图。
- 右键单击行标题(行左边缘的方块),指向整合 ,然后单击追加 。
追加工具将在一个新窗口中打开。 将在对话框顶部显示一条消息,提示您该工具将更改目标数据集,而不是创建新的输出。
- 单击输入数据集下拉箭头,然后单击 Sites。
默认情况下,目标数据集会被正确设置为 Historic Places。
- 单击字段匹配类型下拉箭头,然后单击使用字段映射协调字段差异。
此对话框将展开并显示字段映射参数。
由于输入数据集中没有同名字段,将使用警告图标 标记 RegID 和 LIQUEFACTION_RISK 字段。 (因此,如果使用默认设置(即输入字段必须与目标字段匹配)运行工具,工具将运行失败。)
正如您之前所见,Sites 表中的 RegisterNumber 字段和 Historic Places 表中的 RegID 字段均包含历史登记号码字段。 当字段名称不同但值相关联时,可以手动匹配这些字段。
- 在字段映射参数中,单击编辑 。
随即显示字段属性对话框。
- 在字段属性对话框的字段列表中,确认选中 RegID 字段(以蓝色高亮显示)。 滚动查看输入字段列表,单击 RegisterNumber 字段。
在操作和源字段下,RegisterNumber 字段显示为标签,表示它作为源字段与 RegID 字段匹配。 RegID 字段中的警告图标被移除。
您将留下未匹配项的 LIQUEFACTION_RISK 字段,因为它们在 Sites 表中没有相应的字段。 运行工具后,将在 Historic Places 表中添加两条新记录。 属性处理如下:
- 对于匹配的字段,Sites 表中的值将添加到 Historic Places 表中相应的字段。 例如,地址将添加到 Address 字段,登记号码将添加到 RegID 字段。
- 如果 Historic Places 表中的字段没有匹配字段,其追加记录值将为 null。 这意味着 LIQUEFACTION_RISK 字段值将为 null。
- 如果 Sites 表中的字段没有匹配字段,其将被追加到 Historic Places 表。 这包括 DateRegistered 和 LocalAuthorityName 字段,以及其他几个字段。
注:
正如您之前所见,两个遗址的空间坐标以十进制度表示。 追加工具会自动将这些坐标投影到目标数据集的坐标系,即新西兰 NZGD 2000 新西兰横轴墨卡托坐标系。
- 在字段属性对话框中,单击确定。
追加工具是少数允许撤销地理处理结果的工具之一。 在本教程中,您将关闭启用撤销切换按钮,但在其他情况下,您可能需要使用它。
- 单击追加工具的确定。
- 工具运行完成后,激活 Historic Places 属性表。
在表视图底部,可以看到现在共有 324 条记录,比之前多了两条。
- 在表视图底部,单击移至末尾 ,跳转到表的末尾。
Sites 图层中的两条记录已添加到表中。 如预期,这些记录的 Liquefaction Risk 字段值为 null。
- 激活 Christchurch Urban Area 地图视图。 在内容窗格中,关闭 Sites 图层。
追加的要素将在正确的位置显示。 您不再需要 Sites 图层。
- 在内容窗格中,右键单击 Sites 图层,然后单击移除 。
要完成工作,需要确定新要素的液化风险值,并将它们添加到表中。
- 在快速访问工具栏上,单击保存工程 。
识别新要素的液化风险区域
新添加的要素已执行空间连接,因此 Liquefaction Risk 字段值为 null。 您将使用浏览工具来找到这些要素的值。
- 在功能区的地图选项卡上,单击浏览工具的 下拉箭头,然后单击可见图层。
- 在地图上,单击 Historic Places 图层中代表 Moncks Cave 的新要素。 (在两个新要素中,此要素位置更靠北。)
在弹出窗口中,可以看到 Moncks Cave 位于一个液化风险较低的区域内。
- 如果需要,可将弹出窗口移开。 在地图上,单击代表 Rotten Row Baches 的新要素。
此要素位于非居住区。
注:
如果 Liquefaction Risk 图层的信息未显示在弹出窗口中,可以放大要素并再次单击要素。 该要素位于图层边缘。 如果点击范围之外的区域,将无法获得结果。
- 关闭弹出窗口窗格。
- 在功能区的地图选项卡上,单击浏览工具的 下拉箭头,然后单击顶部图层,恢复默认设置。
计算字段值
字段计算可以根据编写的表达式更新表格值。 在这种情况下,由于只需要更新两个值,可以手动编辑表单元格。 然而,如果需要更新数百或数千个值,则必须执行字段计算。 使用字段计算还可以最大程度地减少数据输入错误的风险。
- 激活 Historic Places 属性表。 在表中,单击编号为 323 的行标题(行左边缘的灰色方块),选中 Moncks Cave 的记录。
- 右键单击 Liquefaction Risk 字段标题,然后单击计算字段 。
将显示计算字段对话框。 将在对话框顶部显示一条消息,提示您该工具将修改输入表。
输入表参数默认设置为 Historic Places。 切换按钮表示将仅计算所选记录的值。 字段名称(现有或新建)参数默认设置为 Liquefaction Risk。 表达式类型参数默认为 Python。
您将定义要用于计算的表达式。 您希望将 Moncks Cave 当前的 null 值替换为 Damage unlikely 值。
- 在字段列表中,单击 Liquefaction Risk,将其选中。 单击插入值下拉箭头,然后单击 Damage unlikely。
- 单击确定。
在 Historic Places 表中,Moncks Cave 的 null 值已更新。
- 在表中,单击编号为 324 的行标题,选中 Rotten Row Baches 的记录。
- 右键单击 Liquefaction Risk 字段标题,然后单击计算字段 。
如前所述,输入表和字段名称(现有或新建)参数默认设置正确。 默认设置为先前设置的表达式,您需要更改此内容。
- 在表达式框中,删除 Damage unlikely 表达式。
- 在字段列表中,单击 Liquefaction Risk,将其选中。 单击插入值下拉箭头,然后单击 Nonresidential area。
- 单击确定。
- 在表视图顶部的工具栏上,单击清除 ,清除选中的记录。
- 关闭打开的表格和“数据工程”视图。
- 在内容窗格中,右键单击 Historic Places 图层,然后单击缩放至图层 。
- 在快速访问工具栏上,单击保存工程 。
在本教程中,您使用了空间连接将一个面图层中的地震液化风险属性添加到历史遗址点图层。 您在“数据工程”视图中浏览了连接表的属性。 您将 .csv 文件转换为地图图层,并将该图层中的要素追加到历史遗址图层。 最后,您计算了追加记录的值以填补缺失的信息。
要获得有关空间连接的更多经验,请参阅 ArcGIS Pro 入门和使用空间连接借用属性教程。 要了解关于数据工程的详细信息,请参阅 ArcGIS Pro 中的数据工程系列文章和教程中的内容。 要了解如何在更新现有数据的同时向图层追加新数据,请参阅在 ArcGIS Pro 中使用追加工具插入数据集文章。