public class IteratedNoder extends Object implements Noder
NodedSegmentString
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.
Modifier and Type | Field and Description |
---|---|
static int |
MAX_ITER |
Constructor and Description |
---|
IteratedNoder(PrecisionModel pm) |
Modifier and Type | Method and Description |
---|---|
void |
computeNodes(Collection segStrings)
Fully nodes a list of
SegmentString s, i.e. |
Collection |
getNodedSubstrings()
Returns a
Collection of fully noded SegmentString s. |
void |
setMaximumIterations(int maxIter)
Sets the maximum number of noding iterations performed before
the noding is aborted.
|
public static final int MAX_ITER
public IteratedNoder(PrecisionModel pm)
public void setMaximumIterations(int maxIter)
maxIter
- the maximum number of iterations to performpublic Collection getNodedSubstrings()
Noder
Collection
of fully noded SegmentString
s.
The SegmentStrings have the same context as their parent.getNodedSubstrings
in interface Noder
public void computeNodes(Collection segStrings) throws TopologyException
SegmentString
s, i.e. performs noding iteratively
until no intersections are found between segments.
Maintains labelling of edges correctly through
the noding.computeNodes
in interface Noder
segStrings
- a collection of SegmentStrings to be nodedTopologyException
- if the iterated noding fails to converge.Copyright © 2022. All rights reserved.