Table of Contents

Class WarningCheck

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

The warning check, built into RouteChecker: checks the route against navigational warnings (S-124 Editions 1.0.0 and 2.0.0, #957): which cross its corridor or come near it, and whether each is in force while the vessel is there.

public sealed class WarningCheck : IRouteCheck<WarningCheckResult>, IRouteCheck
Inheritance
WarningCheck
Implements
Inherited Members

Remarks

Each leg is cut into short pieces; within a piece the track, the warning's lines and areas and the corridor are compared in a local plane, so crossings are exact to the piece's straightness. A line or area Crosses when it touches the track or comes within the leg's cross-track limit on its side. A warning is Near when it comes within NearDistanceMeters of the track; a point inside the corridor is near too, since a position can't be crossed.

The time is the ETA over the stretch where the vessel meets the warning when the legs have speeds, otherwise the departure (TimeAt(int, double)). A warning is in force when a validity range overlaps that time (no range: in force until cancelled). It is cancelled when WithdrawnAt(NavigationalWarningInfo, DateTimeOffset) withdraws it by the time the vessel gets there: its cancellation date (Edition 2.0.0), another warning that cancels it and was published by then (one with no publication time, as in Edition 1.0.0, cancels at once), or the latest in-force bulletin for its series leaving it out (ยง9.2.1). The Warning card and the Navigational warnings panel judge with the same set.

Severity (#958 handoff, decision 10): crosses and in force โ†’ MUST REVIEW; near and in force โ†’ CHECK; on or near the route but not in force, or cancelled โ†’ INFO with the reason. Warnings off the route give no finding.

Skipped without warnings (WarningsMissing). Its Detail is the WarningCheckResult.

This is an aid for exploring the data. It isn't for navigation.

Fields

CheckName

The check's Name.

public const string CheckName = "warnings"

Field Value

string

Properties

Name

The check's name in the report, such as "chart" or "clearance".

public string Name { get; }

Property Value

string

Methods

Run(RouteCheckContext, CancellationToken)

Runs the check.

public RouteCheckOutcome<WarningCheckResult> Run(RouteCheckContext context, CancellationToken cancellationToken = default)

Parameters

context RouteCheckContext

The plan, settings, sources and shared track.

cancellationToken CancellationToken

Cancels the check.

Returns

RouteCheckOutcome<WarningCheckResult>

The findings and the check's own result, or why the check was skipped.

Exceptions

ArgumentOutOfRangeException

SegmentLengthMeters isn't positive, MaxSegmentsPerLeg is less than 1, or NearDistanceMeters is negative.