Class VWSimplifier
Simplifies a Geometry using the Visvalingam-Whyatt area-based algorithm. 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. The simplification tolerance is specified as a distance. This is converted to an area tolerance by squaring it.
Known Bugs * Not yet optimized for performance. * Does not simplify the endpoint of rings. To Do * Allow specifying desired number of vertices in the output.
Inherited Members
Namespace: NetTopologySuite.Simplify
Assembly: NetTopologySuite.dll
Syntax
public class VWSimplifier
Remarks
Note that in general this algorithm 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.
Constructors
| Improve this Doc View SourceVWSimplifier(Geometry)
Creates a simplifier for a given Geometry.
Declaration
public VWSimplifier(Geometry inputGeom)
Parameters
Type | Name | Description |
---|---|---|
Geometry | inputGeom | The Geometry to simplify. |
Properties
| Improve this Doc View SourceDistanceTolerance
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.
Declaration
public double DistanceTolerance { get; set; }
Property Value
Type | Description |
---|---|
Double |
IsEnsureValidTopology
Controls whether simplified polygons will be "fixed" to have valid topology. 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.
Declaration
public bool IsEnsureValidTopology { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
The default is to fix polygon topology.
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. |