JTS Topology Suite version 1.12

com.vividsolutions.jts.operation.buffer
Class BufferOp

java.lang.Object
  extended by com.vividsolutions.jts.operation.buffer.BufferOp

public class BufferOp
extends java.lang.Object

Computes the buffer of a geometry, for both positive and negative buffer distances.

In GIS, the positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. In the CAD/CAM world buffers are known as offset curves. In morphological analysis the operation of postive and negative buffering is referred to as erosion and dilation

The buffer operation always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty Polygon.

Since true buffer curves may contain circular arcs, computed buffer polygons can only be approximations to the true geometry. The user can control the accuracy of the curve approximation by specifying the number of linear segments used to approximate curves.

The end cap style of a linear buffer may be specified. The following end cap styles are supported:

Version:
1.7

Field Summary
static int CAP_BUTT
          Deprecated. use BufferParameters
static int CAP_FLAT
          Deprecated. use BufferParameters
static int CAP_ROUND
          Deprecated. use BufferParameters
static int CAP_SQUARE
          Deprecated. use BufferParameters
 
Constructor Summary
BufferOp(Geometry g)
          Initializes a buffer computation for the given geometry
BufferOp(Geometry g, BufferParameters bufParams)
          Initializes a buffer computation for the given geometry with the given set of parameters
 
Method Summary
static Geometry bufferOp(Geometry g, double distance)
          Computes the buffer of a geometry for a given buffer distance.
static Geometry bufferOp(Geometry g, double distance, BufferParameters params)
          Comutes the buffer for a geometry for a given buffer distance and accuracy of approximation.
static Geometry bufferOp(Geometry g, double distance, int quadrantSegments)
          Comutes the buffer for a geometry for a given buffer distance and accuracy of approximation.
static Geometry bufferOp(Geometry g, double distance, int quadrantSegments, int endCapStyle)
          Comutes the buffer for a geometry for a given buffer distance and accuracy of approximation.
 Geometry getResultGeometry(double distance)
          Returns the buffer computed for a geometry for a given buffer distance.
 void setEndCapStyle(int endCapStyle)
          Specifies the end cap style of the generated buffer.
 void setQuadrantSegments(int quadrantSegments)
          Sets the number of segments used to approximate a angle fillet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CAP_ROUND

public static final int CAP_ROUND
Deprecated. use BufferParameters
Specifies a round line buffer end cap style.

See Also:
Constant Field Values

CAP_BUTT

public static final int CAP_BUTT
Deprecated. use BufferParameters
Specifies a butt (or flat) line buffer end cap style.

See Also:
Constant Field Values

CAP_FLAT

public static final int CAP_FLAT
Deprecated. use BufferParameters
Specifies a butt (or flat) line buffer end cap style.

See Also:
Constant Field Values

CAP_SQUARE

public static final int CAP_SQUARE
Deprecated. use BufferParameters
Specifies a square line buffer end cap style.

See Also:
Constant Field Values
Constructor Detail

BufferOp

public BufferOp(Geometry g)
Initializes a buffer computation for the given geometry

Parameters:
g - the geometry to buffer

BufferOp

public BufferOp(Geometry g,
                BufferParameters bufParams)
Initializes a buffer computation for the given geometry with the given set of parameters

Parameters:
g - the geometry to buffer
bufParams - the buffer parameters to use
Method Detail

bufferOp

public static Geometry bufferOp(Geometry g,
                                double distance)
Computes the buffer of a geometry for a given buffer distance.

Parameters:
g - the geometry to buffer
distance - the buffer distance
Returns:
the buffer of the input geometry

bufferOp

public static Geometry bufferOp(Geometry g,
                                double distance,
                                BufferParameters params)
Comutes the buffer for a geometry for a given buffer distance and accuracy of approximation.

Parameters:
g - the geometry to buffer
distance - the buffer distance
params - the buffer parameters to use
Returns:
the buffer of the input geometry

bufferOp

public static Geometry bufferOp(Geometry g,
                                double distance,
                                int quadrantSegments)
Comutes the buffer for a geometry for a given buffer distance and accuracy of approximation.

Parameters:
g - the geometry to buffer
distance - the buffer distance
quadrantSegments - the number of segments used to approximate a quarter circle
Returns:
the buffer of the input geometry

bufferOp

public static Geometry bufferOp(Geometry g,
                                double distance,
                                int quadrantSegments,
                                int endCapStyle)
Comutes the buffer for a geometry for a given buffer distance and accuracy of approximation.

Parameters:
g - the geometry to buffer
distance - the buffer distance
quadrantSegments - the number of segments used to approximate a quarter circle
endCapStyle - the end cap style to use
Returns:
the buffer of the input geometry

setEndCapStyle

public void setEndCapStyle(int endCapStyle)
Specifies the end cap style of the generated buffer. The styles supported are CAP_ROUND, CAP_BUTT, and CAP_SQUARE. The default is CAP_ROUND.

Parameters:
endCapStyle - the end cap style to specify

setQuadrantSegments

public void setQuadrantSegments(int quadrantSegments)
Sets the number of segments used to approximate a angle fillet

Parameters:
quadrantSegments - the number of segments in a fillet for a quadrant

getResultGeometry

public Geometry getResultGeometry(double distance)
Returns the buffer computed for a geometry for a given buffer distance.

Parameters:
distance - the buffer distance
Returns:
the buffer of the input geometry

JTS Topology Suite version 1.12