Topology Check rule

Topology Check is to check out the objects of points, lines, Region Dataset itself and different types of Dataset that do not conform to Topology Rules. It is mainly used for Edit Data and topology analysis preprocessing.

SuperMap provides a powerful Topology Check feature, Provides 7 Topology Rules for Point Dataset, 15 Topology Rules for Line Dataset, and 10 Topology Rules for Region Dataset. It also provides five Topology Rules for different types of Dataset, which can basically meet all the needs of Topology Check.

Topology Rules for Point, Line, and Region Datasets and Topology Rules for Multiple Dataset Types are described below.

Rules for Point Dataset

Name Meaning Illustration
Point must on line

Checks if there are point objects in the Point Dataset that are not covered by the line referencing the Line Dataset, that is, the point must be on the line object referencing the Line Dataset, including inside the line, on the line node, and on the line end, but not outside the line. For example, toll stations on expressways must be set up on expressways.

Point objects that

are not covered by lines are generated as Topology errors in the Result Dataset.

Error Dataset Type: Point Dataset.

  
Point on region boundary

Checks if there are any point objects in the Point Dataset that are not on the boundary of the face of the reference Region Dataset, that is, the point object cannot be in and out of the face of the reference face data. For example, boundary markers must be placed on national and administrative boundaries.

Point objects that

are not on the face boundary are generated into the Result Dataset as a Topology error.

Error Dataset Type: Point Dataset.

  
Point contained in region

Checks for point objects in the Point Dataset that are not inside the face in the reference Region Dataset, that is, the point object cannot be outside the face of the reference Region Dataset or on the boundary of the face. For example, the point representing the provincial capital must be set within the province.

Point objects that

are not in the face are generated as Topology errors in the Result Dataset.

Error Dataset Type: Point Dataset.

  
Point covered by line end

Checks if there is a point object in the Point Dataset that is not covered by the end of the line referencing the Line Dataset, that is, the point can only be on the end of the line object in the referencing Line Dataset, not on the node of the line, elsewhere inside the line, and outside the line.

Point objects that

are not covered by line endpoints are generated as Topology errors in the Result Dataset.

Error Dataset Type: Point Dataset.

  
No identical points

Checks for duplicate point objects in a Point Dataset. Public facilities, such as fire stations and schools, usually exist in the form of Point Dataset on the map, and only one can exist in the same location.

Duplicate point objects are generated as Topology errors in the Result Dataset.

Error Dataset Type: Point Dataset.

  
Point not within region

Checks the Point Dataset for point objects contained by the faces of the referenced Region Dataset. If the point object is on the face boundary or outside the face, it is considered correct Topology.

The point object contained by the

face is generated as a Topology error in the Result Dataset.

Error Dataset Type: Point Dataset.

  
Points are not covered by faces

Checks for point objects in a Point Dataset (or Point Recordset) that are covered by an object in a Region Dataset (or Face Recordset) that is located at the boundary of and within a face object. For example, it is necessary to check the elevation points of the house and the water surface, and the elevation points cannot be located in the interior and boundary of the house roof.

Point objects that are covered by

faces (at the boundaries and inside the face objects) are generated as Topology errors in the Result Dataset.

Error Dataset Type: Point Dataset.

  

Rules for Line Dataset

Name Meaning Illustration
Line not intersect with line

Checks if there are line objects in the Line Dataset that intersect the line referencing the Line Dataset, i.e., all line objects in the two Line Datasets must be separated from each other.

The intersection point is generated as a Topology error into the Result Dataset.

Error Dataset Type: Point Dataset.

  
No intersect in line

Checks a Line Dataset for two or more line objects that intersect and share an intersection point, but do not break at the intersection point. If there is a contact between the end and the inside of the line and a contact between the end and the end, it is considered to be a correct Topology. In addition, line objects that intersect but do not share an intersection point are also considered proper Topology. For example, in road data, when multiple traffic lanes intersect at an ordinary intersection (crossroad, T-junction, etc.), they are considered to intersect and share the intersection point, and should be interrupted; while when multiple traffic lanes intersect through an overpass or tunnel, they are considered to intersect but not share the intersection point, and do not need to be interrupted.

The intersection point is generated as a Topology error into the Result Dataset.

Error Dataset Type: Point Dataset.

  
No overlap in line

Checks whether two (or more) Line objects in a Line Dataset overlap each other and share nodes. Such as city streets, a single street or multiple streets can intersect, but not on the same route.

The overlap is generated as a Topology error into the Result Dataset.

Error Dataset Type: Line Dataset.

  
No dangles in line

Check whether there is a line object defined as a suspension line in a Line Dataset, that is, the end of the line object is not connected to the inside of other lines or the end of the line, including long suspension lines and short suspension lines. Lines that must be closed, such as area boundary lines, can be checked with this rule.

The hanging point is generated as a Topology error in the Result Dataset.

Error Dataset Type: Point Dataset.

  
No pseudo nodes in line A Line Dataset is

checked for line objects that contain false knots (knots that connect only two arcs), that is, a line object must be connected to two (or more) line objects.

