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
depthDatumint?The charted depth's datum code, or
null.waterLevelDatumint?The water level's datum code, or
null.
Returns
- DatumAgreement
The agreement.