[an error occurred while processing this directive][an error occurred while processing this directive]
ArcGIS Brings Topology to the Geodatabase
Topologythe spatial relationships between geographic featuresis fundamental to ensuring data quality. Topology enables advanced spatial analysis and plays a fundamental role in ensuring the quality of a GIS database. In the ArcInfo "coverage" model, hundreds of thousands of GIS users worldwide learned the benefits of topology by performing the build and clean operations on their databases. At ArcGIS 8.3, Esri introduced a new suite of editing tools necessary to construct and maintain user-defined topological relationships with a geodatabase. In ArcGIS, the validate topology capability will ensure data integrity by validating the features of a geodatabase against a set of topology rules.
One of the primary objectives of the ArcGIS release is to add full topology to the geodatabase. Until release 8.3, topology was a feature of the ArcInfo coverage data model. The introduction of the new ArcGIS geodatabase provides an opportunity to expand what topology means for GIS users as well as the possible uses it has in modeling spatial data. This article introduces geodatabase topology and describes a simplified parcel data model.
Storing and Modeling Data in the Geodatabase
The geodatabase is an open storage structure for storing and managing GIS-related data (spatial geometry, tabular, and imagery) in a database management system (DBMS). The geodatabase follows the fundamental relational data model in which each object and its attributes are stored as a row in a table. An object represents a feature or a real-world entity that the GIS is designed to emulate (e.g., a parcel, a building, a streetlight, a river, or a customer). A collection of similar features (objects), such as parcels, buildings, or rivers, stored in a DBMS table is called a feature class. Collections of related feature classes that share the same spatial reference can be organized into a larger structure called a feature data set.
Each feature in a geodatabase (e.g., a parcel polygon) contains its own shape (geometry) and can exist on its own, as opposed to the coverage data model that models a polygon as a collection of arcs and label points. The ability to store the complete geometry of a simple feature (such as a parcel polygon) is one of the advantages of the geodatabase model, as the feature is always available for display and analysis.
How Is Topology Implemented in ArcGIS?
Topology is implemented as a set of integrity rules that define the behavior of spatially related geographic features and feature classes. Topology rules, when applied to geographic features or feature classes in a geodatabase, enable GIS users to model such spatial relationships as connectivity (are all of my road lines connected?) and adjacency (are there gaps between my parcel polygons?). Topology is also used to manage the integrity of coincident geometry between different feature classes (e.g., are the coastlines and country boundaries coincident?).
ArcGIS also includes a collection of spatial operators (editing tools) to edit the shared geometry and to help discover errors in the spatial relationships based on the rules the user has applied.
As an example of how topology can be applied in the ArcGIS data model, the illustration below represents a simple geodatabase containing parcels, lots, lot lines, and building footprints and displays an example of the topology rules that might be applicable to this data.
Why Is Topology Needed?
Topology applies GIS behaviors to spatial data. Topology enables GIS software to answer questions such as adjacency, connectivity, proximity, and coincidence. In ArcGIS, a topology provides a powerful and flexible way for users to specify the rules for establishing and maintaining the quality and integrity of your spatial data. You want to be able to know, for example, that all your parcel polygons completely form closed rings, they don't overlap one another, and there are no gaps between parcels. You can also use topology to validate the spatial relationships between feature classes. For example, the lot lines in your parcel data model must share coincident geometry with the parcel boundaries.
Topological relationships can be considered as spatial constraints you want to apply to spatial data. ArcGIS software will enforce these relationships and let you know when any of these constraints have been broken. To support this, the tools contained in the GIS software must recognize the spatial constraints and provide the tools you need to find and fix any of these rule violations.
How Is Topology Modeled in the Geodatabase?
In ArcGIS, a topology can be defined for one or more of the feature classes contained in a feature data set. It can be defined for multiple point, line, and polygon feature classes. A topology is a set of integrity rules for the spatial relationships along with a few important properties: a cluster tolerance, feature class ranks (for coordinate accuracy), errors (rule violations), and any exceptions to the rules you've defined. ArcEditor and ArcInfo include a topology wizard to select which feature classes will participate in a topology and define these properties.
Topology rules can be defined for the features within a feature class or for the features between two or more feature classes. Example rules include polygons must not overlap, lines must not have dangles, points must be covered by the boundary of a polygon, polygon class must not have gaps, lines must not intersect, and points must be located at an endpoint. Topology rules can also be defined for the subtypes of a feature class. Geodatabase topology is flexible since you select which rules apply to the data in your feature class or feature data set.
The cluster tolerance is similar to the fuzzy tolerance. It is a distance range in which vertices are considered coincident. Vertices and endpoints falling within the cluster tolerance are snapped during the validate topology process.
Coordinate accuracy ranks are defined at a feature class level and control how much the features in that class can potentially move in relation to features in other classes when a topology is validated. The higher the rank (one being the highest), the less the features move during the validate process.
Validate Topology Errors
The validate topology operation is used to snap feature geometry where vertices fall within the cluster tolerance and to check for violations of the specified topology rules. Validate topology begins by snapping together feature vertices that fall within the cluster tolerance taking into account the ranks (as described above) of the feature classes. If feature vertices are found within the cluster tolerance, the features from the feature class with the lowest rank of coordinate accuracy will be moved to the features with the higher rank. As part of the snapping routine, validate topology will also add vertices where features intersect if a vertex does not already exist.
Also, any rule violations discovered during validate topology are marked as errors. A complete error listing is available in the properties of the topology in ArcCatalog and ArcMap. In ArcMap, errors can be searched for, displayed, or listed in the Error Inspector.
Correcting Errors in the Topology
When an error is discovered during the validate topology operation, the user has three options:
When resolving errors, the user always has the option of marking an individual error or a collection of errors as exceptions. There are instances when the occurrence of a defined error may actually be acceptable. In these cases the error should be marked as an exception; for example, if the building shown in the example was actually a shopping mall, the one building overlapping several parcels would not be an error but rather an exception to the rule. Once an error has been marked as an exception, it remains as such until it is reset back to an error. Running validate topology on the same area will not generate an error for an instance that has been marked as an exception.
One of the real benefits of running validate topology is that it adjusts geometry between features and feature classes (so vertices within the cluster tolerance become coincident or share the same x,y coordinate locations). The shared geometry is not physically stored in the database as it is in the coverage data model, rather topological elements such as coincident boundaries and other topological relationships are discovered when required on the fly (based on the coincident geometry). For example, when you click on a line or point with the Topology Edit tool, the tool determines the features that share geometry with selected features. Edits will be performed on all the features that share geometry.
Discovering shared geometries on the fly as opposed to storing relationships in the database provides significant performance benefits when editing your data. The editing tools in ArcGIS also provide more flexibility during edit operations. For example, when working in an environment in which polygon boundaries are only stored once, it is not uncommon to discover that certain boundaries between layers (feature classes) are not really coincident. Redigitizing lines and rebuilding topology can be a time-consuming process. With the editing tools in ArcGIS, you simply select the edge and view the features sharing that edge. Unchecking the unrelated features allows you to update one or more feature classes independent of the others.
Geodatabase Topology Benefits
The ArcInfo coverage model explicitly defines, stores, and maintains the topological information within the coverage structure and employs a fixed set of tools for creating and maintaining topology. The result is a tightly controlled environment in which the work flow is dictated by the software and topological integrity is steadfastly maintained. The data model does not allow much flexibility. Thus, application development (ArcEdit macros) for editing is required to build and maintain more sophisticated data models than many GIS applications require.
In ArcGIS, geodatabase topology provides a powerful, flexible way for you to specify the rules for establishing and maintaining the quality and integrity of your data, as well as providing a suite of tools specifically designed to support topological geodatabase editing and maintenance (see sidebar). The benefits of defining a topology in the geodatabase model include
Topology in the geodatabase model offers a more flexible environment along with the ability to define and apply a wider set of integrity rules and constraints. As a result, almost any work flow can be employed in which topological integrity is analyzed only at designated times specified by the user. The user is no longer forced to rerun a clean command to rebuild topology. The user can choose to validate the geodatabase topology at any time, perform queries and analyses using the geodatabase data, and continue to produce high-quality maps.
Printer-friendly version of this article. [PDF-2.81 MB]