The dummy node will be generated to the Result Dataset as a Topology error.

Error Dataset Type: Point Dataset.

  
Line not overlap line

Check whether there is a line object in the Line Dataset that overlaps with the line of the reference Line Dataset, and the overlapping part shares a node, that is, the line object between two Line Datasets cannot have a coincident part. For example, in traffic route data, roads and railways cannot overlap.

The overlap is generated as a Topology error into the Result Dataset.

Error Dataset Type: Line Dataset.

  
line has no intersects/touches

Check whether two (or more) line objects in a Line Dataset intersect at the node of the line or inside the line, that is, the line object can only intersect with other lines at the end point, and all intersection points must be the end points of the line, and all intersecting arc segments must be broken. This rule does not check for self-intersections of line objects.

The intersection point is generated as a Topology error into the Result Dataset.

Error Dataset Type: Point Dataset.

  
No self overlap in line

Checks whether a Line Dataset has line objects that overlap with itself, that is, a line object itself cannot have overlapping parts. For example, in traffic data, a road cannot have duplicate sections.

The overlap is generated as a Topology error into the Result Dataset.

Error Dataset Type: Line Dataset.

  
No self intersect in line

Checks whether a Line Dataset has line objects that intersect or overlap itself, that is, line objects cannot have nodes that overlap (have the same coordinates). This rule is mostly used to check for lines that cannot intersect themselves, such as isolines.

The endpoint of

the self-intersecting intersection or overlap is generated into the Result Dataset as a Topology error.

Error Dataset Type: Point Dataset.

  
Line covered by lines fully

Checks the Line Dataset for line objects that are not covered by one or more lines that reference the Line Dataset. For example, Line must coincide with the road, that is, it is completely covered by the road data.

The

uncovered part is generated as a Topology error into the Result Dataset.

Error Dataset Type: Line Dataset.

  
Line covered by region boundary

Checks the Line Dataset for line objects that are not covered by the face boundaries (which can be one or more) of the reference Region Dataset. For example, the line data representing the boundary of an area (the boundary line of an urban area) must be covered by the boundary of the area (urban area).

The part that is

not covered is generated as a Topology error into the Result Dataset.

Error Dataset Type: Line Dataset.

  
Line end covered by point

Checks the Line Dataset for line objects whose line endpoints are not covered by the points of the Reference Point Dataset.

Un

covered endpoints are generated into the Result Dataset as Topology errors.

Error Dataset Type: Point Dataset.

  
Line not intersect region

Checks whether there is a line object in the Line Dataset that intersects or is contained by a face of the reference Region Dataset, that is, the Line Dataset and the reference Region Dataset cannot intersect.

The intersection of the

line and the Region Dataset is generated into the Result Dataset as a Topology error.

Error Dataset Type: Line Dataset.

  
No sharp angles in line

Check whether the angle of two included angles formed by four consecutive nodes in the Line Dataset is less than given angle value (in degrees). If both included angles are less than angle value, the line object is considered to be folded at the middle two nodes.

The

first kink point is generated as an error into the Result Dataset.

Error Dataset Type: Point Dataset.

  
No sharp angles in the line

Checks whether there is an angle in the Line Dataset that is less than a given angle. If the angle formed by three consecutive points is less than a given angle, it is judged to be an acute angle.

An acute vertex is an error point and is generated as a Topology error in the Result Dataset.

Error Dataset Type: Point Dataset.

  

Rules for Region Dataset

Name Meaning Illustration
No overlap in region

Checks whether there are two (or more) overlapping face objects in a Region Dataset, including partial overlap and full overlap. This rule is mostly used when an area cannot belong to two (or more) objects at the same time. For example, in the administrative division area, an area cannot belong to two administrative areas at the same time.

The overlap is generated as a Topology error into the Result Dataset.

Error Dataset Type: Region Dataset.

  
No gaps in region

Check whether there is a gap between adjacent face objects in a Region Dataset, that is, the boundaries between adjacent face objects must coincide, and the interior of the face objects cannot be hollowed (Donut Polygon). This rule is mostly used to check whether there is a gap between adjacent regions in a Region Dataset, such as Land Use Map spot data, which requires that there should be no undefined Land Use type.

The void portion is generated into the Result Dataset as a Topology error.

Error Dataset Type: Region Dataset.

  
Region inside not overlap region

Checks the Region Dataset for face objects that overlap the faces of the referenced Region Dataset, including partial overlap and full overlap, that is, there cannot be intersections between individual face objects within the Region Dataset. For data that cannot share the same area, such as water and dry land, this rule can be used to check.

The overlap is generated as a Topology error into the Result Dataset.

Error Dataset Type: Region Dataset.

  
Region covered by regions

Checks whether there is a face object in the Region Dataset that is not covered by the face of the reference Region Dataset, that is, one or more faces of the Region Dataset to be checked must completely cover the face object in the reference Region Dataset. This rule is mostly used for face data nested according to a certain rule. For example, the province in the regional map must be completely covered by all county boundaries in the province.

The

uncovered part is generated as a Topology error into the Result Dataset.

