Class MapDataset
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
idMapDatasetIdStable identity assigned by the host.
namestringHuman-readable, non-localized dataset name.
metadataDatasetMetadataProduct, extent, scale, CRS, and time metadata.
isVisibleboolWhether the dataset is visually enabled.
isActiveboolWhether the dataset participates in cross-product composition and queries.
opacitydoubleDataset opacity in the inclusive range 0..1.
availableTimesIReadOnlyList<DateTime>Materialized time samples, in source order.
currentTimeDateTime?Time sample currently portrayed, if any.
subLayersIReadOnlyList<MapDatasetSubLayer>Renderer-neutral sub-layer display state.
validationValidationReportValidation report, or
nullwhen no rule pack exists.versionAssessmentSpecVersionAssessmentAssessment of the declared product edition against implemented editions.
viewingGroupsViewingGroupFilterThis dataset's own narrowing of viewing-group visibility, or
null.hiddenFeaturesIReadOnlySet<string>Ids of this dataset's features the host doesn't want drawn, or
null.portrayalTimePortrayalTimeThe time date-dependent instructions are drawn at, or
nullto draw them all.
Exceptions
- ArgumentException
idis the default value, ornameis empty or consists only of white-space characters.- ArgumentNullException
metadataisnull.- ArgumentOutOfRangeException
opacityis not finite or lies outside 0..1.
Properties
AvailableTimes
Materialized time samples, in source order.
public IReadOnlyList<DateTime> AvailableTimes { get; }
Property Value
CurrentTime
Time sample currently portrayed, or null.
public DateTime? CurrentTime { get; }
Property Value
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
HasTimeSteps
Whether at least one time sample is available.
public bool HasTimeSteps { get; }
Property Value
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
Id
Stable identity assigned by the host.
public MapDatasetId Id { get; }
Property Value
IsActive
Whether the dataset participates in cross-product composition and queries.
public bool IsActive { get; }
Property Value
IsVisible
Whether the dataset is visually enabled.
public bool IsVisible { get; }
Property Value
Metadata
Product, extent, scale, CRS, and time metadata.
public DatasetMetadata Metadata { get; }
Property Value
Name
Human-readable, non-localized dataset name.
public string Name { get; }
Property Value
Opacity
Dataset opacity in the inclusive range 0..1.
public double Opacity { get; }
Property Value
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
SubLayers
Renderer-neutral sub-layer display state.
public IReadOnlyList<MapDatasetSubLayer> SubLayers { get; }
Property Value
Validation
Validation report, or null when no rule pack exists for the
product.
public ValidationReport? Validation { get; }
Property Value
VersionAssessment
Assessment of the declared product edition against the editions
implemented by the application, or null.
public SpecVersionAssessment? VersionAssessment { get; }
Property Value
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; }