Class LineStringSnapper


  • public class LineStringSnapper
    extends java.lang.Object
    Snaps the vertices and segments of a LineString to a set of target snap vertices. A snap distance tolerance is used to control where snapping is performed.

    The implementation handles empty geometry and empty snap vertex sets.

    Version:
    1.7
    Author:
    Martin Davis
    • Constructor Summary

      Constructors 
      Constructor Description
      LineStringSnapper​(Coordinate[] srcPts, double snapTolerance)
      Creates a new snapper using the given points as source points to be snapped.
      LineStringSnapper​(LineString srcLine, double snapTolerance)
      Creates a new snapper using the points in the given LineString as source snap points.
    • Constructor Detail

      • LineStringSnapper

        public LineStringSnapper​(LineString srcLine,
                                 double snapTolerance)
        Creates a new snapper using the points in the given LineString as source snap points.
        Parameters:
        srcLine - a LineString to snap (may be empty)
        snapTolerance - the snap tolerance to use
      • LineStringSnapper

        public LineStringSnapper​(Coordinate[] srcPts,
                                 double snapTolerance)
        Creates a new snapper using the given points as source points to be snapped.
        Parameters:
        srcPts - the points to snap
        snapTolerance - the snap tolerance to use
    • Method Detail

      • setAllowSnappingToSourceVertices

        public void setAllowSnappingToSourceVertices​(boolean allowSnappingToSourceVertices)
      • snapTo

        public Coordinate[] snapTo​(Coordinate[] snapPts)
        Snaps the vertices and segments of the source LineString to the given set of snap vertices.
        Parameters:
        snapPts - the vertices to snap to
        Returns:
        a list of the snapped points