Package org.locationtech.jts.noding
Class FastNodingValidator
java.lang.Object
org.locationtech.jts.noding.FastNodingValidator
Validates that a collection of
SegmentString
s is correctly noded.
Indexing is used to improve performance.
By default validation stops after a single
non-noded intersection is detected.
Alternatively, it can be requested to detect all intersections
by using setFindAllIntersections(boolean)
.
The validator does not check for topology collapse situations (e.g. where two segment strings are fully co-incident).
The validator checks for the following situations which indicated incorrect noding:
- Proper intersections between segments (i.e. the intersection is interior to both segments)
- Intersections at an interior vertex (i.e. with an endpoint or another interior vertex)
The client may either test the isValid()
condition,
or request that a suitable TopologyException
be thrown.
- Version:
- 1.7
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFastNodingValidator
(Collection segStrings) Creates a new noding validator for a given set of linework. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Checks for an intersection and throws a TopologyException if one is found.static List
computeIntersections
(Collection segStrings) Gets a list of all intersections found.Returns an error message indicating the segments containing the intersection.Gets a list of all intersections found.boolean
isValid()
Checks for an intersection and reports if one is found.void
setFindAllIntersections
(boolean findAllIntersections)
-
Constructor Details
-
FastNodingValidator
Creates a new noding validator for a given set of linework.- Parameters:
segStrings
- a collection ofSegmentString
s
-
-
Method Details
-
computeIntersections
Gets a list of all intersections found. Intersections are represented asCoordinate
s. List is empty if none were found.- Parameters:
segStrings
- a collection of SegmentStrings- Returns:
- a list of Coordinate
-
setFindAllIntersections
public void setFindAllIntersections(boolean findAllIntersections) -
getIntersections
Gets a list of all intersections found. Intersections are represented asCoordinate
s. List is empty if none were found.- Returns:
- a list of Coordinate
-
isValid
public boolean isValid()Checks for an intersection and reports if one is found.- Returns:
- true if the arrangement contains an interior intersection
-
getErrorMessage
Returns an error message indicating the segments containing the intersection.- Returns:
- an error message documenting the intersection location
-
checkValid
public void checkValid()Checks for an intersection and throws a TopologyException if one is found.- Throws:
TopologyException
- if an intersection is found
-