Class GeometryFixer
Fixes a geometry to be a valid geometry, while preserving as much as possible of the shape and location of the input. Validity is determined according to IsValid.
Input geometries are always processed, so even valid inputs may have some minor alterations.The output is always a new geometry object.
Semantic Rules
- Vertices with non-finite X or Y ordinates are removed (as per IsValid)
- Repeated points are reduced to a single point
- Empty atomic geometries are valid and are returned unchanged
- Empty elements are removed from collections
Point
: keep valid coordinate, or EMPTYLineString
: coordinates are fixedLinearRing
: coordinates are feixed, keep valid ring or else convert intoLineString
Polygon
: transform into a valid polygon, preserving as much of the extent and vertices as possible.- Rings are fixed to ensure they are valid
- Holes intersection the shell are subtracted from the shell
- Holes outside the shell are converted into polygons
MultiPolygon
: each polygon is fixed, then result made non - overlapping (via union)GeometryCollection
: each element is fixed- Collapsed lines and polygons are handled as follows,
depending on the
keepCollapsed
setting:false
: (default) collapses are converted to empty geometries (and removed if they are elements of collections)true
: collapses are converted to a valid geometry of lower dimension
Inherited Members
Namespace: NetTopologySuite.Geometries.Utilities
Assembly: NetTopologySuite.dll
Syntax
public class GeometryFixer
Constructors
| Improve this Doc View SourceGeometryFixer(Geometry)
Creates a new instance to fix a given geometry
Declaration
public GeometryFixer(Geometry geom)
Parameters
Type | Name | Description |
---|---|---|
Geometry | geom | The geometry to be fixed |
Properties
| Improve this Doc View SourceKeepCollapsed
Gets or sets a value indicating whether collapsed
geometries are converted to empty,
(which will be removed from collections),
or to a valid geometry of lower dimension.
The default is to convert collapses to empty geometries (false
).
Declaration
public bool KeepCollapsed { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
KeepMulti
Gets or sets a value indicating whether collapsed
geometries are converted to empty,
(which will be removed from collections),
or to a valid geometry of lower dimension.
The default is to convert collapses to empty geometries (false
).
Declaration
public bool KeepMulti { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Methods
| Improve this Doc View SourceFix(Geometry)
Fixes a geometry to be valid.
Declaration
public static Geometry Fix(Geometry geom)
Parameters
Type | Name | Description |
---|---|---|
Geometry | geom | The geometry to be fixed |
Returns
Type | Description |
---|---|
Geometry | The valid fixed geometry |
Fix(Geometry, Boolean)
Fixes a geometry to be valid, allowing to set a flag controlling how
single item results from fixed MULTI
geometries should be
returned.
Declaration
public static Geometry Fix(Geometry geom, bool isKeepMulti)
Parameters
Type | Name | Description |
---|---|---|
Geometry | geom | The geometry to be fixed |
Boolean | isKeepMulti | A flag indicating if |
Returns
Type | Description |
---|---|
Geometry | The valid fixed geometry |
GetResult()
Gets the fixed geometry.
Declaration
public Geometry GetResult()
Returns
Type | Description |
---|---|
Geometry | The fixed geometry |