Class DouglasPeuckerSimplifier
Simplifies a Geometry using the Douglas-Peucker algorithm.
Inherited Members
Namespace: NetTopologySuite.Simplify
Assembly: NetTopologySuite.dll
Syntax
public class DouglasPeuckerSimplifier
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
| Improve this Doc View SourceDouglasPeuckerSimplifier(Geometry)
Creates a simplifier for a given geometry.
Declaration
public DouglasPeuckerSimplifier(Geometry inputGeom)
Parameters
Type | Name | Description |
---|---|---|
Geometry | inputGeom | The geometry to simplify. |
Properties
| Improve this Doc View SourceDistanceTolerance
The distance tolerance for the simplification.
Declaration
public double DistanceTolerance { get; set; }
Property Value
Type | Description |
---|---|
Double |
Remarks
All vertices in the simplified geometry will be within this distance of the original geometry. The tolerance value must be non-negative.
EnsureValidTopology
Controls whether simplified polygons will be "fixed" to have valid topology.
Declaration
public bool EnsureValidTopology { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
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
Methods
| Improve this Doc View SourceGetResultGeometry()
Gets the simplified geometry.
Declaration
public Geometry GetResultGeometry()
Returns
Type | Description |
---|---|
Geometry | The simplified geometry. |
Simplify(Geometry, Double)
Simplifies a geometry using a given tolerance.
Declaration
public static Geometry Simplify(Geometry geom, double distanceTolerance)
Parameters
Type | Name | Description |
---|---|---|
Geometry | geom | The geometry to simplify. |
Double | distanceTolerance | The tolerance to use. |
Returns
Type | Description |
---|---|
Geometry | A simplified version of the geometry. |