GEOS
3.14.0dev
|
Simplifies a Geometry using the standard Douglas-Peucker 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 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).
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 non-negative. A tolerance value of zero is effectively a no-op.
tolerance | the approximation tolerance to use |