Validate topology is designed to identify spatial objects in point, line, and region datasets that violate topological rules, either within their own dataset type or across different dataset types. It primarily serves for data editing and preprocessing in topological analysis.
SuperMap provides comprehensive validate topology capabilities, offering 7 rules for point datasets, 15 rules for line datasets, and 10 rules for region datasets. Additionally, 5 cross-dataset-type rules are available to meet diverse validation needs.
This document details topology rules applicable to point, line, region datasets, and multi-type datasets respectively.
Rules for Point Datasets
Name | Description | Illustration |
Point Must On Line |
Checks if point objects in a point dataset are not fully covered by lines in the reference line dataset. Valid points must lie on line interiors, nodes, or endpoints. Example: Toll stations must be placed along highways. Uncovered points will be recorded as topology errors in the result dataset. Error dataset type: Point dataset. |
![]() ![]() |
Point On Region Boundary |
Identifies points not located precisely on boundaries of reference region dataset objects. Valid points cannot reside inside or outside regions. Example: Boundary markers must be placed on administrative borders. Points deviating from boundaries will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Point Contained In Region |
Detects points not fully contained within regions of the reference dataset. Valid points cannot lie on boundaries or outside. Example: Provincial capitals must be within provincial boundaries. Non-contained points will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Point Covered By Line End |
Verifies that points only exist at line endpoints in the reference dataset. Points on line nodes or interiors are invalid. Example: Pipeline valves must be at pipe endpoints. Points not at line ends will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
No Identical Points |
Identifies duplicate point objects within a dataset. Example: Public facilities like fire stations should have unique locations. Duplicate points will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Point Not Within Region |
Detects points contained within reference regions. Points on boundaries or outside are valid. Example: Prohibited facilities in protected areas. Contained points will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Point Not Covered By Region |
Identifies points within or on boundaries of reference regions. Example: Elevation points must not overlap building footprints. Overlapping points will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Rules for Line Datasets
Name | Description | Illustration |
Line Not Intersect With Line |
Ensures no intersections between lines in two datasets. Example: Separate pipeline networks must not cross. Intersection points will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
No Intersect In Line |
Detects unbroken intersections within a line dataset. Valid exceptions: endpoint connections and overpasses. Unbroken intersections will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
No Overlap In Line |
Identifies overlapping line segments with shared nodes. Example: Road networks should avoid duplicate routes. Overlaps will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
No Dangles In Line |
Detects unterminated line endpoints (dangling nodes). Example: Closed boundary requirements. Dangling nodes will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
No Pseudo Nodes In Line |
Identifies nodes connecting only two line segments. Valid networks require three-way connections. Pseudo nodes will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Line Not Overlap Line |
Detects overlaps between lines in two datasets. Example: Roads and railways must not share paths. Overlapping segments will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
Line Has No Intersects/Touches |
Ensures lines only intersect at endpoints. All intersections must be broken into nodes. Unbroken intersections will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
No Self Overlap In Line |
Detects overlapping segments within single line objects. Example: Road self-overlaps prohibited. Overlaps will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
No Self Intersect In Line |
Identifies self-intersecting lines. Critical for contour line validation. Intersection points will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Line Covered By Lines Fully |
Ensures complete coverage of lines by reference dataset. Example: Utility lines must match road networks. Uncovered segments will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
Line Covered By Region Boundary |
Verifies line coverage by region boundaries. Example: Administrative boundary markers. Uncovered segments will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
Line End Covered By Point |
Ensures line endpoints are covered by reference points. Example: Pipeline endpoint markers. Uncovered endpoints will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Line No Intersection With Region |
Prohibits line-region intersections. Example: Underground cables through buildings. Intersection segments will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
No Sharp Angles In Line |
Detects consecutive sharp angles below threshold. Indicates kinked lines. First sharp vertex will be recorded as error. Error dataset type: Point dataset. |
![]() ![]() |
No Acute Angle In Line |
Identifies angles below specified degree threshold. Example: Minimum turning radius compliance. Acute angle vertices will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Rules for Region Datasets
Name | Description | Illustration |
No Overlap In Region |
Detects overlapping polygons. Critical for administrative boundaries. Overlapping areas will be recorded as errors. Error dataset type: Region dataset. |
![]() ![]() |
No Gaps In Region |
Identifies unclassified spaces between adjacent polygons. Essential for land use mapping. Gap areas will be recorded as errors. Error dataset type: Region dataset. |
![]() ![]() |
Region Inside Not Overlap Region |
Prohibits overlaps with reference regions. Example: Water bodies vs dry land. Overlapping areas will be recorded as errors. Error dataset type: Region dataset. |
![]() ![]() |
Region Covered By Regions |
Ensures complete coverage by reference regions. Example: County coverage within provinces. Uncovered areas will be recorded as errors. Error dataset type: Region dataset. |
![]() ![]() |
Region Covered By Region |
Requires complete containment within reference region. Example: Wildlife habitats within study areas. Non-contained regions will be recorded as errors. Error dataset type: Region dataset. |
![]() ![]() |
Region Boundary Covered By Lines |
Verifies region boundary alignment with reference lines. Essential for boundary attribution. Misaligned boundaries will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
Region Boundary Covered By Line |
Ensures composite region alignment. Example: Provincial boundaries from counties. Misaligned boundaries will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
Region Contains Point |
Verifies point containment within regions. Example: City markers within provinces. Regions missing points will be recorded as errors. Error dataset type: Region dataset. |
![]() ![]() |
Region Boundary Not Overlap |
Prohibits boundary overlaps between regions. Excludes interior overlaps. Overlapping boundaries will be recorded as errors. Error dataset type: Line dataset. |
![]() ![]() |
No Acute Angle In Region |
Identifies angles below specified threshold in polygons. Affects geometric validity. Acute vertices will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |
Cross-Dataset Rules
These rules apply to single or multiple dataset types (point/line/region):
Name | Description | Illustration |
No Complex Object |
Detects multi-part geometries in line/region datasets. Example: Prohibited parallel lines. Complex objects will be recorded as errors. Error dataset type: Line/Region dataset. |
![]() ![]() |
Vertex Distance > Tolerance |
Verifies node proximity across datasets. Critical for data integration. Nodes exceeding tolerance will be recorded as errors. Error dataset type: Point dataset. Note: Disable "Topology Preprocessing" when using this rule. |
![]() ![]() |
Vertex Exists At Line Intersect |
Ensures nodes exist at line intersections. Excludes endpoint connections. Missing nodes will be calculated as errors. Error dataset type: Point dataset. Note: Disable "Topology Preprocessing" when using this rule. |
![]() ![]() |
Vertices Must Match |
Verifies node alignment across datasets. Essential for feature connectivity. Mismatched nodes will be projected as errors. Error dataset type: Point dataset. Note: Disable "Topology Preprocessing" when using this rule. |
![]() ![]() |
L/R Has No Redundant Vertex |
Detects collinear redundant nodes. Improves geometric efficiency. Redundant nodes will be recorded as errors. Error dataset type: Point dataset. |
![]() ![]() |