com.vividsolutions.jts.noding

Class IteratedNoder

Implemented Interfaces:
Noder

public class IteratedNoder
extends java.lang.Object
implements Noder

Nodes a set of SegmentStrings completely. The set of segmentStrings 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

static int
MAX_ITER

Constructor Summary

IteratedNoder(PrecisionModel pm)

Method Summary

void
computeNodes(Collection segStrings)
Fully nodes a list of SegmentStrings, i.e.
Collection
getNodedSubstrings()
Returns a Collection of fully noded SegmentStrings.
void
setMaximumIterations(int maxIter)
Sets the maximum number of noding iterations performed before the noding is aborted.

Field Details

MAX_ITER

public static final int MAX_ITER
Field Value:
5

Constructor Details

IteratedNoder

public IteratedNoder(PrecisionModel pm)

Method Details

computeNodes

public void computeNodes(Collection segStrings)
            throws TopologyException
Fully nodes a list of SegmentStrings, i.e. peforms noding iteratively until no intersections are found between segments. Maintains labelling of edges correctly through the noding.
Specified by:
computeNodes in interface Noder
Parameters:
segStrings - a collection of SegmentStrings to be noded
Throws:
TopologyException - if the iterated noding fails to converge.

getNodedSubstrings

public Collection getNodedSubstrings()
Returns a Collection of fully noded SegmentStrings. The SegmentStrings have the same context as their parent.
Specified by:
getNodedSubstrings in interface Noder
Returns:
a Collection of SegmentStrings

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