Geospatial topology


Geospatial topology studies the rules concerning the relationships between the points, lines, and polygons that represent the features of a geographic region. For example, where two polygons represent adjacent counties, typical topological rules would require that the counties share a common boundary with no gaps and no overlaps. Similarly, it would be nonsense to allow two polygons representing lakes to overlap.
In network and graph representations the is about topological objects such as faces, edges and nodes.
The ESRI White Paper GIS Topology explains that topology operations are used to manage shared geometry, define and enforce data integrity rules, support topological relationship queries and navigation, and build more complex shapes such as polygons, from primitive ones such as lines. A GIS for Educators worksheet at Linfiniti additionally explains the detection and correction of digitising errors and carrying out network analysis. Topological error correction is explained in more detail in a paper by Ubeda and Egenhofer.
Unlike GML, topologies are not directly represented in ESRI shapefiles and ESRI geodatabases both of which store individual geometric objects in isolation. Esri's older "coverage" data model was, however, based on a Topological data model. Topological processing can, however, be undertaken in GIS software such as GRASS GIS or QGIS and can be enforced using integrity constraints in a GIS-enabled DBMS such as PostGIS and Oracle. However, as Riedemann explains, topological operators are inherently complex and their implementation requires care to be taken with usability and conformance to standards.
Oracle and PostGIS provide fundamental topological operators allowing applications to test for "such relationships as contains, inside, covers, covered by, touch, and overlap with boundaries intersecting." Unlike the PostGIS documentation, the Oracle documentation draws a distinction between "topological relationships remain constant when the coordinate space is deformed, such as by twisting or stretching" and "relationships that are not topological include length of, distance between, and area of." These operators are leveraged by applications to ensure that data sets are stored and processed in a topologically correct fashion.