Class GmlDatasetMetadata
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
specNamestringThe product-specification short name (e.g.
"S-124").declaredEditionstringThe dataset's declared product edition (e.g.
"2.0.0"), ornull; parsed into the Edition when present and well-formed.featuresIEnumerable<IS100Feature>The parsed feature instances.
Returns
- DatasetMetadata
The lightweight, product-agnostic dataset metadata.