Class LineDissolver


  • public class LineDissolver
    extends java.lang.Object
    Dissolves the linear components from a collection of Geometrys into a set of maximal-length LineStrings in which every unique segment appears once only. The output linestrings run between node vertices of the input, which are vertices which have either degree 1, or degree 3 or greater.

    Use cases for dissolving linear components include generalization (in particular, simplifying polygonal coverages), and visualization (in particular, avoiding symbology conflicts when depicting shared polygon boundaries).

    This class does not node the input lines. If there are line segments crossing in the input, they will still cross in the output.

    Author:
    Martin Davis
    • Constructor Summary

      Constructors 
      Constructor Description
      LineDissolver()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(java.util.Collection geometries)
      Adds a collection of Geometries to be processed.
      void add​(Geometry geometry)
      Adds a Geometry to be dissolved.
      static Geometry dissolve​(Geometry g)
      Dissolves the linear components in a geometry.
      Geometry getResult()
      Gets the dissolved result as a MultiLineString.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LineDissolver

        public LineDissolver()
    • Method Detail

      • dissolve

        public static Geometry dissolve​(Geometry g)
        Dissolves the linear components in a geometry.
        Parameters:
        g - the geometry to dissolve
        Returns:
        the dissolved lines
      • add

        public void add​(Geometry geometry)
        Adds a Geometry to be dissolved. Any number of geometries may be added by calling this method multiple times. Any type of Geometry may be added. The constituent linework will be extracted to be dissolved.
        Parameters:
        geometry - geometry to be line-merged
      • add

        public void add​(java.util.Collection geometries)
        Adds a collection of Geometries to be processed. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted.
        Parameters:
        geometries - the geometries to be line-merged
      • getResult

        public Geometry getResult()
        Gets the dissolved result as a MultiLineString.
        Returns:
        the dissolved lines