com.vividsolutions.jts.simplify
Class DouglasPeuckerSimplifier
java.lang.Object
com.vividsolutions.jts.simplify.DouglasPeuckerSimplifier
public class DouglasPeuckerSimplifier
- extends java.lang.Object
Simplifies a Geometry
using the standard Douglas-Peucker algorithm.
Ensures that any polygonal geometries returned are valid.
Simple lines are not guaranteed to remain simple after simplification.
Note that in general D-P does not preserve topology -
e.g. polygons can be split, collapse to lines or disappear
holes can be created or disappear,
and lines can cross.
To simplify geometry while preserving topology use TopologyPreservingSimplifier
.
(However, using D-P is significantly faster).
- Version:
- 1.7
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DouglasPeuckerSimplifier
public DouglasPeuckerSimplifier(Geometry inputGeom)
simplify
public static Geometry simplify(Geometry geom,
double distanceTolerance)
setDistanceTolerance
public void setDistanceTolerance(double distanceTolerance)
- Sets the distance tolerance for the simplification.
All vertices in the simplified geometry will be within this
distance of the original geometry.
The tolerance value must be non-negative.
- Parameters:
distanceTolerance
- the approximation tolerance to use
setEnsureValid
public void setEnsureValid(boolean isEnsureValidTopology)
- Controls whether simplified polygons will be "fixed"
to have valid topology.
The caller may choose to disable this because:
- valid topology is not required
- fixing topology is a relative expensive operation
- in some pathological cases the topology fixing operation may either fail or run for too long
The default is to fix polygon topology.
- Parameters:
isEnsureValidTopology
-
getResultGeometry
public Geometry getResultGeometry()