When do I need to simplify a geometry?


In this topic


About simplifying a geometry

Simplify permanently alters the input geometry, making its definition topologically legal with respect to its geometry type.
Simplify and points
Simplify does nothing for points. A point has no constraints on the values of its coordinates.
Simplify and multipoints
For multipoints, simplify snaps all x-, y-, z-, and m-coordinates to the grid of the associated spatial reference, and removes identical points. A point is identical to another point when the two have identical x,y coordinates (after snapping) and when attributes for which it is aware are identical to the attributes for which the other point is aware. For example, if both points are z-aware, the z-coordinate values must be identical.
Simplify and polylines
Simplify has two variations for polylines: planar and nonplanar. By default, polylines that are not m-aware are simplified in a planar manner—all overlapping segments are reduced to a single segment and segments are split at intersection points. Output paths are created for connected sequences of segments. Input segment orientation is preserved where possible, but segments in the interior of a path are reoriented if necessary. Polylines that are m-aware use the following nonplanar simplification:
See the following illustration of a polyline Simplify:
Simplify and polygons
Simplify identifies an interior and exterior for polygons and modifies the polygon structure to be consistent with that determination. The default methodology for identifying interior and exterior is as follows:
See the following illustration of a polygon Simplify:

The x,y tolerance property of the geometry's associated spatial reference is used during the Simplify operation for polylines and polygons.

What Simplify considers

Simplify looks at the ITopologicalOperator.IsKnownSimple flag before starting processing. If the flag is set to true, operation is interrupted and the geometry is considered simple. If the flag is set to false, the geometry consistency is checked and the geometry is updated as needed.
ITopologicalOperator methods must be applied on high-level geometries only. High-level geometries are point, multipoint, polyline, and polygon. To use this method with low-level geometries, such as segments (line, circular arc, elliptic arc, Bézier curve), paths, or rings, they must be wrapped into high-level geometry types.


See Also:

What do I need to know before calling Simplify?