Table of Contents

Class S128Dataset

Namespace
EncDotNet.S100.Datasets.S128
Assembly
EncDotNet.S100.Datasets.S128.dll

Root data model for an IHO S-128 (Catalogue of Nautical Products) dataset, parsed from S-100 Part 10b GML encoding via EncDotNet.S100.Datasets.S128.S128DatasetReader.

public sealed class S128Dataset
Inheritance
S128Dataset
Inherited Members

Remarks

S-128 (edition 2.0.0) catalogues describe the nautical products produced by an agency (charts, ENCs, S-1xx services) together with their coverage extents, currency, and distribution metadata. See S-128 § 12 for the Feature Catalogue and § 13 for the Portrayal Catalogue.

Properties

AxisOrder

The outcome of the dataset-level axis-order check (issue #650), or null when the dataset has no positions. When it is Swapped the reader has already read every position longitude first.

public AxisOrderAssessment? AxisOrder { get; init; }

Property Value

AxisOrderAssessment

DatasetIdentifier

The dataset identifier (gml:id of the dataset root).

public string? DatasetIdentifier { get; init; }

Property Value

string

DeclaredEdition

The declared product-specification edition (e.g. "2.0.0") read from DatasetIdentificationInformation/productEdition, or null when the dataset declares none. S-100 Part 10b.

public string? DeclaredEdition { get; init; }

Property Value

string

Entries

Catalogue product entries — the subset of Features whose FeatureType is one of the navigational product classes (ElectronicProduct, PhysicalProduct, S100Service). Built lazily on first access.

public IReadOnlyList<S128ProductEntry> Entries { get; }

Property Value

IReadOnlyList<S128ProductEntry>

Features

Feature instances contained in the dataset.

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

Property Value

IReadOnlyList<S128Feature>

Remarks

In S-128 2.0.0 every member of the catalogue (including metadata records such as DistributorInformation that the FC declares as information types) is encoded as a child of <members> and is rendered through the XSLT portrayal pipeline. The reader therefore surfaces every <member>/<members> child here and reserves InformationTypes for explicit <imember>/<imembers> entries, which are permitted by the encoding for forward compatibility.

InformationTypes

Information type instances carried in <imember> / <imembers> wrappers. Empty for the official 2.0.0 sample.

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

Property Value

IReadOnlyList<S128InformationType>

ProductIdentifier

The product specification identifier (e.g. "S-128").

public string? ProductIdentifier { get; init; }

Property Value

string

Methods

Open(Stream)

Opens an S-128 dataset from a stream.

public static S128Dataset Open(Stream stream)

Parameters

stream Stream

Returns

S128Dataset

Open(string)

Opens an S-128 dataset from a file path.

public static S128Dataset Open(string path)

Parameters

path string

Returns

S128Dataset

ReadMetadata()

Produces the lightweight DatasetMetadata for this parsed dataset: declared specification and raw geographic extent (issue #460).

public DatasetMetadata ReadMetadata()

Returns

DatasetMetadata

ReadMetadata(Stream)

Reads only the lightweight DatasetMetadata for an S-128 dataset from stream (issue #460).

public static DatasetMetadata ReadMetadata(Stream stream)

Parameters

stream Stream

Returns

DatasetMetadata

ReadMetadata(string)

Reads only the lightweight DatasetMetadata for an S-128 dataset at path — its declared specification and geographic extent — for phased / deferred loading (issue #460).

public static DatasetMetadata ReadMetadata(string path)

Parameters

path string

Returns

DatasetMetadata