NetTopologySuite
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Pages
Package NetTopologySuite.Simplify

Classes

class  DouglasPeuckerLineSimplifier
 Simplifies a line (sequence of points) using the standard Douglas-Peucker algorithm. More...
 
class  DouglasPeuckerSimplifier
 Simplifies a Geometry using the Douglas-Peucker algorithm. More...
 
class  LineSegmentIndex
 An index of LineSegments. More...
 
class  LineSegmentVisitor
 ItemVisitor subclass to reduce volume of query results. More...
 
class  TaggedLineSegment
 A LineSegment which is tagged with its location in a Geometry. Used to index the segments in a point and recover the segment locations from the index. More...
 
class  TaggedLinesSimplifier
 Simplifies a collection of TaggedLineStrings, preserving topology (in the sense that no new intersections are introduced). This class is essentially just a container for the common indexes used by TaggedLineStringSimplifier. More...
 
class  TaggedLineString
 Represents a ILineString which can be modified to a simplified shape. This class provides an attribute which specifies the minimum allowable length for the modified result. More...
 
class  TaggedLineStringSimplifier
 Simplifies a TaggedLineString, preserving topology (in the sense that no new intersections are introduced). Uses the recursive Douglas-Peucker algorithm. More...
 
class  TopologyPreservingSimplifier
 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 (IPolygon or IMultiPolygon):

  • 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.

For linear geometries, if the input does not contain any intersecting line segments, this property will be preserved in the output. For all geometry types, the result will contain enough vertices to ensure validity. For polygons and closed linear geometries, the result will have at least 4 vertices; for open linestrings the result will have at least 2 vertices. All geometry types are handled. Empty and point geometries are returned unchanged. Empty geometry components are deleted. The simplification uses a maximum-distance difference algorithm similar to the Douglas-Peucker algorithm. More...

 
class  VWLineSimplifier
 Simplifies a linestring (sequence of points) using the Visvalingam-Whyatt algorithm. The Visvalingam-Whyatt algorithm simplifies geometry by removing vertices while trying to minimize the area changed. More...
 
class  VWSimplifier
 Simplifies a IGeometry 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. More...