5.2. Lesson: Feature Topology

Topology is a useful aspect of vector data layers, because it minimizes errors such as overlap or gaps.

For example: if two features share a border, and you edit the border using topology, then you won’t need to edit first one feature, then another, and carefully line up the borders so that they match. Instead, you can edit their shared border and both features will change at the same time.

The goal for this lesson: To understand topology using examples.

5.2.1. moderate Follow Along: Snapping

Snapping makes topological editing easier. This will allow your mouse cursor to snap to other objects while you digitize. To set snapping options:

  1. Navigate to the menu entry Project ► Snapping Options….

  2. Set up your Snapping options dialog to activate the landuse layer with Type vertex and tolerance 12 pixels:

    ../../../_images/set_snapping_options.png
  3. Make sure that the box in the Avoid overlap column is checked.

  4. Leave the dialog.

  5. Select the landuse layer and enter edit mode (toggleEditing)

  6. Check (under View ► Toolbars) that the Advanced Digitizing toolbar is enabled.

  7. Zoom to this area (enable layers and labels if necessary):

    ../../../_images/zoom_to.png
  8. Digitize this new (fictional) area:

    ../../../_images/new_park_area1.png
  9. When prompted, give it an OGC_FID of 999, but feel free to leave the other values unchanged.

    If you are careful while digitizing, and allow the cursor to snap to the vertices of adjoining areas, you’ll notice that there won’t be any gaps between your new area and the existing adjacent areas.

  10. Note the undo undo and redo redo tools in the Advanced Digitizing toolbar.

5.2.2. moderate Follow Along: Correct Topological Features

Topology features can sometimes need to be updated. In our study area, an area has been turned into forest, so the landuse layer need an update. We will therefore expand and join some forest features in this area:

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

Instead of creating new polygons to join the forest areas, we are going to use the Vertex Tool to edit and join existing polygons.

  1. Enter edit mode (if it is not active already)

  2. Select the vertexToolActiveLayer Vertex Tool tool.

  3. Choose an area of forest, select a vertex, and move it to an adjoining vertex so that the two forest features meet:

    ../../../_images/corner_selected_move.png
  4. Click on the other vertices and snap them into place.

    The topologically correct border looks like this:

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

    Go ahead and join a few more areas using the Vertex Tool.

    You can also use the capturePolygon Add Polygon Feature tool to fill the gap between the two forest polygons. If you have enabled Avoid overlap, you don’t have to add every single vertex - they will be added automatically if your new polygon overlaps the existing ones.

    If you are using our example data, you should have a forest area looking something like this:

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

Don’t worry if you have joined more, less or different areas of forest.

5.2.3. moderate Follow Along: Tool: Simplify Feature

Continuing on the same layer, we will test the simplifyFeatures Simplify Feature tool:

  1. Click on it to activate it.

  2. Click on one of the areas which you joined using either the Vertex Tool or Add Feature tool. You will see this dialog:

    ../../../_images/simplify_line_dialog.png
  3. Modify the Tolerance and watch what happens:

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

    This allows you to reduce the number of vertices.

  4. Click OK

The advantage of this tool is that it provides you with a simple and intuitive interface for generalization. But notice that the tool ruins topology. The simplified polygon no longer shares boundaries with its adjacent polygons, as it should. So this tool is better suited for stand-alone features.

Before you go on, set the polygon back to its original state by undoing the last change.

5.2.4. moderate Try Yourself Tool: Add Ring

The addRing Add Ring tool allows you to add an interior ring to a polygon feature (cut a hole in the polygon), as long as the hole is completely contained within the polygon (touching the boundary is OK). For example, if you have digitized the outer boundaries of South Africa and you need to add a hole for Lesotho, you would use this tool.

If you experiment with the tool, you may notice that the snapping options can prevent you from creating a ring inside a polygon. So you are advised to turn off snapping before cutting a hole.

  1. Disable snapping for the landuse layer using the snapping Enable Snapping button (or use the shortcut s).

  2. Use the addRing Add Ring tool to create a hole in the middle of a polygon geometry.

  3. Draw a polygon over the target feature, as if you were using the capturePolygon Add polygon tool.

  4. When you right-click, the hole will be visible.

  5. Remove the hole you just created using the deleteRing Delete Ring tool.

    Note

    Click inside the hole to delete it.

Check your results

5.2.5. moderate Try Yourself Tool: Add Part

The addPart Add Part tool allows you to add a new part to a feature, that is not directly connected to the main feature. For example, if you have digitized the boundaries of mainland South Africa, but you haven’t yet added the Prince Edward Islands, you would use this tool to create them.

  1. Select the polygon to which you wish to add the part by using the selectRectangle Select Features by area or single click tool.

  2. Use the Add Part tool to add an outlying area.

  3. Delete the part you just created using the deletePart Delete Part tool.

    Note

    Click inside the part to delete it.

Check your results

5.2.6. moderate Follow Along: Tool: Reshape Features

The reshape Reshape Features tool is used to extend a polygon feature or cut away a part of it (along the boundary).

Extending:

  1. Select the polygon using the selectRectangle Select Features by area or single click tool.

  2. Left-click inside the polygon to start drawing.

  3. Draw a shape outside the polygon. The last vertex should be back inside the polygon.

  4. Right-click to finish the shape:

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

    This will give a result similar to:

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

Cut away a part:

  1. Select the polygon using the selectRectangle Select Features by area or single click tool.

  2. Click outside the polygon.

  3. Draw a shape inside the polygon. The last vertex must be back outside the polygon.

  4. Right-click outside the polygon:

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

    The result of the above:

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

5.2.7. moderate Try Yourself Tool: Split Features

The splitFeatures Split Features tool is similar to the reshape Reshape Features tool, except that it does not delete either of the two parts. Instead, it keeps them both.

We will use the tool to split a corner from a polygon.

  1. First, select the landuse layer and re-enable snapping for it.

  2. Select the splitFeatures Split Features tool and click on a vertex to begin drawing a line.

  3. Draw the bounding line.

  4. Click a vertex on the „opposite“ side of the polygon you wish to split and right-click to complete the line:

    ../../../_images/split_feature_example.png
  5. At this point, it may seem as if nothing has happened. But remember that the landuse layer is rendered without border lines, so the new division line will not be shown.

  6. Use the selectRectangle Select Features by area or single click tool to select the part you just split out; the new feature will now be highlighted:

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

5.2.8. hard Try Yourself Tool: Merge Features

Now we will re-join the feature you just split out to the remaining part of the polygon:

  1. Experiment with the mergeFeaturesMerge Selected Features and mergeFeatAttributes Merge Attributes of Selected Features tools.

  2. Note the differences.

Check your results

5.2.9. In Conclusion

Topology editing is a powerful tool that allows you to create and modify objects quickly and easily, while ensuring that they remain topologically correct.

5.2.10. What’s Next?

Now you know how to digitize the shape of the objects easily, but adding attributes is still a bit of a headache! Next we will show you how to use forms, making attribute editing simpler and more effective.