Table of Contents

Class S421Leg

Namespace
EncDotNet.S100.Datasets.S421.DataModel
Assembly
EncDotNet.S100.Datasets.S421.dll

Strongly-typed projection of an S-421 RouteWaypointLeg feature. Spec reference: S-421 Annex A "RouteWaypointLeg" (FC).

public sealed class S421Leg
Inheritance
S421Leg
Inherited Members

Properties

Coordinates

The leg's curve geometry as an ordered sequence of positions.

public required IReadOnlyList<GeoPosition> Coordinates { get; init; }

Property Value

IReadOnlyList<GeoPosition>

Draft

FC code routeWaypointLegDraft (metres).

public double? Draft { get; init; }

Property Value

double?

DynamicUnderKeelClearance

FC code routeWaypointLegDynamicUKC (metres).

public double? DynamicUnderKeelClearance { get; init; }

Property Value

double?

EndWaypoint

The waypoint at the end of this leg — the next waypoint in route order after StartWaypoint. Populated during projection in a second pass after all waypoints and legs are materialised; see From(S421Dataset, out IReadOnlyList<ProjectionDiagnostic>). Nullable to tolerate malformed fixtures where the originating waypoint has no successor. Spec reference: S-421 Annex A "RouteWaypointLeg" / "RouteWaypoint" (FC) — a leg connects two consecutive waypoints in route order.

public S421Waypoint? EndWaypoint { get; }

Property Value

S421Waypoint

ExtraAttributes

Unrecognised / extension attributes preserved verbatim.

public required IReadOnlyDictionary<string, string> ExtraAttributes { get; init; }

Property Value

IReadOnlyDictionary<string, string>

GeometryTypeCode

FC code routeWaypointLegGeometryType as the raw enumerator code (e.g. 1 = Loxodrome, 2 = Geodesic; see S-421 Annex A).

public int? GeometryTypeCode { get; init; }

Property Value

int?

Id

The gml:id of the source RouteWaypointLeg feature.

public required string Id { get; init; }

Property Value

string

Note

FC code routeWaypointLegNote.

public string? Note { get; init; }

Property Value

string

PortChannelLimit

FC code routeWaypointLegPortCL (metres).

public double? PortChannelLimit { get; init; }

Property Value

double?

PortCrossTrackDistanceLimit

FC code routeWaypointLegPortXTDL (metres).

public double? PortCrossTrackDistanceLimit { get; init; }

Property Value

double?

SafetyContour

FC code routeWaypointLegSafetyContour (metres).

public double? SafetyContour { get; init; }

Property Value

double?

SafetyDepth

FC code routeWaypointLegSafetyDepth (metres).

public double? SafetyDepth { get; init; }

Property Value

double?

SafetyMargin

FC code routeWaypointLegSafetyMargin (metres).

public double? SafetyMargin { get; init; }

Property Value

double?

SpeedOverGroundMax

FC code routeWaypointLegSOGMax (knots).

public double? SpeedOverGroundMax { get; init; }

Property Value

double?

SpeedOverGroundMin

FC code routeWaypointLegSOGMin (knots).

public double? SpeedOverGroundMin { get; init; }

Property Value

double?

SpeedThroughWaterMax

FC code routeWaypointLegSTWMax (knots).

public double? SpeedThroughWaterMax { get; init; }

Property Value

double?

SpeedThroughWaterMin

FC code routeWaypointLegSTWMin (knots).

public double? SpeedThroughWaterMin { get; init; }

Property Value

double?

StarboardChannelLimit

FC code routeWaypointLegStarboardCL (metres).

public double? StarboardChannelLimit { get; init; }

Property Value

double?

StarboardCrossTrackDistanceLimit

FC code routeWaypointLegStarboardXTDL (metres).

public double? StarboardCrossTrackDistanceLimit { get; init; }

Property Value

double?

StartWaypoint

The waypoint at the start of this leg — the waypoint whose OutgoingLeg is this leg. Populated during projection in a second pass after all waypoints and legs are materialised; see From(S421Dataset, out IReadOnlyList<ProjectionDiagnostic>). Nullable to tolerate malformed fixtures where the leg is referenced from no waypoint. Spec reference: S-421 Annex A "RouteWaypointLeg" / "RouteWaypoint" (FC) — a leg connects two consecutive waypoints in route order.

public S421Waypoint? StartWaypoint { get; }

Property Value

S421Waypoint

StaticUnderKeelClearance

FC code routeWaypointLegStaticUKC (metres).

public double? StaticUnderKeelClearance { get; init; }

Property Value

double?