JTS Topology Suite version 1.13

com.vividsolutions.jts.simplify
Class TopologyPreservingSimplifier

java.lang.Object
  extended by com.vividsolutions.jts.simplify.TopologyPreservingSimplifier

public class TopologyPreservingSimplifier
extends java.lang.Object

Simplifies a geometry and ensures that the result is a valid geometry having the same dimension and number of components as the input, and with the components having the same topological relationship.

If the input is a polygonal geometry ( Polygon or MultiPolygon ):

For linear geometries, if the input does not contain any intersecting line segments, this property will be preserved in the output.

For all geometry types, the result will contain enough vertices to ensure validity. For polygons and closed linear geometries, the result will have at least 4 vertices; for open linestrings the result will have at least 2 vertices.

All geometry types are handled. Empty and point geometries are returned unchanged.

The simplification uses a maximum-distance difference algorithm similar to the Douglas-Peucker algorithm.

KNOWN BUGS

Author:
Martin Davis
See Also:
DouglasPeuckerSimplifier

Constructor Summary
TopologyPreservingSimplifier(Geometry inputGeom)
           
 
Method Summary
 Geometry getResultGeometry()
           
 void setDistanceTolerance(double distanceTolerance)
          Sets the distance tolerance for the simplification.
static Geometry simplify(Geometry geom, double distanceTolerance)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TopologyPreservingSimplifier

public TopologyPreservingSimplifier(Geometry inputGeom)
Method Detail

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. A tolerance value of zero is effectively a no-op.

Parameters:
distanceTolerance - the approximation tolerance to use

getResultGeometry

public Geometry getResultGeometry()

JTS Topology Suite version 1.13