5.2. 课: 要素拓扑

拓扑是矢量数据图层的一个非常有用的功能,因为它可以最大限度地减少重叠或间隙等错误。

例如:如果两个要素共享一个边界,如果您使用拓扑编辑边界,那么就不需要先编辑一个要素,再编辑另一个要素,然后仔细对齐边界以使其相匹配。相反,您可以编辑其共享边界,并且这两个要素也将同时更改。

本课目标: 使用示例理解拓扑。

5.2.1. moderate 跟我做: 捕捉

捕捉使拓扑编辑更容易。这允许您在数字化时将鼠标光标捕捉到其他对象。要设置捕捉选项,请执行以下操作:

  1. 导航至菜单项 工程 ► 捕捉选项...

  2. 捕捉选项 对话框激活 landuse 图层,并设置 类型顶点 ,容差是 12 像素,如下图所示:

    ../../../_images/set_snapping_options.png
  3. 确保勾选 避免重叠 列中的框。

  4. 离开对话框。

  5. 选择 landuse 图层并进入编辑模式 (toggleEditing)

  6. 检查 ( 视图 ► 工具栏 ) 高级数字化 工具栏是否已启用。

  7. 缩放到该区域 (必要时启用图层和标注):

    ../../../_images/zoom_to.png
  8. 数字化这个新 (虚构的) 区域:

    ../../../_images/new_park_area.png
  9. 当出现提示时,将 OGC_FID 设置为 999 ,其他值可以保持不变。

    如果在数字化时非常小心,并允许光标捕捉到邻接区域的顶点,您会注意到新区域和现有邻接区域之间不会有任何间隙。

  10. 请注意 数字化 工具栏中的 undo 撤销redo 重做 工具。

5.2.2. moderate 跟我做: 恰当的拓扑要素

拓扑要素有时需要更新。在我们的研究区域中,一个区域已经变成了林区,因此 landuse 图层需要更新。所以,我们将扩展并加入该地区的一些林区要素:

../../../_images/zoom_to.png

我们将使用 顶点工具 编辑和连接现有多边形,而不是创建新的多边形来连接森林区域。

  1. 进入编辑模式 (如果尚未激活)

  2. 选择 vertexToolActiveLayer 顶点工具 工具。

  3. 选择一个森林区域,并选择一个顶点,然后将其移动到邻接的顶点,以便两个林区要素相交:

    ../../../_images/corner_selected_move.png
  4. 单击其他顶点并将其捕捉到位。

    拓扑正确的边界如下所示:

    ../../../_images/areas_joined.png

    继续使用 顶点工具 连接更多区域。

    也可以使用 capturePolygon 添加多边形要素 工具来填充两个林区多边形之间的间隙。如果启用了 避免重叠 ,则不必添加每一个顶点 - 如果新多边形与现有多边形重叠,将自动添加顶点。

    如果您使用的是我们的示例数据,应该有一个森林区域,看起来像这样:

../../../_images/node_example_result.png

如果您连接了更多、更少或不同的森林区域,请不要担心。

5.2.3. moderate 跟我做: 简化要素工具

继续在同一图层,我们将测试 simplify 简化要素 工具:

  1. 单击将其激活。

  2. 单击使用 顶点工具添加要素 工具连接的其中一个区域,您将看到以下对话框:

    ../../../_images/simplify_line_dialog.png
  3. 修改 容差 并观察有什么变化:

    ../../../_images/simplify_line_example.png

    这样可以减少顶点的数量。

  4. 单击 确定

该工具的优点是,它为您提供了一个简单而直观的通用界面。但请注意,此工具会破坏拓扑结构,简化的多边形不再与其邻接多边形共享边界。因此,该工具更适合于单独的要素。

在继续之前,请使用撤消命令返回上一次更改,将多边形恢复其原始状态。

5.2.4. moderate 试一试 添加环工具

