Skip to content

Rules

Run a rule as topology-checker <group> <rule>, or use rule = "<group>/<rule>" in topology.toml. topology-checker <group> <rule> --help prints the exact semantics.

Points (10)

Rule Needs Description ArcGIS QGIS
point/must-not-overlap one point layer Find duplicate points within the distance tolerance. Must Be Disjoint Must not have duplicates
point/must-not-overlap-with two point layers Find duplicate points across two layers within the distance tolerance.
point/must-be-inside point layer + polygon layer Find points outside the polygons, including points on or within the distance tolerance of their edges. Must Be Properly Inside Polygons Must be inside
point/must-be-covered-by-lines point layer + line layer Find points without covering linework, including line endpoints. Must Be Covered By (Point-Line) Must be covered by
point/must-be-covered-by-line-endpoints point layer + line layer Find points without a covering open line endpoint. Closed line parts have no endpoints. Must Be Covered By Endpoint Of Must be covered by endpoints of
point/must-be-covered-by-polygon-boundaries point layer + polygon layer Find points away from polygon edges, including holes and shared parcel edges. Must Be Covered By Boundary Of (Point-Area)
point/must-be-covered-by-polygons point layer + polygon layer Find points outside polygon areas and farther than the tolerance from their edges. Boundary points are allowed.
point/must-not-be-inside-polygons point layer + polygon layer Find points strictly inside polygons. Points on or within tolerance of their edges are allowed.
point/must-not-intersect-lines point layer + line layer Find points touching linework anywhere, including endpoints, within tolerance.
point/must-not-intersect-polygons point layer + polygon layer Find points inside polygons or touching their edges within tolerance.

Lines (19)

Rule Needs Description ArcGIS QGIS
line/must-not-have-dangles one line layer Find unconnected line endpoints. Must Not Have Dangles Must not have dangles
line/must-not-have-pseudo-nodes one line layer Find joins connecting exactly two distinct features at their endpoints. Closed loops are allowed. Must Not Have Pseudo Nodes Must not have pseudo nodes
line/must-not-overlap one line layer Find shared line segments between distinct features. Crossings and overlaps within one feature are excluded. Must Not Overlap
line/must-not-overlap-with two line layers Find shared line segments across two layers. Crossings are excluded. Must Not Overlap With
line/must-not-self-overlap one line layer Find line segments traced more than once by the same feature, including across its parts. Must Not Self-Overlap
line/must-not-intersect one line layer Find overlaps and crossings between distinct features away from their endpoints. Endpoint touches are allowed. Must Not Intersect
line/must-not-intersect-with two line layers Find overlaps and crossings across two layers away from their endpoints. Endpoint touches are allowed. Must Not Intersect With
line/must-not-intersect-or-touch-interior one line layer Find overlaps, crossings and endpoint touches on the interior of another feature. Touches only at both features' endpoints are allowed. Must Not Intersect Or Touch Interior
line/must-not-intersect-or-touch-interior-with two line layers Find overlaps, crossings and endpoint touches on a line's interior across two layers. Touches only at both features' endpoints are allowed. Must Not Intersect Or Touch Interior With
line/must-not-self-intersect one line layer Find overlaps and crossings within one feature. Closed loops and self-touches are allowed. Must Not Self-Intersect
line/must-be-inside line layer + polygon layer Find line pieces outside the polygons that are longer than the distance tolerance. Lines on polygon edges are allowed. Must Be Inside
line/endpoints-must-be-covered-by-points line layer + point layer Find open line endpoints without a covering point. Closed line parts have no endpoints. Endpoint Must Be Covered By End points must be covered by
line/must-be-covered-by-polygon-boundaries line layer + polygon layer Find line pieces that do not follow polygon edges, including holes and shared edges. Must Be Covered By Boundary Of (Line-Area)
line/must-not-cross-polygon-boundaries line layer + polygon layer Find lines entering or leaving polygons through exterior or hole edges. Tangencies, endpoint touches and shared segments are allowed.
line/must-be-properly-inside-polygons line layer + polygon layer Find whole line parts that leave polygon coverage or come within tolerance of its boundary.
line/must-not-overlap-with-polygons line layer + polygon layer Find line pieces inside polygons or along their edges, longer than tolerance. Isolated contacts are allowed.
line/must-not-overlap-polygon-boundaries line layer + polygon layer Find line pieces shared with polygon edges, longer than tolerance. Crossings and isolated contacts are allowed.
line/must-not-intersect-polygons line layer + polygon layer Find any line contact with polygons, including interior pieces, shared edges and isolated touches within tolerance.
line/endpoints-must-be-covered-by-polygon-boundaries line layer + polygon layer Find open line endpoints away from polygon exterior or hole edges. Closed line parts have no endpoints.

Polygons (7)

Rule Needs Description ArcGIS QGIS
polygon/must-not-overlap one polygon layer Find shared areas between distinct polygon features, ignoring slivers below the tolerance. Must Not Overlap Must not overlap
polygon/must-not-overlap-with two polygon layers Find shared polygon areas across two layers, ignoring slivers below the tolerance. Must Not Overlap With Must not overlap with
polygon/must-not-have-gaps one polygon layer Find enclosed gaps between polygons, ignoring sliver gaps below the tolerance. Also report outer boundaries separately. Must Not Have Gaps Must not have gaps
polygon/boundaries-must-be-covered-by-lines polygon layer + line layer Find polygon edge pieces without covering linework, including hole edges. Boundary Must Be Covered By (Area-Line)
polygon/must-contain-point polygon layer + point layer Find polygons without a strictly interior point feature. All parts of a point feature must qualify. Contains Point Must contain
polygon/must-contain-one-point polygon layer + point layer Find polygons and point features without a one-to-one interior assignment. Count feature IDs, including multipart features. Contains One Point
polygon/must-not-contain-points polygon layer + point layer Find strictly contained points, with the polygon as the primary feature. Boundary points are allowed.

All geometries (2)

Rule Needs Description ArcGIS QGIS
geometry/must-not-be-multipart one layer of any geometry type Find features with more than one part. A Multi geometry with only one part is allowed. Must Be Single Part (lines) Must not have multi-part geometries
geometry/must-not-be-contained-by two layers of any geometry type Find whole features contained by an individual feature in the other layer. Equal geometries are allowed. No tolerance buffer is used. Check Geometry (Contained)