Class TopologyPreservingSimplifier
- Namespace
- NetTopologySuite.Simplify
- Assembly
- NetTopologySuite.dll
Simplifies a point and ensures that the result is a valid point having the same dimension and number of components as the input, and with the components having the same topological relationship.
If the input is a polygonal geometry (Polygon or MultiPolygon):- The result has the same number of shells and holes as the input, with the same topological structure
- The result rings touch at no more than the number of touching points in the input (although they may touch at fewer points). The key implication of this statement is that if the input is topologically valid, so is the simplified output.
public class TopologyPreservingSimplifier
- Inheritance
-
TopologyPreservingSimplifier
- Inherited Members
Remarks
KNOWN BUGS
- May create invalid topology if there are components which are small relative to the tolerance value. In particular, if a small hole is very near an edge, it is possible for the edge to be moved by a relatively large tolerance value and end up with the hole outside the result shell (or inside another hole). Similarly, it is possible for a small polygon component to end up inside a nearby larger polygon. A workaround is to test for this situation in post-processing and remove any invalid holes or polygons.
Constructors
TopologyPreservingSimplifier(Geometry)
Creates an instance of this class for the provided inputGeom
geometry
public TopologyPreservingSimplifier(Geometry inputGeom)
Parameters
inputGeom
GeometryThe geometry to simplify
- See Also
Properties
DistanceTolerance
Gets or sets the distance tolerance for the simplification.
Points closer than this tolerance to a simplified segment may
be removed.
public double DistanceTolerance { get; set; }
Property Value
- See Also
Methods
GetResultGeometry()
public Geometry GetResultGeometry()
Returns
- See Also
Simplify(Geometry, double)
public static Geometry Simplify(Geometry geom, double distanceTolerance)
Parameters
Returns
- See Also