addRing 添加环 工具允许将内环添加到多边形要素 (在多边形中切孔),只要孔完全包含在多边形之内 (或接触边界) 即可。例如,如果您已将南非的外部边界数字化,并且需要为莱索托添加一个孔,则可以使用此工具。

如果尝试该工具,或许会注意到捕捉选项可能会阻止您在多边形内创建环。因此,建议在切孔之前关闭捕捉。

  1. 使用 snapping 启用捕捉 按钮 (或使用快捷键 s ) 禁用 landuse 图层的捕捉。

  2. 使用 addRing 添加环 工具在多边形几何图形的中间创建一个孔。

  3. 在目标要素上绘制多边形,就像使用 capturePolygon 添加多边形要素 工具一样的方法。

  4. 当您右键单击时,该孔将可见。

  5. 使用 deleteRing 删除环 工具移除刚才创建的孔,方法是在孔内单击将其删除。

  • 在继续下一个工具的练习之前,请撤消您的编辑。

5.2.5. moderate 试一试 添加部件工具

addPart 添加部件 工具允许您向未直接连接到主要素的要素添加新部件。例如,如果您已经将南非大陆的边界数字化,但尚未添加爱德华王子群岛,则可以使用此工具创建它们。

  1. 使用 selectRectangle 框选或单击选择要素 工具,选择要添加部件的多边形。

  2. 使用 添加部件 工具添加边远地区。

  3. 使用 deletePart 删除部件 工具删除刚才创建的部件。

    备注

    在部件内部单击,将其删除。

5.2.6. moderate 跟我做: 重塑要素工具

reshape 重塑要素 工具用于扩展多边形要素或剪切其一部分 (沿边界)。

扩展:

  1. 使用 selectRectangle 框选或单击选择要素 工具选择多边形。

  2. 在多边形内单击鼠标左键开始绘制。

  3. 在多边形外绘制形状,最后一个顶点应该返回多边形内部。

  4. 右键单击以完成形状:

    ../../../_images/reshape_step_one.png

    这将产生与以下类似的结果:

    ../../../_images/reshape_result.png

切除一部分:

  1. 使用 selectRectangle 框选或单击选择要素 工具选择多边形。

  2. 在多边形外单击。

  3. 在多边形内绘制形状,最后一个顶点必须返回到多边形外部。

  4. 在多边形外部右键单击:

    ../../../_images/reshape_inverse_example.png

    上述结果:

    ../../../_images/reshape_inverse_result.png

5.2.7. moderate 试一试 分割要素工具

splitFeatures 分割要素 工具与 reshape 重塑要素 工具类似,不会删除这两个部件中的任何一个。相反,它让他们两个都保留着。

我们将使用该工具从多边形中分割一个角。

  1. 首先,选择 landuse 图层并为其重新启用捕捉。

  2. 选择 splitFeatures 分割要素 工具并单击顶点开始绘制线。

  3. 绘制边界线。

  4. 单击要分割的多边形 "相对" 边的顶点,然后右键单击以完成线:

    ../../../_images/split_feature_example.png
  5. 此时,似乎什么都没有发生。但是请记住, landuse 图层渲染没有边界线,因此不会显示新的分割线。

  6. 使用 selectRectangle 框选或单击选择要素 工具选择刚刚分割的部分,新要素现在将突出显示:

    ../../../_images/new_corner_selected.png

5.2.8. hard 试一试 合并要素工具

现在,我们把刚才分割的要素重新连接到多边形的其余部分:

  1. 试验 mergeFeatures合并所选要素mergeFeatureAttributes 合并所选要素的属性 工具。

  2. 请注意这两个工具的差异。

5.2.9. 综上所述

拓扑编辑是一个功能强大的工具,允许您快速轻松地创建和修改对象,同时确保它们的拓扑正确。

5.2.10. 下节引言

现在,您了解如何轻松愉快地数字化对象的形状,但添加属性仍然有点头疼!接下来,我们将向您展示如何使用表单,使属性编辑更简单、更有效。