QGIS API Documentation 3.41.0-Master (45a0abf3bec)
|
Implementation of GeometrySimplifier using the Douglas-Peucker algorithm. More...
#include <qgsgeometrysimplifier.h>
Public Member Functions | |
QgsTopologyPreservingSimplifier (double tolerance) | |
Constructor for QgsTopologyPreservingSimplifier. | |
QgsAbstractGeometry * | simplify (const QgsAbstractGeometry *geometry) const override |
Returns a simplified version the specified geometry. | |
QgsGeometry | simplify (const QgsGeometry &geometry) const override |
Returns a simplified version the specified geometry. | |
Public Member Functions inherited from QgsAbstractGeometrySimplifier | |
virtual | ~QgsAbstractGeometrySimplifier ()=default |
Protected Attributes | |
double | mTolerance |
Distance tolerance for the simplification. | |
Additional Inherited Members | |
Static Public Member Functions inherited from QgsAbstractGeometrySimplifier | |
static bool | isGeneralizableByDeviceBoundingBox (const QgsRectangle &envelope, float mapToPixelTol=1.0f) |
Returns whether the device-envelope can be replaced by its BBOX when is applied the specified tolerance. | |
static bool | isGeneralizableByDeviceBoundingBox (const QVector< QPointF > &points, float mapToPixelTol=1.0f) |
Returns whether the device-geometry can be replaced by its BBOX when is applied the specified tolerance. | |
Implementation of GeometrySimplifier using the Douglas-Peucker algorithm.
Simplifies a geometry, ensuring that the result is a valid geometry having the same dimension and number of components as the input. The simplification uses a maximum distance difference algorithm similar to the one used in the Douglas-Peucker algorithm.
Definition at line 70 of file qgsgeometrysimplifier.h.
QgsTopologyPreservingSimplifier::QgsTopologyPreservingSimplifier | ( | double | tolerance | ) |
Constructor for QgsTopologyPreservingSimplifier.
The tolerance parameter is specified in layer units.
Definition at line 42 of file qgsgeometrysimplifier.cpp.
|
overridevirtual |
Returns a simplified version the specified geometry.
Will return nullptr
if no simplification is to be performed to the geometry.
Caller takes ownership of the returned geometry.
Implements QgsAbstractGeometrySimplifier.
Definition at line 51 of file qgsgeometrysimplifier.cpp.
|
overridevirtual |
Returns a simplified version the specified geometry.
Implements QgsAbstractGeometrySimplifier.
Definition at line 46 of file qgsgeometrysimplifier.cpp.
|
protected |
Distance tolerance for the simplification.
Definition at line 85 of file qgsgeometrysimplifier.h.