Class CoverageUnion
A polygonal coverage is a collection of Polygon
s
which satisfy the following conditions:
- Vector-clean - Line segments within the collection must either be identical or intersect only at endpoints.
- Non-overlapping - No two polygons may overlap. Equivalently, polygons must be interior-disjoint.
A linear coverage is a collection of LineString
s
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.
- Author:
- Martin Davis
- See Also:
-
Method Summary
-
Method Details
-
union
Unions a valid polygonal coverage or linear network.- Parameters:
coverage
- a coverage of polygons or lines- Returns:
- the union of the coverage
- Throws:
TopologyException
- in some cases if the coverage is invalid
-