Table of Contents

Namespace EncDotNet.S100.DataModel

Classes

AttributeParser

Permissive primitive parsers used by strongly-typed projections. Each helper returns the parsed value or null, and on parse failure records a Warning on the supplied ProjectionContext with a stable diagnostic code.

AxisOrderAssessment

The result of Assess(IEnumerable<GeoPosition>, BoundingBox?, string?, bool, bool): whether a dataset's positions are latitude first, the evidence behind the decision, and the counts that support it. Readers attach it to the dataset model so hosts can report it (s100 info, validation findings, the viewer's dataset list).

AxisOrderCheck

The shared, dataset-level check for swapped latitude and longitude in producer data (issue #650). Every coverage, station and GML reader runs it once per dataset, after reading the positions as encoded, and applies the outcome to the whole dataset, never per coordinate.

CellScaleRanking

Ranks overlapping chart cells by scale, finest first. One rule for every consumer that has to choose between cells covering the same place: the display's cross-cell overlap suppression (issue #438), the headless compositor (#859) and the charted depth used by the passage check and the pick report (#938).

CoverageArea

A single polygonal region of a dataset's declared data coverage, expressed in WGS-84 (EPSG:4326). Corresponds to one DataCoverage surface feature (S-101 FC §3.1.1; the S-57 M_COVR meta-object translated to DataCoverage), whose exterior ring bounds the covered area and whose interior rings punch no-coverage holes.

ExtraAttributes

Helpers for the ExtraAttributes dictionary that every typed object exposes — a verbatim preservation of any attribute the typed projection did not consume.

ProjectionContext

Mutable scratchpad threaded through a typed-model projection. Bundles the diagnostic collector, the XlinkResolver, and convenience accessors so projection authors can keep their From(...) factories concise.

ProjectionDiagnostic

A diagnostic message emitted while projecting an S-100 feature-bag dataset (e.g. S421Dataset, S124Dataset) into a strongly-typed data model.

S100DateTimes

Parses the date and time values S-100 date ranges carry: a date (S100_TruncatedDate, written as 2026-03-01 or 20260301) with an optional time of day (Time, written as 06:30:00Z or 063000Z), as in the fixedDateRange complex attribute's dateStart/timeOfDayStart and dateEnd/timeOfDayEnd.

VerticalDatums

Helpers for resolving IHO S-100 VerticalDatum codes to human-readable labels.

XlinkResolver

Resolves xlink:href cross-references against a pre-built index of a dataset's features and information types, keyed by gml:id (case-insensitive).

Structs

GeoPosition

A latitude/longitude position in the WGS-84 (EPSG:4326) coordinate reference system used throughout the S-100 framework.

Enums

AxisOrderEvidence

The anchor an axis-order check based its decision on.

AxisOrderOutcome

What a dataset-level axis-order check concluded about a dataset's positions (issue #650).

DiagnosticSeverity

Severity of a ProjectionDiagnostic emitted while projecting a feature-bag dataset into a strongly-typed data model.

VerticalDatum

The IHO S-100 verticalDatum enumeration (the reference level used for vertical measurements such as sounding reduction and heights). The codes are the shared S-100 register values (source identifier 996) carried by the verticalDatum attribute of HDF5-encoded coverage products (S-102, S-104, S-111) and by GML-encoded feature products.