Class S128Dataset
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
DatasetIdentifier
The dataset identifier (gml:id of the dataset root).
public string? DatasetIdentifier { get; init; }
Property Value
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
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
Features
Feature instances contained in the dataset.
public required IReadOnlyList<S128Feature> Features { get; init; }
Property Value
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
ProductIdentifier
The product specification identifier (e.g. "S-128").
public string? ProductIdentifier { get; init; }
Property Value
Methods
Open(Stream)
Opens an S-128 dataset from a stream.
public static S128Dataset Open(Stream stream)
Parameters
streamStream
Returns
Open(string)
Opens an S-128 dataset from a file path.
public static S128Dataset Open(string path)
Parameters
pathstring
Returns
ReadMetadata()
Produces the lightweight DatasetMetadata for this parsed dataset: declared specification and raw geographic extent (issue #460).
public DatasetMetadata ReadMetadata()
Returns
ReadMetadata(Stream)
Reads only the lightweight DatasetMetadata for an S-128
dataset from stream (issue #460).
public static DatasetMetadata ReadMetadata(Stream stream)
Parameters
streamStream
Returns
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
pathstring