Build Topology Task

A Build Topology Task is used to apply topology structuring and snapping to your data.

A Topology build Task defines the topology model, snapping types and the list of classes from which to build topology. The order defines how things snap: Classes later in the list snap to the classes earlier in the list, but any subsequent inserts and updates to features will snap those features to any existing topology.

It is often used in conjunction with Rules, Actions and a Commit Task in order to correct errors in the structuring and then commit the data back to the data store.

A topology rule includes checks that allow you to identify more specifically where a particular operation passed or failed.

A topology action allows you to enhance the build topology task so that errors in the structuring are minimised, or correct errors that have already occurred.

Note: You can decide how to run actions and rules according to your structuring requirements. For example, you can perform an action after a rule, or perform an action before a build topology task.

A flowchart describing a typical topology workflow.

Typical Topology Flowchart

ClosedAdd a Build Topology task to a session

  1. Navigate to the Sessions workspace.

  2. From the Navigation Pane, select a session to edit.

  3. Open the Tasks tab.

  4. Click A page icon with a plus, representing new and select Build Topology.

  5. Select the network model from the Model list (Network or Planar).

    If you select Network from the Model list, choose a snapping type from the Snapping type list.

    If you select Planar, Edges to Edges is displayed in the Snapping Type list.

  6. Enter a Tolerance value.

  7. Click Classes to begin selecting classes.

    Note: You can only pick classes that have Enable Topology selected in the Open Data task. This assumes that you have selected specific classes rather than all the classes in the task.

    Select a class and add it to the Selected Classes list using the right arrow A right pointing arrow icon. Move unwanted classes back to the Classes list using the left arrow A left pointing arrow icon.

    Change the order in the Selected Classes list using the arrows An upwards pointing arrow icon A downwards pointing arrow icon. The order of the classes defines the snapping priority.

  8. Click OK.
  9. Click Save.

Build Topology Task Results

The results of topology tasks are displayed in an XML report. It includes the objects processed and any errors generated. If the summary report includes errors, more details of the errors are also provided.

The <ResultsSummary> element includes the following:

  • ResultsSummary total - the total number of objects of all classes included in the build topology task
  • ClassSummary total - the total number of objects of a specific class included in the build topology task
  • processed - the number of objects that are successfully processed
  • error - the number objects that return an error in the task
  • className - the name of the class of an object, for example, FIRE_STATION1

An example is given below:

<TaskResults taskType="OPEN_DATA" taskLabel="1" started="1236616955853" sessionId="2309" last="0" first="1" finished="1236616971947" xmlns="http://schema.onespatial.com/radius/studio/results/v2">

<ResultsSummary total="13057" processed="13057" error="0" count="0">

<ClassSummary total="66" processed="66" error="0" count="-1" className="POLITICALWARD1"/>

<ClassSummary total="3457" processed="3457" error="0" count="-1" className="STREETCENT1" />

<ClassSummary total="2693" processed="2693" error="0" count="-1" className="ZONING1" />

<ClassSummary total="1606" processed="1606" error="0" count="-1" className="CURBLINE1" />

<ClassSummary total="5230" processed="5230" error="0" count="-1" className="BUILDING1" />

<ClassSummary total="5" processed="5" error="0" count="-1" className="FIRE_STATION1" />

</ResultsSummary>

</TaskResults>

Topology Build Errors

When running a build topology task, the topology of some features may not be created.

This can be due to the following:

  • Invalid geometries of the features such as duplicate vertices or spikes.
  • The tolerance specified in the Build Topology task is too large for the data (e.g. a line is shorter than the tolerance, or a polygon has a section narrower than the tolerance).

Features that fail do not have any corresponding topology created within the topology model; you choose whether or not any action is taken. As these features were not permitted to be topologically structured, the resulting topology is always valid.

To try and solve any errors and topologically structure all the data, try one of the following solutions:

  • Geometrically clean the data using an action before running the Build Topology task. This can remove duplicate vertices and spikes in the geometries.
  • Reduce the tolerance value used in the Build Topology task.
  • Check that the lines and polygons are not exceedingly short and narrow. You can manually delete very short lines and polygons.
  • In some cases you may need to edit the source data in a GIS (such as a MapInfo or an ESRI product) to resolve geometric inconsistencies before running the session again in 1Integrate. The Build Topology XML report indicates the specific location of the topology errors.