Class DouglasPeuckerSimplifier
- Namespace
- NetTopologySuite.Simplify
- Assembly
- NetTopologySuite.dll
Simplifies a Geometry using the Douglas-Peucker algorithm.
public class DouglasPeuckerSimplifier
- Inheritance
-
DouglasPeuckerSimplifier
- Inherited Members
Remarks
Ensures that any polygonal geometries returned are valid. Simple lines are not guaranteed to remain simple after simplification. All geometry types are handled. Empty and point geometries are returned unchanged. Empty geometry components are deleted.
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 point while preserving topology use TopologySafeSimplifier. (However, using D-P is significantly faster). KNOWN BUGS: In some cases the approach used to clean invalid simplified polygons can distort the output geometry severely.Constructors
DouglasPeuckerSimplifier(Geometry)
Creates a simplifier for a given geometry.
public DouglasPeuckerSimplifier(Geometry inputGeom)
Parameters
inputGeom
GeometryThe geometry to simplify.
- See Also
Properties
DistanceTolerance
The distance tolerance for the simplification.
public double DistanceTolerance { get; set; }
Property Value
Remarks
All vertices in the simplified geometry will be within this distance of the original geometry. The tolerance value must be non-negative.
- See Also
EnsureValidTopology
Controls whether simplified polygons will be "fixed" to have valid topology.
public bool EnsureValidTopology { get; set; }
Property Value
Remarks
The caller may choose to disable this because:
- valid topology is not required
- fixing topology is a relative expensive operation
- in some pathological cases the topology fixing operation may either fail or run for too long
- See Also
Methods
GetResultGeometry()
Gets the simplified geometry.
public Geometry GetResultGeometry()
Returns
- Geometry
The simplified geometry.
- See Also
Simplify(Geometry, double)
Simplifies a geometry using a given tolerance.
public static Geometry Simplify(Geometry geom, double distanceTolerance)
Parameters
Returns
- Geometry
A simplified version of the geometry.
- See Also