Table of Contents

Class S131HarbourInfrastructureDataset

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

Strongly-typed "Pass 2" projection of an S131Dataset as a graph of typed harbour-infrastructure features and information types (S-131 Edition 2.0.0 feature and portrayal catalogues).

public sealed class S131HarbourInfrastructureDataset
Inheritance
S131HarbourInfrastructureDataset
Inherited Members

Remarks

The projection follows the same pattern used by the other GML-encoded products (S-122 / S-124 / S-125 / S-127 / S-128 / S-129 / S-201 / S-411 / S-421): a static From(S131Dataset, out IReadOnlyList<ProjectionDiagnostic>) factory walks the raw feature bag, builds an XlinkResolver over every addressable gml:id, and emits typed records with resolved cross-references. Issues surface as ProjectionDiagnostic entries rather than exceptions; the only fatal condition is a fully empty source dataset.

Feature-type discrimination is performed against the static FC enum lists in S131Types.cs; the projection does not walk the FC supertype graph at runtime. Schema-level introspection is handled by the Feature Catalogue reader and the Lua data provider (see S131LuaDataProvider).

Portrayal stays untouched. The typed model is independent of S131LuaDataProvider / S131LuaRuleExecutor — portrayal continues to consume the raw S131Feature graph through the Lua Host API.

Properties

Authorities

Typed view of InformationTypes filtered to S131Authority.

public IReadOnlyList<S131Authority> Authorities { get; init; }

Property Value

IReadOnlyList<S131Authority>

ContactDetails

Typed view of InformationTypes filtered to S131ContactDetails.

public IReadOnlyList<S131ContactDetails> ContactDetails { get; init; }

Property Value

IReadOnlyList<S131ContactDetails>

DatasetIdentifier

The dataset identifier carried by the source GML Dataset element.

public string? DatasetIdentifier { get; init; }

Property Value

string

Features

Every typed feature in the dataset, in source order.

public required IReadOnlyList<IS131Feature> Features { get; init; }

Property Value

IReadOnlyList<IS131Feature>

HarbourInfrastructure

Typed view of Features filtered to S131HarbourInfrastructure.

public IReadOnlyList<S131HarbourInfrastructure> HarbourInfrastructure { get; init; }

Property Value

IReadOnlyList<S131HarbourInfrastructure>

InformationTypes

Every typed information type in the dataset, in source order.

public required IReadOnlyList<IS131InformationType> InformationTypes { get; init; }

Property Value

IReadOnlyList<IS131InformationType>

LayoutFeatures

Typed view of Features filtered to S131LayoutFeature.

public IReadOnlyList<S131LayoutFeature> LayoutFeatures { get; init; }

Property Value

IReadOnlyList<S131LayoutFeature>

MetadataFeatures

Typed view of Features filtered to S131MetadataFeature.

public IReadOnlyList<S131MetadataFeature> MetadataFeatures { get; init; }

Property Value

IReadOnlyList<S131MetadataFeature>

OtherFeatures

Typed view of Features filtered to S131OtherFeature (FC misses).

public IReadOnlyList<S131OtherFeature> OtherFeatures { get; init; }

Property Value

IReadOnlyList<S131OtherFeature>

ProductIdentifier

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

public string? ProductIdentifier { get; init; }

Property Value

string

RxNInformation

Typed view of InformationTypes filtered to S131RxNInformation.

public IReadOnlyList<S131RxNInformation> RxNInformation { get; init; }

Property Value

IReadOnlyList<S131RxNInformation>

Source

The originating raw feature-bag dataset.

public required S131Dataset Source { get; init; }

Property Value

S131Dataset

Methods

From(S131Dataset, out IReadOnlyList<ProjectionDiagnostic>)

Projects a raw S131Dataset into the typed data model. Issues encountered during projection are reported via diagnostics; the projection only throws when the source dataset is fully empty.

public static S131HarbourInfrastructureDataset From(S131Dataset dataset, out IReadOnlyList<ProjectionDiagnostic> diagnostics)

Parameters

dataset S131Dataset

The source dataset to project.

diagnostics IReadOnlyList<ProjectionDiagnostic>

Receives the accumulated projection diagnostics (unresolved xlinks, parse failures, unknown codes, duplicate identifiers) as an immutable snapshot.

Returns

S131HarbourInfrastructureDataset

Exceptions

ArgumentNullException

If dataset is null.

InvalidOperationException

Thrown if the dataset contains neither features nor information types.