Class S98SuppressionPolicy
- Namespace
- EncDotNet.S100.Datasets.Pipelines.Interoperability
- Assembly
- EncDotNet.S100.Core.dll
The single source of truth for the S-98 R-101-102-B depth-feature suppression decision: which S-101 skin-of-the-earth feature types an active S-102 bathymetric surface replaces, and the MSC.232(82) §5.8 safety-contour exception that keeps the mariner's safety contour visible.
public static class S98SuppressionPolicy
- Inheritance
-
S98SuppressionPolicy
- Inherited Members
Remarks
The suppression mechanism differs by renderer (the headless path
filters encoding-neutral DrawingInstructions; the Mapsui path builds
its layer from the already-filtered slice), but both consult this policy so
the rule can never drift between backends. Cites S-98 Ed.2.0.0 Annex A
§8.4.1 + Part B §B-3.1.2 + Annex A §A-6.9.1 NOTE + MSC.232(82) §5.8 + IMO
MSC.232(82) Annex 11 §10.5.2.
Fields
SafetyContourTolerance
Depth-value equality tolerance (metres) for the safety-contour
exception. A DepthContour whose VALDCO is within this of the
mariner's safety contour survives suppression.
public const double SafetyContourTolerance = 1E-06
Field Value
SuppressedFeatureTypes
The S-101 feature-type codes an active S-102 dataset suppresses (S-98 Annex A §8.4.1 "skin-of-the-earth feature replacement"). Ordinal S-100 Part 5 codes.
public static readonly IReadOnlySet<string> SuppressedFeatureTypes
Field Value
Methods
ShouldSuppress(string?, object?, double)
Decides whether a single feature should be suppressed given its feature-type code and (for depth contours) its VALDCO depth value.
public static bool ShouldSuppress(string? featureType, object? depthContourValue, double safetyContour)
Parameters
featureTypestringThe S-100 Part 5 feature-type code, or null for a feature that does not trace back to a single type (never suppressed).
depthContourValueobjectThe numeric VALDCO depth for a
DepthContourfeature (any numeric or numeric-string form), or null. Ignored for non-contour types.safetyContourdoubleThe mariner's safety-contour depth. A depth contour equal to this (within SafetyContourTolerance) is preserved.
Returns
TryReadDepth(object?, out double)
Coerces a VALDCO value carried as a boxed numeric or numeric string into a double.
public static bool TryReadDepth(object? raw, out double depth)