Class VariableBuffer

java.lang.Object
org.locationtech.jts.operation.buffer.VariableBuffer

public class VariableBuffer extends Object
Creates a buffer polygon with a varying buffer distance at each vertex along a line. Vertex distances may be zero.

Only single linestrings 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

    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.
    Computes the variable buffer polygon.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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 variable buffer polygon.
      Returns:
      a buffer polygon