Table of Contents

Class VerticalDatumCheck

Namespace
EncDotNet.S100.Navigation
Assembly
EncDotNet.S100.Navigation.dll

Compares the vertical datums of a charted depth and a water level.

public static class VerticalDatumCheck
Inheritance
VerticalDatumCheck
Inherited Members

Remarks

S-102 depths are referred to the vertical datum in the root group's verticalDatum attribute (S-102 Ed 3.0.0 §5.3 and §10.2.1, Table 10-2). S-104 heights are referred to their own verticalDatum (S-104 Ed 2.0.0 §5.2, Table 5-1), and the specification requires it to be consistent with the underlying S-101 and S-102 datasets, with conflicts resolved with the producer. Adding a height to a depth on a different datum gives a wrong total, so the passage check doesn't apply the water level when the codes differ, and reports the mismatch.

Both products use the same S-100 vertical datum code list, so equal codes are the same datum. Only verticalDatumReference = 1 (S-100 codes) is allowed in S-102, so codes are compared directly.

Methods

Compare(int?, int?)

Compares two datum codes. A code that isn't in the S-100 vertical datum list (such as an EPSG code written into verticalDatum by a pre-release producer) counts as undeclared.

public static DatumAgreement Compare(int? depthDatum, int? waterLevelDatum)

Parameters

depthDatum int?

The charted depth's datum code, or null.

waterLevelDatum int?

The water level's datum code, or null.

Returns

DatumAgreement

The agreement.