Search Results for

    Show / Hide Table of Contents

    Class BufferInputLineSimplifier

    Simplifies a buffer input line to remove concavities with shallow depth.

    Inheritance
    object
    BufferInputLineSimplifier
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: NetTopologySuite.Operation.Buffer
    Assembly: NetTopologySuite.dll
    Syntax
    public class BufferInputLineSimplifier
    Remarks

    The major benefit of doing this is to reduce the number of points and the complexity of shape which will be buffered. This improves performance and robustness. It also reduces the risk of gores created by the quantized fillet arcs (although this issue should be eliminated by the offset curve generation logic).

    A key aspect of the simplification is that it affects inside (concave or inward) corners only. Convex (outward) corners are preserved, since they are required to ensure that the generated buffer curve lies at the correct distance from the input geometry.

    Another important heuristic used is that the end segments of linear inputs are never simplified. This ensures that the client buffer code is able to generate end caps faithfully. Ring inputs can have end segments removed by simplification.

    No attempt is made to avoid self-intersections in the output. This is acceptable for use for generating a buffer offset curve, since the buffer algorithm is insensitive to invalid polygonal geometry. However, this means that this algorithm cannot be used as a general-purpose polygon simplification technique.

    Constructors

    | Edit this page View Source

    BufferInputLineSimplifier(Coordinate[])

    Declaration
    public BufferInputLineSimplifier(Coordinate[] inputLine)
    Parameters
    Type Name Description
    Coordinate[] inputLine

    Methods

    | Edit this page View Source

    Simplify(Coordinate[], double)

    Simplify the input coordinate list. If the distance tolerance is positive, concavities on the LEFT side of the line are simplified. If the supplied distance tolerance is negative, concavities on the RIGHT side of the line are simplified.

    Declaration
    public static Coordinate[] Simplify(Coordinate[] inputLine, double distanceTol)
    Parameters
    Type Name Description
    Coordinate[] inputLine

    The coordinate list to simplify

    double distanceTol

    simplification distance tolerance to use

    Returns
    Type Description
    Coordinate[]

    The simplified coordinate list

    | Edit this page View Source

    Simplify(double)

    Simplify the input coordinate list.

    Declaration
    public Coordinate[] Simplify(double distanceTol)
    Parameters
    Type Name Description
    double distanceTol

    Simplification distance tolerance to use

    Returns
    Type Description
    Coordinate[]

    The simplified coordinates list

    Remarks

    If the distance tolerance is positive, concavities on the LEFT side of the line are simplified. If the supplied distance tolerance is negative, concavities on the RIGHT side of the line are simplified.

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