Error Dataset Type: Region Dataset.

  
Region covered by region

Check whether there is a face object in the Region Dataset that is not included in the face of the reference Region Dataset, that is, the face of the Region Dataset to be checked must be a subset of the face object in the reference Region Dataset. This rule can be used to check the surface data that belongs to the inclusion relationship, such as the animal activity area must be in the whole study area.

The entire un

contained face object is generated as a Topology error in the Result Dataset.

Error Dataset Type: Region Dataset.

  
Region boundary covered by lines

Checks if there are face boundaries in the Region Dataset that are not covered by lines referencing the Line Dataset. The attributes of some boundary lines cannot be stored in the face data. In this case, special boundary line data is needed to store different Attributes of the region boundary. It is required that the boundary line is completely coincident with the region.

Un

covered boundaries are generated as Topology errors in the Result Dataset.

Error Dataset Type: Line Dataset.

  
Region boundary covered by line

Checks the Region Dataset for face boundaries that are not covered by one or more face object boundaries in the reference Region Dataset. This rule is mostly used for data in which the area object of one Region Dataset is composed of one or more area objects in another Region Dataset. For example, a province in a region map is composed of all counties in the province, and they share the same boundary.

Un

covered boundaries are generated as Topology errors in the Result Dataset.

Error Dataset Type: Line Dataset.

  
Region contains point

Checks whether there is a face object in the Region Dataset that does not contain a point in the Reference Point Dataset, that is, the point in the Reference dataset must be inside the face, not outside the face or on the face boundary. And one or more point may be contained within a face image.

Face objects that

do not contain points are generated into the Result Dataset as a Topology error.

Error Dataset Type: Region Dataset.

  
Region boundary not overlap

Checks the Region Dataset for face boundaries that overlap the face boundaries of the referenced Region Dataset. This rule does not check for overlap of in-plane boundaries.

The overlapping part of the

boundary is generated into the Result Dataset as a Topology error.

Error Dataset Type: Line Dataset.

  
No acute angle in region

Checks for an acute angle in the Region Dataset that is less than a given angle. If the angle formed by three consecutive points is less than a given angle, it is judged to be an acute angle.

An acute vertex is an error point and is generated as a Topology error in the Result Dataset.

Error Dataset Type: Point Dataset.

  

Rules for Multi-Type Dataset

The following Topology Rules apply to one or more types of Datasets, including points, lines, the Region Dataset itself, or between two Datasets.

Name Meaning Illustration
No complex object

Checks for the presence of complex objects (objects containing one or more sub-objects, such as parallel lines) on the line or on the Region Dataset itself.

The complex object is generated into the Result Dataset as a Topology error.

Error Dataset Type: Line Dataset or Region Dataset.

  
Vertex distance > tolerance Whether the node distance of each object is Less than or equal to the tolerance value set for the

checkpoint, line, Region Dataset itself, or between two Datasets.

Nodes that

are not greater than tolerance are generated into the Result Dataset as a Topology error.

Error Dataset Type: Point Dataset.

Note: This rule is an extension of the Topology Preprocessing action. It is recommended that when checking the Topology Rules, do not check the "Topology Preprocessing" operation "at the same time, otherwise the errors detected by the rules will be automatically repaired during Topology Preprocessing, and the expected results will not be obtained.

  
Vertex exists at line intersect

Checks whether a node exists at the intersection of a line, a Region Dataset itself, or between two Datasets, where the line crosses the line, and the node exists in at least one of the two intersecting segments. A connection between the endpoints of two line objects is considered a correct Topology. Note: It is not against the rule that the endpoints of two line segments meet.

If there is no node at the intersection, the node will be calculated and generated into the Result Dataset as a Topology error.

Error Dataset Type: Point Dataset.

Note: This rule is an extension of the Topology Preprocessing action. It is recommended that when checking the Topology Rules, do not check the "Topology Preprocessing" operation "at the same time, otherwise the errors detected by the rules will be automatically repaired during Topology Preprocessing, and the expected results will not be obtained.

  
Vertices must match

Checks that a Line, a Region Dataset by itself or between two Datasets, a Point Dataset and a Line Dataset, a Point Dataset and a Region Dataset, are within the tolerance of the current node, Whether a line object (or face boundary) exists with a corresponding node on the line to match it.

For the unmatched point, the system calculates the position of the matched point by drawing a perpendicular line on the line, and the matched point will be stored in the Result Dataset as a Topology error.

Error Dataset Type: Point Dataset.

Note: This rule is an extension of the Topology Preprocessing action. It is recommended that when checking the Topology Rules, do not check the "Topology Preprocessing" operation "at the same time, otherwise the errors detected by the rules will be automatically repaired during Topology Preprocessing, and the expected results will not be obtained.

  
L/R has no redundant vertex

Check whether the line object or face boundary of the line or Region Dataset itself has redundant nodes, that is, there cannot be other collinear nodes between the two nodes, and these collinear nodes are redundant nodes.

Redundant nodes are generated into the Result Dataset as Topology errors.

Error Dataset Type: Point Dataset.