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.
In the most common use case, validation stops after a single
non-noded intersection is detected,
but the class can be requested to detect all intersections
by using the setFindAllIntersections(boolean)
method.
The validator does not check for a-b-a topology collapse situations.
The validator does not check for endpoint-interior vertex intersections. This should not be a problem, since the JTS noders should be able to compute intersections between vertices correctly.
The client may either test the isValid()
condition,
or request that a suitable TopologyException
be thrown.
- Version:
- 1.7
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private LineIntersector
private InteriorIntersectionFinder
private Collection
-
Constructor Summary
ConstructorsConstructorDescriptionFastNodingValidator
(Collection segStrings) Creates a new noding validator for a given set of linework. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
void
Checks for an intersection and throws a TopologyException if one is found.static List
computeIntersections
(Collection segStrings) private void
execute()
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)
-
Field Details
-
li
-
segStrings
-
findAllIntersections
private boolean findAllIntersections -
segInt
-
isValid
private boolean isValid
-
-
Constructor Details
-
FastNodingValidator
Creates a new noding validator for a given set of linework.- Parameters:
segStrings
- a collection ofSegmentString
s
-
-
Method Details
-
computeIntersections
-
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
-
execute
private void execute() -
checkInteriorIntersections
private void checkInteriorIntersections()
-