Namespace NetTopologySuite.Operation.Buffer
Provides classes for computing buffers of geometries
Classes
BufferCurveSetBuilder
Creates all the raw offset curves for a buffer of a Geometry
.
Raw curves need to be noded together and polygonized to form the final buffer area.
BufferInputLineSimplifier
Simplifies a buffer input line to remove concavities with shallow depth.
BufferOp
Computes the buffer of a geometry, for both positive and negative buffer distances.
BufferParameters
A value class containing the parameters which specify how a buffer should be constructed.
The parameters allow control over:- Quadrant segments (accuracy of approximation for circular arcs)
- End Cap style
- Join style
- Mitre limit
- whether the buffer is single-sided
OffsetCurve
Computes an offset curve from a geometry. An offset curve is a linear geometry which is offset a given distance from the input. If the offset distance is positive the curve lies on the left side of the input; if it is negative the curve is on the right side. The curve(s) have the same direction as the input line(s). The result for a zero offset distance is a copy of the input linework.
The offset curve is based on the boundary of the buffer for the geometry at the offset distance(see BufferOp. The normal mode of operation is to return the sections of the buffer boundarywhich lie on the raw offset curve (obtained via RawOffset(LineString, double). The offset curve will contain multiple sections if the input self-intersects or has close approaches.The computed sections are ordered along the raw offset curve. Sections are disjoint.They never self-intersect, but may be rings.- For a LineString the offset curve is a linear geometry (LineString or MultiLineString).
- For a Point or MultiPoint the offset curve is an empty LineString.
- For a Polygon the offset curve is the boundary of the polygon buffer (which may be a MultiLineString).
- For a collection the output is a MultiLineString containing the offset curves of the elements.
OffsetCurveBuilder
Computes the raw offset curve for a single Geometry component (ring, line or point). A raw offset curve line is not noded - it may contain self-intersections (and usually will).g The final buffer polygon is computed by forming a topological graph of all the noded raw curves and tracing outside contours. The points in the raw curve are rounded to a given PrecisionModel.
Note: this may not produce correct results if the input contains repeated or invalid points. Repeated points should be removed before calling. RemoveRepeatedOrInvalidPoints(Coordinate[]).OffsetCurveSetBuilder
Creates all the raw offset curves for a buffer of a Geometry
.
Raw curves need to be noded together and polygonized to form the final buffer area.
OffsetCurveVertexList
A list of the vertices in a constructed offset curve.
OldOffsetCurveBuilder
Computes the raw offset curve for a single Geometry component (ring, line or point).
VariableBuffer
Creates a buffer polygon with a varying buffer distance at each vertex along a line. Vertex distances may be zero.
Only single linestring is supported as input, since buffer widths generally need to be specified individually for each line.Enums
EndCapStyle
End cap style constants
JoinStyle
Join style constants