Class S131HarbourInfrastructureDataset
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
ContactDetails
Typed view of InformationTypes filtered to S131ContactDetails.
public IReadOnlyList<S131ContactDetails> ContactDetails { get; init; }
Property Value
DatasetIdentifier
The dataset identifier carried by the source GML Dataset element.
public string? DatasetIdentifier { get; init; }
Property Value
Features
Every typed feature in the dataset, in source order.
public required IReadOnlyList<IS131Feature> Features { get; init; }
Property Value
HarbourInfrastructure
Typed view of Features filtered to S131HarbourInfrastructure.
public IReadOnlyList<S131HarbourInfrastructure> HarbourInfrastructure { get; init; }
Property Value
InformationTypes
Every typed information type in the dataset, in source order.
public required IReadOnlyList<IS131InformationType> InformationTypes { get; init; }
Property Value
LayoutFeatures
Typed view of Features filtered to S131LayoutFeature.
public IReadOnlyList<S131LayoutFeature> LayoutFeatures { get; init; }
Property Value
MetadataFeatures
Typed view of Features filtered to S131MetadataFeature.
public IReadOnlyList<S131MetadataFeature> MetadataFeatures { get; init; }
Property Value
OtherFeatures
Typed view of Features filtered to S131OtherFeature (FC misses).
public IReadOnlyList<S131OtherFeature> OtherFeatures { get; init; }
Property Value
ProductIdentifier
The S-131 product identifier (typically "S-131").
public string? ProductIdentifier { get; init; }
Property Value
RxNInformation
Typed view of InformationTypes filtered to S131RxNInformation.
public IReadOnlyList<S131RxNInformation> RxNInformation { get; init; }
Property Value
Source
The originating raw feature-bag dataset.
public required S131Dataset Source { get; init; }
Property Value
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
datasetS131DatasetThe source dataset to project.
diagnosticsIReadOnlyList<ProjectionDiagnostic>Receives the accumulated projection diagnostics (unresolved xlinks, parse failures, unknown codes, duplicate identifiers) as an immutable snapshot.
Returns
Exceptions
- ArgumentNullException
If
datasetisnull.- InvalidOperationException
Thrown if the dataset contains neither features nor information types.