GEOS
3.14.0dev
|
Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, without attempting to preserve valid topology. More...
#include <PrecisionReducerTransformer.h>
Public Member Functions | |
PrecisionReducerTransformer (const geom::PrecisionModel &p_targetPM, bool p_isRemoveCollapsed=false) | |
Public Member Functions inherited from geos::geom::util::GeometryTransformer | |
std::unique_ptr< Geometry > | transform (const Geometry *nInputGeom) |
void | setSkipTransformedInvalidInteriorRings (bool b) |
Static Public Member Functions | |
static std::unique_ptr< geom::Geometry > | reduce (const geom::Geometry &geom, const geom::PrecisionModel &targetPM, bool isRemoveCollapsed=false) |
Protected Member Functions | |
std::unique_ptr< geom::CoordinateSequence > | transformCoordinates (const geom::CoordinateSequence *coords, const geom::Geometry *parent) override |
std::unique_ptr< geom::Geometry > | transformPolygon (const geom::Polygon *geom, const geom::Geometry *parent) override |
std::unique_ptr< geom::Geometry > | transformMultiPolygon (const geom::MultiPolygon *geom, const geom::Geometry *parent) override |
Protected Member Functions inherited from geos::geom::util::GeometryTransformer | |
virtual Geometry::Ptr | transformPoint (const Point *geom, const Geometry *parent) |
virtual Geometry::Ptr | transformMultiPoint (const MultiPoint *geom, const Geometry *parent) |
virtual Geometry::Ptr | transformLinearRing (const LinearRing *geom, const Geometry *parent) |
virtual Geometry::Ptr | transformLineString (const LineString *geom, const Geometry *parent) |
virtual Geometry::Ptr | transformMultiLineString (const MultiLineString *geom, const Geometry *parent) |
virtual Geometry::Ptr | transformGeometryCollection (const GeometryCollection *geom, const Geometry *parent) |
Additional Inherited Members | |
Protected Attributes inherited from geos::geom::util::GeometryTransformer | |
const GeometryFactory * | factory |
Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, without attempting to preserve valid topology.
The topology of the resulting geometry may be invalid if topological collapse occurs due to coordinates being shifted. It is up to the client to check this and handle it if necessary. Collapses may not matter for some uses. An example is simplifying the input to the buffer algorithm. The buffer algorithm does not depend on the validity of the input geometry.