Package org.locationtech.jts.noding
Class FastNodingValidator
- java.lang.Object
-
- org.locationtech.jts.noding.FastNodingValidator
-
public class FastNodingValidator extends java.lang.Object
Validates that a collection ofSegmentString
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 usingsetFindAllIntersections(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 suitableTopologyException
be thrown.- Version:
- 1.7
- See Also:
NodingIntersectionFinder
-
-
Constructor Summary
Constructors Constructor Description FastNodingValidator(java.util.Collection segStrings)
Creates a new noding validator for a given set of linework.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkValid()
Checks for an intersection and throws a TopologyException if one is found.static java.util.List
computeIntersections(java.util.Collection segStrings)
Gets a list of all intersections found.java.lang.String
getErrorMessage()
Returns an error message indicating the segments containing the intersection.java.util.List
getIntersections()
Gets a list of all intersections found.boolean
isValid()
Checks for an intersection and reports if one is found.void
setFindAllIntersections(boolean findAllIntersections)
-
-
-
Constructor Detail
-
FastNodingValidator
public FastNodingValidator(java.util.Collection segStrings)
Creates a new noding validator for a given set of linework.- Parameters:
segStrings
- a collection ofSegmentString
s
-
-
Method Detail
-
computeIntersections
public static java.util.List computeIntersections(java.util.Collection segStrings)
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
public java.util.List 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
public java.lang.String 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
-
-