Class S421Leg
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
Draft
FC code routeWaypointLegDraft (metres).
public double? Draft { get; init; }
Property Value
DynamicUnderKeelClearance
FC code routeWaypointLegDynamicUKC (metres).
public double? DynamicUnderKeelClearance { get; init; }
Property Value
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
ExtraAttributes
Unrecognised / extension attributes preserved verbatim.
public required IReadOnlyDictionary<string, string> ExtraAttributes { get; init; }
Property Value
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
Note
FC code routeWaypointLegNote.
public string? Note { get; init; }
Property Value
PortChannelLimit
FC code routeWaypointLegPortCL (metres).
public double? PortChannelLimit { get; init; }
Property Value
PortCrossTrackDistanceLimit
FC code routeWaypointLegPortXTDL (metres).
public double? PortCrossTrackDistanceLimit { get; init; }
Property Value
SafetyContour
FC code routeWaypointLegSafetyContour (metres).
public double? SafetyContour { get; init; }
Property Value
SafetyDepth
FC code routeWaypointLegSafetyDepth (metres).
public double? SafetyDepth { get; init; }
Property Value
SafetyMargin
FC code routeWaypointLegSafetyMargin (metres).
public double? SafetyMargin { get; init; }
Property Value
SpeedOverGroundMax
FC code routeWaypointLegSOGMax (knots).
public double? SpeedOverGroundMax { get; init; }
Property Value
SpeedOverGroundMin
FC code routeWaypointLegSOGMin (knots).
public double? SpeedOverGroundMin { get; init; }
Property Value
SpeedThroughWaterMax
FC code routeWaypointLegSTWMax (knots).
public double? SpeedThroughWaterMax { get; init; }
Property Value
SpeedThroughWaterMin
FC code routeWaypointLegSTWMin (knots).
public double? SpeedThroughWaterMin { get; init; }
Property Value
StarboardChannelLimit
FC code routeWaypointLegStarboardCL (metres).
public double? StarboardChannelLimit { get; init; }
Property Value
StarboardCrossTrackDistanceLimit
FC code routeWaypointLegStarboardXTDL (metres).
public double? StarboardCrossTrackDistanceLimit { get; init; }
Property Value
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
StaticUnderKeelClearance
FC code routeWaypointLegStaticUKC (metres).
public double? StaticUnderKeelClearance { get; init; }