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
Properties
Name
The check's name in the report, such as "chart" or "clearance".
public string Name { get; }
Property Value
Methods
Run(RouteCheckContext, CancellationToken)
Runs the check.
public RouteCheckOutcome<AreaCheckResult> Run(RouteCheckContext context, CancellationToken cancellationToken = default)
Parameters
contextRouteCheckContextThe plan, settings, sources and shared track.
cancellationTokenCancellationTokenCancels 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.