Package org.locationtech.jts.noding
Class IteratedNoder
- java.lang.Object
-
- org.locationtech.jts.noding.IteratedNoder
-
- All Implemented Interfaces:
Noder
public class IteratedNoder extends java.lang.Object implements Noder
Nodes a set ofNodedSegmentString
s completely. The set of segment strings is fully noded; i.e. noding is repeated until no further intersections are detected.Iterated noding using a FLOATING precision model is not guaranteed to converge, due to roundoff error. This problem is detected and an exception is thrown. Clients can choose to rerun the noding using a lower precision model.
- Version:
- 1.7
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_ITER
-
Constructor Summary
Constructors Constructor Description IteratedNoder(PrecisionModel pm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
computeNodes(java.util.Collection segStrings)
Fully nodes a list ofSegmentString
s, i.e.java.util.Collection
getNodedSubstrings()
Returns aCollection
of fully nodedSegmentString
s.void
setMaximumIterations(int maxIter)
Sets the maximum number of noding iterations performed before the noding is aborted.
-
-
-
Field Detail
-
MAX_ITER
public static final int MAX_ITER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IteratedNoder
public IteratedNoder(PrecisionModel pm)
-
-
Method Detail
-
setMaximumIterations
public void setMaximumIterations(int maxIter)
Sets the maximum number of noding iterations performed before the noding is aborted. Experience suggests that this should rarely need to be changed from the default. The default is MAX_ITER.- Parameters:
maxIter
- the maximum number of iterations to perform
-
getNodedSubstrings
public java.util.Collection getNodedSubstrings()
Description copied from interface:Noder
Returns aCollection
of fully nodedSegmentString
s. The SegmentStrings have the same context as their parent.- Specified by:
getNodedSubstrings
in interfaceNoder
- Returns:
- a Collection of SegmentStrings
-
computeNodes
public void computeNodes(java.util.Collection segStrings) throws TopologyException
Fully nodes a list ofSegmentString
s, i.e. performs noding iteratively until no intersections are found between segments. Maintains labelling of edges correctly through the noding.- Specified by:
computeNodes
in interfaceNoder
- Parameters:
segStrings
- a collection of SegmentStrings to be noded- Throws:
TopologyException
- if the iterated noding fails to converge.
-
-