Class GeometryNoder


  • public class GeometryNoder
    extends java.lang.Object
    Nodes the linework in a list of Geometrys using Snap-Rounding to a given PrecisionModel.

    The input coordinates are expected to be rounded to the given precision model. This class does not perform that function. GeometryPrecisionReducer may be used to do this.

    This class does not dissolve the output linework, so there may be duplicate linestrings in the output. Subsequent processing (e.g. polygonization) may require the linework to be unique. Using UnaryUnion is one way to do this (although this is an inefficient approach).

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List node​(java.util.Collection geoms)
      Nodes the linework of a set of Geometrys using SnapRounding.
      void setValidate​(boolean isValidityChecked)
      Sets whether noding validity is checked after noding is performed.
      • Methods inherited from class java.lang.Object

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

      • GeometryNoder

        public GeometryNoder​(PrecisionModel pm)
        Creates a new noder which snap-rounds to a grid specified by the given PrecisionModel.
        Parameters:
        pm - the precision model for the grid to snap-round to
    • Method Detail

      • setValidate

        public void setValidate​(boolean isValidityChecked)
        Sets whether noding validity is checked after noding is performed.
        Parameters:
        isValidityChecked -
      • node

        public java.util.List node​(java.util.Collection geoms)
        Nodes the linework of a set of Geometrys using SnapRounding.
        Parameters:
        geoms - a Collection of Geometrys of any type
        Returns:
        a List of LineStrings representing the noded linework of the input