public class MCIndexNoder extends SinglePassNoder
SegmentStrings using a index based
on MonotoneChains and a SpatialIndex.
The SpatialIndex used should be something that supports
envelope (range) queries efficiently (such as a Quadtree}
or STRtree (which is the default index provided).| Modifier and Type | Class and Description |
|---|---|
static class |
MCIndexNoder.SegmentOverlapAction |
| Modifier and Type | Field and Description |
|---|---|
private int |
idCounter |
private SpatialIndex |
index |
private java.util.List |
monoChains |
private java.util.Collection |
nodedSegStrings |
private int |
nOverlaps |
segInt| Constructor and Description |
|---|
MCIndexNoder() |
MCIndexNoder(SegmentIntersector si) |
| Modifier and Type | Method and Description |
|---|---|
private void |
add(SegmentString segStr) |
void |
computeNodes(java.util.Collection inputSegStrings)
Computes the noding for a collection of
SegmentStrings. |
SpatialIndex |
getIndex() |
java.util.List |
getMonotoneChains() |
java.util.Collection |
getNodedSubstrings()
Returns a
Collection of fully noded SegmentStrings. |
private void |
intersectChains() |
setSegmentIntersectorprivate java.util.List monoChains
private SpatialIndex index
private int idCounter
private java.util.Collection nodedSegStrings
private int nOverlaps
public MCIndexNoder()
public MCIndexNoder(SegmentIntersector si)
public java.util.List getMonotoneChains()
public SpatialIndex getIndex()
public java.util.Collection getNodedSubstrings()
SinglePassNoderCollection of fully noded SegmentStrings.
The SegmentStrings have the same context as their parent.getNodedSubstrings in interface NodergetNodedSubstrings in class SinglePassNoderpublic void computeNodes(java.util.Collection inputSegStrings)
SinglePassNoderSegmentStrings.
Some Noders may add all these nodes to the input SegmentStrings;
others may only add some or none at all.computeNodes in interface NodercomputeNodes in class SinglePassNoderinputSegStrings - a collection of SegmentStrings to nodeprivate void intersectChains()
private void add(SegmentString segStr)