Table of Contents

Class S125AtonDataset

Namespace
EncDotNet.S100.Datasets.S125.DataModel
Assembly
EncDotNet.S100.Datasets.S125.dll

Strongly-typed projection of an S125Dataset as a collection of aids to navigation plus supporting status / quality information types (S-125 Edition 1.0.0).

public sealed class S125AtonDataset
Inheritance
S125AtonDataset
Inherited Members

Remarks

The projection mirrors the S-421 / S-124 pattern: a static From(S125Dataset, out IReadOnlyList<ProjectionDiagnostic>) factory walks the source feature bag and produces a graph of typed shapes (S125Buoy, S125Beacon, S125Light, S125AisAton, S125Structure, S125Equipment) implementing the common IS125Aid contract. Each aid has its Status resolved by following the source feature's AtoNStatus information binding, and its HostStructure resolved by following the parent role of the StructureEquipment feature association.

Projection issues — unresolved xlinks, attribute parse failures — surface as ProjectionDiagnostic entries rather than exceptions. The projection only throws when the source dataset has no features and no information types (i.e. is fully empty).

Properties

Aggregations

All AtoN aggregations / associations in the dataset.

public required IReadOnlyList<S125Aggregation> Aggregations { get; init; }

Property Value

IReadOnlyList<S125Aggregation>

Aids

All typed aids to navigation in the dataset (buoys, beacons, lights, AIS aids, structures, equipment).

public required IReadOnlyList<IS125Aid> Aids { get; init; }

Property Value

IReadOnlyList<IS125Aid>

DatasetIdentifier

The dataset identifier carried by the source GML Dataset element.

public string? DatasetIdentifier { get; init; }

Property Value

string

OtherFeatures

All other S-125 features that are not modeled as typed aids (lines, areas, metadata features — see S125OtherFeature).

public required IReadOnlyList<S125OtherFeature> OtherFeatures { get; init; }

Property Value

IReadOnlyList<S125OtherFeature>

ProductIdentifier

The S-125 product identifier (typically "S-125").

public string? ProductIdentifier { get; init; }

Property Value

string

Source

The originating feature-bag dataset.

public required S125Dataset Source { get; init; }

Property Value

S125Dataset

SpatialQualities

All SpatialQuality info types in the dataset.

public required IReadOnlyList<S125SpatialQuality> SpatialQualities { get; init; }

Property Value

IReadOnlyList<S125SpatialQuality>

StatusIndications

All AtonStatusIndication features in the dataset.

public required IReadOnlyList<S125AtonStatusIndication> StatusIndications { get; init; }

Property Value

IReadOnlyList<S125AtonStatusIndication>

StatusInformation

All AtonStatusInformation info types in the dataset, keyed by GML id.

public required IReadOnlyList<S125AtonStatusInformation> StatusInformation { get; init; }

Property Value

IReadOnlyList<S125AtonStatusInformation>

Methods

From(S125Dataset, out IReadOnlyList<ProjectionDiagnostic>)

Projects a feature-bag S125Dataset into the typed data model. Issues encountered during projection are reported via diagnostics; the projection only throws for a fully empty source.

public static S125AtonDataset From(S125Dataset dataset, out IReadOnlyList<ProjectionDiagnostic> diagnostics)

Parameters

dataset S125Dataset

The source dataset to project.

diagnostics IReadOnlyList<ProjectionDiagnostic>

Receives the accumulated projection diagnostics (unresolved xlinks, parse failures, etc.) as an immutable snapshot.

Returns

S125AtonDataset

Exceptions

ArgumentNullException

If dataset is null.

InvalidOperationException

Thrown if the dataset contains neither features nor information types.