Class CoverageUnion
Unions a valid coverage of polygons or lines in an efficient way.
A polygonal coverage is a collection of Polygons which satisfy the following conditions:
- Vector-cleanLine segments within the collection must either be identical or intersect only at endpoints.
- Non-overlappingNo two polygons may overlap. Equivalently, polygons must be interior-disjoint.
A linear coverage is a collection of LineStrings which satisfies the Vector-clean condition. Note that this does not require the LineStrings to be fully noded - i.e. they may contain coincident linework. Coincident line segments are dissolved by the union. Currently linear output is not merged (this may be added in a future release.)
No checking is done to determine whether the input is a valid coverage. This is because coverage validation involves segment intersection detection, which is much more expensive than the union phase. If the input is not a valid coverage then in some cases this will be detected during processing and a TopologyException is thrown. Otherwise, the computation will produce output, but it will be invalid.
Unioning a valid coverage implies that no new vertices are created. This means that a precision model does not need to be specified. The precision of the vertices in the output geometry is not changed.
Inherited Members
Namespace: NetTopologySuite.Operation.OverlayNG
Assembly: NetTopologySuite.dll
Syntax
public static class CoverageUnion
Methods
| Improve this Doc View SourceUnion(Geometry)
Unions a valid polygonal coverage or linear network.
Declaration
public static Geometry Union(Geometry coverage)
Parameters
Type | Name | Description |
---|---|---|
Geometry | coverage | A coverage of polygons or lines |
Returns
Type | Description |
---|---|
Geometry | The union of the coverage |
Exceptions
Type | Condition |
---|---|
TopologyException | Thrown in some cases if the coverage is invalid |