Table of Contents

Class MapDataset

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

Immutable, renderer- and UI-neutral snapshot of one loaded dataset's map state.

public sealed class MapDataset
Inheritance
MapDataset
Inherited Members

Remarks

The snapshot combines the processor's domain metadata with host-owned display and lifecycle choices. It intentionally carries no rendered layer, framework event, localized string, or UI command.

IsVisible and IsActive are independent: visibility is a visual toggle, while active state controls participation in cross-product composition and queries.

Constructors

MapDataset(MapDatasetId, string, DatasetMetadata, bool, bool, double, IReadOnlyList<DateTime>?, DateTime?, IReadOnlyList<MapDatasetSubLayer>?, ValidationReport?, SpecVersionAssessment?, ViewingGroupFilter?, IReadOnlySet<string>?, PortrayalTime?)

Creates a loaded dataset state snapshot.

public MapDataset(MapDatasetId id, string name, DatasetMetadata metadata, bool isVisible = true, bool isActive = true, double opacity = 1, IReadOnlyList<DateTime>? availableTimes = null, DateTime? currentTime = null, IReadOnlyList<MapDatasetSubLayer>? subLayers = null, ValidationReport? validation = null, SpecVersionAssessment? versionAssessment = null, ViewingGroupFilter? viewingGroups = null, IReadOnlySet<string>? hiddenFeatures = null, PortrayalTime? portrayalTime = null)

Parameters

id MapDatasetId

Stable identity assigned by the host.

name string

Human-readable, non-localized dataset name.

metadata DatasetMetadata

Product, extent, scale, CRS, and time metadata.

isVisible bool

Whether the dataset is visually enabled.

isActive bool

Whether the dataset participates in cross-product composition and queries.

opacity double

Dataset opacity in the inclusive range 0..1.

availableTimes IReadOnlyList<DateTime>

Materialized time samples, in source order.

currentTime DateTime?

Time sample currently portrayed, if any.

subLayers IReadOnlyList<MapDatasetSubLayer>

Renderer-neutral sub-layer display state.

validation ValidationReport

Validation report, or null when no rule pack exists.

versionAssessment SpecVersionAssessment

Assessment of the declared product edition against implemented editions.

viewingGroups ViewingGroupFilter

This dataset's own narrowing of viewing-group visibility, or null.

hiddenFeatures IReadOnlySet<string>

Ids of this dataset's features the host doesn't want drawn, or null.

portrayalTime PortrayalTime

The time date-dependent instructions are drawn at, or null to draw them all.

Exceptions

ArgumentException

id is the default value, or name is empty or consists only of white-space characters.

ArgumentNullException

metadata is null.

ArgumentOutOfRangeException

opacity is not finite or lies outside 0..1.

Properties

AvailableTimes

Materialized time samples, in source order.

public IReadOnlyList<DateTime> AvailableTimes { get; }

Property Value

IReadOnlyList<DateTime>

CurrentTime

Time sample currently portrayed, or null.

public DateTime? CurrentTime { get; }

Property Value

DateTime?

Extent

Dataset extent in the coordinate reference system identified by HorizontalCrsEpsg, or null. This is metres rather than degrees for a projected coverage (e.g. a UTM S-102 tile). Use GetGeographicExtent(ICrsTransformFactory) for a WGS-84 extent.

public BoundingBox? Extent { get; }

Property Value

BoundingBox

HasTimeSteps

Whether at least one time sample is available.

public bool HasTimeSteps { get; }

Property Value

bool

HiddenFeatures

Ids of this dataset's features the host doesn't want drawn, or null for none (an empty set is stored as null). Like ViewingGroups, changing it needs a re-render of the dataset (see HiddenFeatures); hidden features aren't picked either.

public IReadOnlySet<string>? HiddenFeatures { get; }

Property Value

IReadOnlySet<string>

Id

Stable identity assigned by the host.

public MapDatasetId Id { get; }

Property Value

MapDatasetId

IsActive

Whether the dataset participates in cross-product composition and queries.

public bool IsActive { get; }

Property Value

bool

IsVisible

Whether the dataset is visually enabled.

public bool IsVisible { get; }

Property Value

bool

Metadata

Product, extent, scale, CRS, and time metadata.

public DatasetMetadata Metadata { get; }

Property Value

DatasetMetadata

Name

Human-readable, non-localized dataset name.

public string Name { get; }

Property Value

string

Opacity

Dataset opacity in the inclusive range 0..1.

public double Opacity { get; }

Property Value

double

PortrayalTime

The time the dataset's date-dependent instructions are drawn at, or null to draw them all. Like HiddenFeatures, changing it needs a re-render of the dataset (see PortrayalTime).

public PortrayalTime? PortrayalTime { get; }

Property Value

PortrayalTime

SubLayers

Renderer-neutral sub-layer display state.

public IReadOnlyList<MapDatasetSubLayer> SubLayers { get; }

Property Value

IReadOnlyList<MapDatasetSubLayer>

Validation

Validation report, or null when no rule pack exists for the product.

public ValidationReport? Validation { get; }

Property Value

ValidationReport

VersionAssessment

Assessment of the declared product edition against the editions implemented by the application, or null.

public SpecVersionAssessment? VersionAssessment { get; }

Property Value

SpecVersionAssessment

ViewingGroups

This dataset's own narrowing of viewing-group visibility, on top of the map-wide ECDIS display settings, or null for none. Unlike IsVisible and Opacity, changing it needs a re-render of the dataset (see ViewingGroups).

public ViewingGroupFilter? ViewingGroups { get; }

Property Value

ViewingGroupFilter