Class S125AtonDataset
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
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
DatasetIdentifier
The dataset identifier carried by the source GML Dataset element.
public string? DatasetIdentifier { get; init; }
Property Value
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
ProductIdentifier
The S-125 product identifier (typically "S-125").
public string? ProductIdentifier { get; init; }
Property Value
Source
The originating feature-bag dataset.
public required S125Dataset Source { get; init; }
Property Value
SpatialQualities
All SpatialQuality info types in the dataset.
public required IReadOnlyList<S125SpatialQuality> SpatialQualities { get; init; }
Property Value
StatusIndications
All AtonStatusIndication features in the dataset.
public required IReadOnlyList<S125AtonStatusIndication> StatusIndications { get; init; }
Property Value
StatusInformation
All AtonStatusInformation info types in the dataset, keyed by GML id.
public required IReadOnlyList<S125AtonStatusInformation> StatusInformation { get; init; }
Property Value
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
datasetS125DatasetThe source dataset to project.
diagnosticsIReadOnlyList<ProjectionDiagnostic>Receives the accumulated projection diagnostics (unresolved xlinks, parse failures, etc.) as an immutable snapshot.
Returns
Exceptions
- ArgumentNullException
If
datasetisnull.- InvalidOperationException
Thrown if the dataset contains neither features nor information types.