com.vividsolutions.jts.operation.buffer
Class BufferInputLineSimplifier
java.lang.Object
com.vividsolutions.jts.operation.buffer.BufferInputLineSimplifier
- public class BufferInputLineSimplifier
- extends java.lang.Object
Simplifies a buffer input line to
remove concavities with shallow depth.
The most important benefit of doing this
is to reduce the number of points and the complexity of
shape which will be buffered.
It also reduces the risk of gores created by
the quantized fillet arcs (although this issue
should be eliminated in any case by the
offset curve generation logic).
A key aspect of the simplification is that it
affects inside (concave or inward) corners only.
Convex (outward) corners are preserved, since they
are required to ensure that the eventual buffer curve
lies at the correct distance from the input geometry.
Another important heuristic used is that the end segments
of the input are never simplified. This ensures that
the client buffer code is able to generate end caps consistently.
- Author:
- Martin Davis
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BufferInputLineSimplifier
public BufferInputLineSimplifier(Coordinate[] inputLine)
simplify
public static Coordinate[] simplify(Coordinate[] inputLine,
double distanceTol)
simplify
public Coordinate[] simplify(double distanceTol)
- Simplify the input geometry.
If the distance tolerance is positive,
concavities on the LEFT side of the line are simplified.
If the supplied distance tolerance is negative,
concavities on the RIGHT side of the line are simplified.
- Parameters:
distanceTol
- simplification distance tolerance to use
- Returns: