Gets a value indicating whether or not the geometry is simple.
public static bool IsSimple(this Geometry geometry)
The geometry object.
A Boolean value where true means the geometry is simple, false if not.
Point geometry is always simple.
For Multipoint: there can be no point with exactly equal x and y - the tolerance is not taken into account.
For Polylines the only condition is there can be no degenerate segments. When the polyline has no z, the degenerate segments are those that have length in xy plane less or equal the tolerance. When the polyline has z, the degenerate segments are those that are shorter than the tolerance in xy plane, and the change in z-value along the segment is less than or equal to the z-tolerance.
For Polygons: Exterior rings are clockwise, and holes are counterclockwise. Rings can touch other rings in finite number of points. Rings can be self tangent in finite number of points. Vertices are either exactly coincident, or further than the SpatialReference tolerance from each other. If a vertex is not equal to any boundary point of a segment, it has to be further than tolerance from any segment. No segment length is zero or less than tolerance. Each path contains at least three non-equal vertices. No empty paths allowed. Order of rings does not matter.
Supports true curves.
Platforms and versions
|.NET Standard 2.0||100.3 - 200.2|
|.NET 6.0||100.13 - 200.2|
|.NET 6.0 Windows||100.13 - 200.2|
|.NET 6.0 Android||200.0 - 200.2|
|.NET 6.0 iOS||200.0 - 200.2|
|.NET Framework||100.0 - 200.2|
|.NET 5||100.10 - 100.12|
|.NET Core 3.1||100.7 - 100.12|
|Android||100.0 - 100.15|
|iOS||100.0 - 100.15|
|UWP||100.0 - 200.2|