Table of Contents

Class AreaCheck

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

The area check, built into RouteChecker: checks the route against regulated areas (#956): S-101 restricted, military practice, caution, anchorage and traffic areas, and S-122 marine protected and restricted areas. It finds which the track enters or which reach inside its cross-track limits, and whether each is in force while the vessel is there.

public sealed class AreaCheck : IRouteCheck<AreaCheckResult>, IRouteCheck
Inheritance
AreaCheck
Implements
Inherited Members

Remarks

The corridor geometry is the S-124 check's (WarningCheck): each leg is cut into short pieces and compared with the areas, holes included, in a local plane. Where S-101 cells overlap, an area counts only when its cell is in the finest band of the cells covering the place where the route first meets it (#947), as for the chart checks, so a coarse cell's copy of an area a finer cell also charts gives no second finding.

Time: fixedDateRange and periodicDateRange are judged over the ETAs where the vessel is in the area when the legs have speeds, otherwise at the departure (TimeAt(int, double)). A season repeats each year by month and day and may run over the new year. An area with both must be in both; a date that can't be read counts as open, so an area is never dropped for want of a date. An area not in force while the vessel is there stays in the list as INFO AreaNotInForce rather than being dropped, as S-124 warnings that aren't in force are (#957).

Severity: an S-101 area whose restriction is entry prohibited or entry restricted is MUST REVIEW when the track enters it, which the verdict ranks just after land and drying ground. Other areas are CHECK, or INFO when their restrictions don't bear on a passage (fishing, anchoring, dredging and the like) or for an inshore traffic zone. An area that only reaches inside the cross-track limits is one group lighter. S-122 areas are never MUST REVIEW: CHECK, or INFO by restriction as above.

Skipped without areas (AreasMissing). Its Detail is the AreaCheckResult.

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

Fields

CheckName

The check's Name.

public const string CheckName = "areas"

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<AreaCheckResult> Run(RouteCheckContext context, CancellationToken cancellationToken = default)

Parameters

context RouteCheckContext

The plan, settings, sources and shared track.

cancellationToken CancellationToken

Cancels the check.

Returns

RouteCheckOutcome<AreaCheckResult>

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

Exceptions

ArgumentOutOfRangeException

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