Package org.locationtech.jts.noding
Class SegmentStringDissolver
- java.lang.Object
-
- org.locationtech.jts.noding.SegmentStringDissolver
-
public class SegmentStringDissolver extends java.lang.ObjectDissolves a noded collection ofSegmentStrings to produce a set of merged linework with unique segments. A customSegmentStringDissolver.SegmentStringMergermerging 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 interfaceSegmentStringDissolver.SegmentStringMergerA merging strategy which can be used to update the context data ofSegmentStrings which are merged during the dissolve process.
-
Field Summary
Fields Modifier and Type Field Description private SegmentStringDissolver.SegmentStringMergermergerprivate java.util.MapocaMap
-
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 voidadd(OrientedCoordinateArray oca, SegmentString segString)voiddissolve(java.util.Collection segStrings)Dissolve allSegmentStrings in the inputCollectionvoiddissolve(SegmentString segString)Dissolve the givenSegmentString.private SegmentStringfindMatching(OrientedCoordinateArray oca, SegmentString segString)java.util.CollectiongetDissolved()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 allSegmentStrings 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)SegmentStrings- Returns:
- the unique
SegmentStrings
-
-