Table of Contents

Class S101DepthShift

Namespace
EncDotNet.S100.Datasets.S101
Assembly
EncDotNet.S100.Datasets.S101.dll

Water level added to the depth values the S-101 portrayal rules read (S-98 Appendix D-3.1, chart-wide water level adjustment). The rules then shade, contour and label the adjusted depths against the mariner's unchanged thresholds.

public sealed class S101DepthShift
Inheritance
S101DepthShift
Inherited Members

Remarks

A feature's depth attributes (depthRangeMinimumValue, depthRangeMaximumValue, valueOfDepthContour, valueOfSounding, surroundingDepth, defaultClearanceDepth) get that feature's water level. Each sounding of a multipoint gets the water level at its own position. Depths are positive down and water level positive up, so both are added.

Constructors

S101DepthShift(IReadOnlyDictionary<uint, double>, Func<double, double, double?>)

Creates the shift.

public S101DepthShift(IReadOnlyDictionary<uint, double> features, Func<double, double, double?> soundings)

Parameters

features IReadOnlyDictionary<uint, double>

The water level for each feature record id whose depth attributes are shifted.

soundings Func<double, double, double?>

The water level at a sounding's position (latitude, longitude), or null to leave it charted.

Properties

DepthAttributes

The attributes that hold a depth.

public static IReadOnlySet<string> DepthAttributes { get; }

Property Value

IReadOnlySet<string>

Methods

ForFeature(uint)

The water level for a feature's depth attributes, if it has one.

public double? ForFeature(uint featureId)

Parameters

featureId uint

The feature record id.

Returns

double?

The water level in metres, or null.

ForSounding(double, double)

The water level for a sounding at a position, if it has one.

public double? ForSounding(double latitude, double longitude)

Parameters

latitude double

Latitude in decimal degrees.

longitude double

Longitude in decimal degrees.

Returns

double?

The water level in metres, or null.