Class CoverageArea
A single polygonal region of a dataset's declared data coverage, expressed
in WGS-84 (EPSG:4326). Corresponds to one DataCoverage surface
feature (S-101 FC §3.1.1; the S-57 M_COVR meta-object translated to
DataCoverage), whose exterior ring bounds the covered area and whose
interior rings punch no-coverage holes.
public sealed class CoverageArea
- Inheritance
-
CoverageArea
- Inherited Members
Remarks
Used to drive cross-cell scale-band overlap suppression (issue #438 Phase 2): a coarser cell is clipped to its coverage minus the union of finer overlapping cells' coverage, so overlapping multi-scale cells do not double-draw. Holes are honoured so a coarser cell still shows through a finer cell's no-coverage gaps.
Properties
ExteriorRing
The exterior ring bounding the covered area, in EPSG:4326 (lat/lon per S-100 Part 10b §6.2). Expected to be a closed, non-empty ring of at least three distinct positions.
public required IReadOnlyList<GeoPosition> ExteriorRing { get; init; }
Property Value
InteriorRings
Interior rings (holes) subtracted from ExteriorRing — no-coverage gaps within the covered area. Empty when the region is solid.
public IReadOnlyList<IReadOnlyList<GeoPosition>> InteriorRings { get; init; }
Property Value
Methods
Contains(double, double)
Whether a WGS-84 point lies inside the covered area: inside ExteriorRing and outside every interior ring. Uses an even-odd ray cast in longitude/latitude, so it suits cell-sized areas that don't cross the antimeridian.
public bool Contains(double latitude, double longitude)