Available with Standard or Advanced license.
When you stand on a hill and look down on a landscape, you can easily identify intersecting streets and adjacent properties. The mathematical logic a computer uses to identify these relationships is topology.
Topology explicitly defines spatial relationships between connecting or adjacent features in geographic data. The principle in practice is quite simple: spatial relationships are expressed as lists (for example, a polygon is defined by the list of arcs comprising its border).
Creating and storing topological relationships have a number of advantages. Data is stored efficiently, so large datasets can be processed quickly. Topology facilitates analytic functions, such as modeling flow through the connecting lines in a network, combining adjacent polygons with similar characteristics, identifying adjacent features, and overlaying geographic features.
The topological structure of a coverage supports three major topological concepts:
- Connectivity: Arcs connect to each other at nodes.
- Area definition: Arcs that connect to surround an area define a polygon.
- Contiguity: Arcs have direction and left and right sides.
Connectivity
Connectivity is defined through arc-node topology. This is the basis for many network tracing and pathfinding operations. Connectivity allows you to identify a route to the airport, connect streams to rivers, or follow a path from the water treatment plant to a house.
In the arc-node data structure, an arc is defined by two endpoints: the from-node indicating where the arc begins and a to-node indicating where it ends. This is called arc-node topology.
Arc-node topology is supported through an arc-node list. The list identifies the from- and to-nodes for each arc. Connected arcs are determined by searching through the list for common node numbers. In the following example, it is possible to determine that arcs 1, 2, and 3 all intersect because they share node 11. The computer can determine that it is possible to travel along arc 1 and turn onto arc 3 because they share a common node (11), but it's not possible to turn directly from arc 1 onto arc 5 because they don't share a common node.
Area definition
Many of the geographic features that may be represented cover a distinguishable area on the surface of the earth, such as lakes, parcels of land, and census tracts. An area is represented in the vector model by one or more boundaries defining a polygon. Although this sounds counterintuitive, consider a lake with an island in the middle. The lake actually has two boundaries: one that defines its outer edge and the island that defines its inner edge. In the terminology of the vector model, an island defines an inner boundary (or hole) of a polygon.
The arc-node structure represents polygons as an ordered list of arcs rather than a closed loop of x,y coordinates. This is called polygon-arc topology. In the illustration below, polygon F is made up of arcs 8, 9, 10, and 7 (the 0 before the 7 indicates that this arc creates an island in the polygon).
Each arc appears in two polygons (in the illustration below, arc 6 appears in the list for polygons B and C). Since the polygon is simply the list of arcs defining its boundary, arc coordinates are stored only once, thereby reducing the amount of data and ensuring that the boundaries of adjacent polygons don't overlap.
Contiguity
Two geographic features that share a boundary are called adjacent. Contiguity is the topological concept that allows the vector data model to determine adjacency. Polygon topology defines contiguity. Polygons are contiguous to each other if they share a common arc. This is the basis for many neighbor and overlay operations.
Recall that the from-node and to-node define an arc. This indicates an arc's direction so the polygons on its left and right sides can be determined. Left-right topology refers to the polygons on the left and right sides of an arc. In the illustration below, polygon B is on the left of arc 6, and polygon C is on the right. Thus we know that polygons B and C are adjacent.
Notice that the label for polygon A is outside the boundary of the area. This polygon is called the external, or universe, polygon and represents the world outside the study area. The universe polygon ensures that each arc always has a left and right side defined.
Generating topology
This section applies to ArcGIS for Desktop Advanced only.
The General tab on the Coverage Properties dialog box shows which feature classes have topology. In addition, from this tab, you can obtain other important information about a coverage, such as where the coverage is stored on disk and whether it is a single- or double-precision coverage. When you click a feature class, the number of features it contains appears at the bottom of the tab.
If topology is missing for a feature class that should have it, you can generate topology using either the Build or Clean commands on the Coverage Properties dialog box or by using the Build tool or Clean tool. You might also use the Build command to create a feature attribute table for a feature class. Build assumes the coordinate data is correct. Clean finds arcs that cross and places a node at each intersection. Clean also corrects undershoots and overshoots within a specified tolerance. For polygon and region coverages with preliminary topology, a red warning indicator appears in the icons for both the coverage and appropriate feature class.
The fuzzy tolerance is used by the Clean tool. This is the distance the Clean tool is allowed to move features, eliminate duplicate nodes, create nodes at intersections of lines, and eliminate duplicate features. The fuzzy tolerance is measured in coverage units. When using the Clean tool, it is critical that an appropriate fuzzy tolerance be assigned so that necessary features are not eliminated by mistake.