Table of Contents

Class S201AtonInventory

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

Strongly-typed projection of an S201Dataset as an authoritative AtoN inventory (S-201 Edition 2.0.0).

public sealed class S201AtonInventory
Inheritance
S201AtonInventory
Inherited Members

Remarks

The inventory exposes typed AtoN objects (structures, equipment, lights, electronic AIS aids), back-resolved equipment ↔ host-structure subordination chains, lifecycle attributes, AtoN status timelines, and aggregation / association graphs.

Projection issues — unresolved xlinks, attribute parse failures, duplicate identifiers — 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).

Distinct from S-125: the S-201 typed model exposes equipment ↔ host-structure subordination, AtoN lifecycle, AtoN status timelines, positioning / fixing-method bindings, AIS-AtoN MMSI, and remote-monitoring-system metadata — none of which appear in the (ECDIS-focused) S-125 typed model.

Properties

Aggregations

AtoN aggregations declared in the dataset.

public IReadOnlyList<S201AtonAggregation> Aggregations { get; init; }

Property Value

IReadOnlyList<S201AtonAggregation>

Associations

AtoN associations declared in the dataset.

public IReadOnlyList<S201AtonAssociation> Associations { get; init; }

Property Value

IReadOnlyList<S201AtonAssociation>

AtoNs

Every AtoN object in the dataset, in source order.

public required IReadOnlyList<S201AtonObject> AtoNs { get; init; }

Property Value

IReadOnlyList<S201AtonObject>

DatasetIdentifier

The dataset identifier carried by the source GML Dataset element.

public string? DatasetIdentifier { get; init; }

Property Value

string

ElectronicAtoNs

Typed view of AtoNs filtered to S201ElectronicAtoNs.

public IReadOnlyList<S201ElectronicAtoN> ElectronicAtoNs { get; init; }

Property Value

IReadOnlyList<S201ElectronicAtoN>

Equipment

Typed view of AtoNs filtered to S201Equipment (includes lights).

public IReadOnlyList<S201Equipment> Equipment { get; init; }

Property Value

IReadOnlyList<S201Equipment>

FixingMethods

Fixing-method records (FC: AtoNFixingMethod).

public IReadOnlyList<S201AtoNFixingMethodRecord> FixingMethods { get; init; }

Property Value

IReadOnlyList<S201AtoNFixingMethodRecord>

PositioningInformation

Positioning information records (FC: PositioningInformation).

public IReadOnlyList<S201PositioningInformationRecord> PositioningInformation { get; init; }

Property Value

IReadOnlyList<S201PositioningInformationRecord>

ProductIdentifier

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

public string? ProductIdentifier { get; init; }

Property Value

string

Source

The originating feature-bag dataset.

public required S201Dataset Source { get; init; }

Property Value

S201Dataset

SpatialQualities

Spatial quality records (FC: SpatialQuality).

public IReadOnlyList<S201SpatialQuality> SpatialQualities { get; init; }

Property Value

IReadOnlyList<S201SpatialQuality>

StatusInformation

AtoN status information records (FC: AtonStatusInformation).

public IReadOnlyList<S201AtonStatusInformation> StatusInformation { get; init; }

Property Value

IReadOnlyList<S201AtonStatusInformation>

Structures

Typed view of AtoNs filtered to S201StructureObjects.

public IReadOnlyList<S201StructureObject> Structures { get; init; }

Property Value

IReadOnlyList<S201StructureObject>

Methods

From(S201Dataset, out IReadOnlyList<ProjectionDiagnostic>)

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

public static S201AtonInventory From(S201Dataset dataset, out IReadOnlyList<ProjectionDiagnostic> diagnostics)

Parameters

dataset S201Dataset
diagnostics IReadOnlyList<ProjectionDiagnostic>

Returns

S201AtonInventory

Exceptions

InvalidOperationException

Thrown if the dataset contains neither features nor information types.