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 thatare 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 thatare 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 thatare 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 thatare 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 theface 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 byfaces (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 ofthe 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. Theuncovered 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 isnot 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. Uncovered 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 theline 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. Thefirst 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. Theuncovered 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 uncontained 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. Uncovered 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. Uncovered 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 thatdo 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 theboundary 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 thatare 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. |
![]() ![]() |