Package org.locationtech.jts.noding
Class FastNodingValidator
java.lang.Object
org.locationtech.jts.noding.FastNodingValidator
Validates that a collection of
SegmentStrings 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 booleanprivate booleanprivate LineIntersectorprivate InteriorIntersectionFinderprivate Collection -
Constructor Summary
ConstructorsConstructorDescriptionFastNodingValidator(Collection segStrings) Creates a new noding validator for a given set of linework. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidvoidChecks for an intersection and throws a TopologyException if one is found.static ListcomputeIntersections(Collection segStrings) private voidexecute()Returns an error message indicating the segments containing the intersection.Gets a list of all intersections found.booleanisValid()Checks for an intersection and reports if one is found.voidsetFindAllIntersections(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 ofSegmentStrings
-
-
Method Details
-
computeIntersections
-
setFindAllIntersections
public void setFindAllIntersections(boolean findAllIntersections) -
getIntersections
Gets a list of all intersections found. Intersections are represented asCoordinates. 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()
-