Search Results for

    Show / Hide Table of Contents

    Class DouglasPeuckerSimplifier

    Simplifies a Geometry using the Douglas-Peucker algorithm.

    Inheritance
    object
    DouglasPeuckerSimplifier
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    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

    | Edit this page View Source

    DouglasPeuckerSimplifier(Geometry)

    Creates a simplifier for a given geometry.

    Declaration
    public DouglasPeuckerSimplifier(Geometry inputGeom)
    Parameters
    Type Name Description
    Geometry inputGeom

    The geometry to simplify.

    Properties

    | Edit this page View Source

    DistanceTolerance

    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.

    | Edit this page View Source

    EnsureValidTopology

    Controls whether simplified polygons will be "fixed" to have valid topology.

    Declaration
    public bool EnsureValidTopology { get; set; }
    Property Value
    Type Description
    bool
    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
    The default is to fix polygon topology.

    Methods

    | Edit this page View Source

    GetResultGeometry()

    Gets the simplified geometry.

    Declaration
    public Geometry GetResultGeometry()
    Returns
    Type Description
    Geometry

    The simplified geometry.

    | Edit this page View Source

    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.

    See Also

    TopologyPreservingSimplifier
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX