GEOS
3.12.0dev

Simplifies a Geometry using the standard DouglasPeucker algorithm. More...
#include <DouglasPeuckerSimplifier.h>
Public Member Functions  
DouglasPeuckerSimplifier (const geom::Geometry *geom)  
void  setDistanceTolerance (double tolerance) 
Sets the distance tolerance for the simplification. More...  
std::unique_ptr< geom::Geometry >  getResultGeometry () 
Static Public Member Functions  
static std::unique_ptr< geom::Geometry >  simplify (const geom::Geometry *geom, double tolerance) 
Simplifies a Geometry using the standard DouglasPeucker algorithm.
Ensures that any polygonal geometries returned are valid. Simple lines are not guaranteed to remain simple after simplification.
Note that in general DP 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 DP is significantly faster).
void geos::simplify::DouglasPeuckerSimplifier::setDistanceTolerance  (  double  tolerance  ) 
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 nonnegative. A tolerance value of zero is effectively a noop.
tolerance  the approximation tolerance to use 