Table of Contents

Class GridCoverageSubLayer

Namespace
EncDotNet.S100.Datasets.Pipelines.Portrayal
Assembly
EncDotNet.S100.Core.dll

A colour-band coverage sub-layer (S-102 bathymetry, S-104 water-level surface): the Mapsui renderer rasterises Coverage through MapsuiCoverageRenderer.

public sealed class GridCoverageSubLayer : CoverageSubLayerBase
Inheritance
GridCoverageSubLayer
Inherited Members

Properties

ClipToWater

Whether this surface asks to be clipped to water when an S-101 ENC is loaded alongside it. The S-98 rule R-101-WX-B attaches the ENC's land geometry as LandAreaMask to every sub-layer that sets this, as R-101-104-B does for the S-104 surface. Set by the weather wave height fill (issue #1072); defaults to false, so other products are unaffected.

public bool ClipToWater { get; init; }

Property Value

bool

Coverage

The materialised, time-resolved styled coverage layer.

public required StyledCoverageLayer Coverage { get; init; }

Property Value

StyledCoverageLayer

LandAreaMask

Optional land-area surface geometries (WGS84 (latitude, longitude)) this surface must be clipped out of so it only covers water. The renderers project these polygons into destination pixel space and clip the rasterised surface against them at output-pixel resolution (see CoverageLandClip). Set by the S-98 rule that clips the S-104 water-level surface to water when an S-101 ENC is loaded alongside it (issue #483; S-98 Ed.2.0.0 Annex A §A-6.9.1). null or empty means "draw everywhere the grid has data".

public IReadOnlyList<FeatureGeometry>? LandAreaMask { get; init; }

Property Value

IReadOnlyList<FeatureGeometry>

Legend

The fill's colour legend, band colours and labels lowest first, for a viewer to show next to the layer stack entry; null (the default) for no legend. Set by the weather fills (issue #1072, design note weather-sources.md §4.3). Renderers ignore it.

public IReadOnlyList<CoverageLegendEntry>? Legend { get; init; }

Property Value

IReadOnlyList<CoverageLegendEntry>

Opacity

The portrayal opacity of the surface, 0 (invisible) to 1 (opaque). Defaults to 1.0. Renderers multiply it with any user opacity rather than replacing it. The S-104 water-level band is partly transparent so the ENC colour fills under it stay readable: S-98 Main §9.2.1 says on-demand data must not obscure official colour-fill data, and Annex A §4.4.1 allows overlays to use transparency for that. S-102 stays opaque because it replaces the ENC depth areas (Part A §A-6.9.1).

public double Opacity { get; init; }

Property Value

double

Viewport

The viewport (extent + grid dimensions) the renderer fits to.

public required Viewport Viewport { get; init; }

Property Value

Viewport

Methods

WithLandAreaMask(IReadOnlyList<FeatureGeometry>?)

Returns a copy of this sub-layer with LandAreaMask replaced. Used by the S-98 water-area clip rule, which attaches the S-101 land geometry it discovers to the (processor-produced) S-104 surface sub-layer.

public GridCoverageSubLayer WithLandAreaMask(IReadOnlyList<FeatureGeometry>? landAreaMask)

Parameters

landAreaMask IReadOnlyList<FeatureGeometry>

The land-area surfaces to clip out, or null.

Returns

GridCoverageSubLayer