Package org.locationtech.jts.noding
Class SegmentStringDissolver
- java.lang.Object
-
- org.locationtech.jts.noding.SegmentStringDissolver
-
public class SegmentStringDissolver extends java.lang.Object
Dissolves a noded collection ofSegmentString
s to produce a set of merged linework with unique segments. A customSegmentStringDissolver.SegmentStringMerger
merging strategy can be supplied. This strategy will be called when two identical (up to orientation) strings are dissolved together. The default merging strategy is simply to discard one of the merged strings.A common use for this class is to merge noded edges while preserving topological labelling. This requires a custom merging strategy to be supplied to merge the topology labels appropriately.
- Version:
- 1.7
- See Also:
SegmentStringDissolver.SegmentStringMerger
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SegmentStringDissolver.SegmentStringMerger
A merging strategy which can be used to update the context data ofSegmentString
s which are merged during the dissolve process.
-
Field Summary
Fields Modifier and Type Field Description private SegmentStringDissolver.SegmentStringMerger
merger
private java.util.Map
ocaMap
-
Constructor Summary
Constructors Constructor Description SegmentStringDissolver()
Creates a dissolver with the default merging strategy.SegmentStringDissolver(SegmentStringDissolver.SegmentStringMerger merger)
Creates a dissolver with a user-defined merge strategy.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
add(OrientedCoordinateArray oca, SegmentString segString)
void
dissolve(java.util.Collection segStrings)
Dissolve allSegmentString
s in the inputCollection
void
dissolve(SegmentString segString)
Dissolve the givenSegmentString
.private SegmentString
findMatching(OrientedCoordinateArray oca, SegmentString segString)
java.util.Collection
getDissolved()
Gets the collection of dissolved (i.e.
-
-
-
Field Detail
-
merger
private SegmentStringDissolver.SegmentStringMerger merger
-
ocaMap
private java.util.Map ocaMap
-
-
Constructor Detail
-
SegmentStringDissolver
public SegmentStringDissolver(SegmentStringDissolver.SegmentStringMerger merger)
Creates a dissolver with a user-defined merge strategy.- Parameters:
merger
- the merging strategy to use
-
SegmentStringDissolver
public SegmentStringDissolver()
Creates a dissolver with the default merging strategy.
-
-
Method Detail
-
dissolve
public void dissolve(java.util.Collection segStrings)
Dissolve allSegmentString
s in the inputCollection
- Parameters:
segStrings
-
-
add
private void add(OrientedCoordinateArray oca, SegmentString segString)
-
dissolve
public void dissolve(SegmentString segString)
Dissolve the givenSegmentString
.- Parameters:
segString
- the string to dissolve
-
findMatching
private SegmentString findMatching(OrientedCoordinateArray oca, SegmentString segString)
-
getDissolved
public java.util.Collection getDissolved()
Gets the collection of dissolved (i.e. unique)SegmentString
s- Returns:
- the unique
SegmentString
s
-
-