Class VariableBuffer


  • public class VariableBuffer
    extends java.lang.Object
    Creates a buffer polygon with a varying buffer distance at each vertex along a line.

    Only single lines are supported as input, since buffer widths are typically specified individually for each line.

    Author:
    Martin Davis
    • Constructor Summary

      Constructors 
      Constructor Description
      VariableBuffer​(Geometry line, double[] distance)
      Creates a generator for a variable-distance line buffer.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static Geometry buffer​(Geometry line, double[] distance)
      Creates a buffer polygon along a line with the distance specified at each vertex.
      static Geometry buffer​(Geometry line, double startDistance, double endDistance)
      Creates a buffer polygon along a line with the buffer distance interpolated between a start distance and an end distance.
      static Geometry buffer​(Geometry line, double startDistance, double midDistance, double endDistance)
      Creates a buffer polygon along a line with the buffer distance interpolated between a start distance, a middle distance and an end distance.
      Geometry getResult()
      Computes the buffer polygon.
      • Methods inherited from class java.lang.Object

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

      • VariableBuffer

        public VariableBuffer​(Geometry line,
                              double[] distance)
        Creates a generator for a variable-distance line buffer.
        Parameters:
        line - the linestring to buffer
        distance - the buffer distance for each vertex of the line
    • Method Detail

      • buffer

        public static Geometry buffer​(Geometry line,
                                      double startDistance,
                                      double endDistance)
        Creates a buffer polygon along a line with the buffer distance interpolated between a start distance and an end distance.
        Parameters:
        line - the line to buffer
        startDistance - the buffer width at the start of the line
        endDistance - the buffer width at the end of the line
        Returns:
        the variable-distance buffer polygon
      • buffer

        public static Geometry buffer​(Geometry line,
                                      double startDistance,
                                      double midDistance,
                                      double endDistance)
        Creates a buffer polygon along a line with the buffer distance interpolated between a start distance, a middle distance and an end distance. The middle distance is attained at the vertex at or just past the half-length of the line. For smooth buffering of a LinearRing (or the rings of a Polygon) the start distance and end distance should be equal.
        Parameters:
        line - the line to buffer
        startDistance - the buffer width at the start of the line
        midDistance - the buffer width at the middle vertex of the line
        endDistance - the buffer width at the end of the line
        Returns:
        the variable-distance buffer polygon
      • buffer

        public static Geometry buffer​(Geometry line,
                                      double[] distance)
        Creates a buffer polygon along a line with the distance specified at each vertex.
        Parameters:
        line - the line to buffer
        distance - the buffer distance for each vertex of the line
        Returns:
        the variable-distance buffer polygon
      • getResult

        public Geometry getResult()
        Computes the buffer polygon.
        Returns:
        a buffer polygon