Table of Contents

Class GmlDatasetMetadata

Namespace
EncDotNet.S100.Core.Gml
Assembly
EncDotNet.S100.Core.dll

Shared helper that builds a lightweight DatasetMetadata for the GML-encoded S-100 products (S-122/124/125/127/128/129/131/201/411/421) from their common shape — a product name, an optional declared edition, and a list of IS100Feature instances (issue #460).

public static class GmlDatasetMetadata
Inheritance
GmlDatasetMetadata
Inherited Members

Remarks

GML is the weakest case for phased loading: S-100 Part 10b datasets carry no reliable header-level minimum bounding rectangle, so the extent is derived by folding together every feature's geometry — which means the GML document must already be parsed. The phased win over a full load is therefore not avoiding the parse but skipping the portrayal pipeline (XSLT / Lua transforms, catalogue resolution, drawing-instruction execution).

The extent is the raw geometric envelope with no portrayal padding, in WGS-84 (EPSG:4326) — S-100 Part 10b geometry is always geographic — so HorizontalCrsEpsg is left null. When the dataset carries no coordinate-bearing geometry (e.g. a catalogue of container-only Authority features) the extent is null and the host should fall back to a full load.

Methods

Create(string, string?, IEnumerable<IS100Feature>)

Builds the metadata for a GML dataset.

public static DatasetMetadata Create(string specName, string? declaredEdition, IEnumerable<IS100Feature> features)

Parameters

specName string

The product-specification short name (e.g. "S-124").

declaredEdition string

The dataset's declared product edition (e.g. "2.0.0"), or null; parsed into the Edition when present and well-formed.

features IEnumerable<IS100Feature>

The parsed feature instances.

Returns

DatasetMetadata

The lightweight, product-agnostic dataset metadata.