Table of Contents

Class RtzRoute

Namespace
EncDotNet.S100.Routes.Rtz
Assembly
EncDotNet.S100.Routes.Rtz.dll

An RTZ route plan (IEC 61174 Annex S): the route root element with its route info, waypoints, schedules and extensions.

public sealed class RtzRoute
Inheritance
RtzRoute
Inherited Members
Extension Methods

Remarks

The model follows the RTZ schema attribute for attribute. Every element also keeps what this model doesn't name: attributes it doesn't know (or can't parse) in ExtraAttributes, and the children of its extensions element in Extensions. RtzWriter writes both back, so a file read and written again keeps them (Annex S: data a reader doesn't recognise is written back unchanged).

Units are RTZ's: cross-track distances and turn radii in nautical miles, depths, draughts and clearances in metres, speeds in knots, times in UTC.

Properties

DefaultWaypoint

The defaultWaypoint element: values a waypoint or leg takes when it doesn't set its own. Use GetEffectiveRadius(int) and GetEffectiveLeg(int) to read values with the defaults applied.

public RtzDefaultWaypoint? DefaultWaypoint { get; init; }

Property Value

RtzDefaultWaypoint

Extensions

The children of the route's own extensions element.

public IReadOnlyList<XElement> Extensions { get; init; }

Property Value

IReadOnlyList<XElement>

ExtraAttributes

Attributes of route other than version and namespace declarations.

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

Property Value

IReadOnlyDictionary<XName, string>

Info

The routeInfo element.

public RtzRouteInfo Info { get; init; }

Property Value

RtzRouteInfo

NamespaceDeclarations

Namespace prefixes the file declares on route besides RTZ's own (for example stm), so extensions are written with the same prefixes.

public IReadOnlyDictionary<string, string> NamespaceDeclarations { get; init; }

Property Value

IReadOnlyDictionary<string, string>

Schedules

The schedules, in document order.

public IReadOnlyList<RtzSchedule> Schedules { get; init; }

Property Value

IReadOnlyList<RtzSchedule>

SchedulesExtensions

The children of schedules/extensions.

public IReadOnlyList<XElement> SchedulesExtensions { get; init; }

Property Value

IReadOnlyList<XElement>

Version

The RTZ version the file declares, e.g. "1.0" (see RtzVersions).

public string Version { get; init; }

Property Value

string

Waypoints

Waypoints in route order; a valid route has at least two.

public IReadOnlyList<RtzWaypoint> Waypoints { get; init; }

Property Value

IReadOnlyList<RtzWaypoint>

WaypointsExtensions

The children of waypoints/extensions.

public IReadOnlyList<XElement> WaypointsExtensions { get; init; }

Property Value

IReadOnlyList<XElement>

Methods

GetEffectiveLeg(int)

The leg into waypoint index (from the waypoint before it), with every attribute it doesn't set taken from the default waypoint's leg. In RTZ a waypoint's leg describes the leg directed to it, so the first waypoint's leg describes no leg of the route.

public RtzLeg? GetEffectiveLeg(int index)

Parameters

index int

The waypoint's index in Waypoints.

Returns

RtzLeg

The leg, or null when neither the waypoint nor the default sets one.

GetEffectiveRadius(int)

The turn radius of waypoint index, in nautical miles: its own, else the default waypoint's.

public double? GetEffectiveRadius(int index)

Parameters

index int

The waypoint's index in Waypoints.

Returns

double?

The radius, or null when neither sets one.

GetPlanningSchedule()

The schedule a planner reads speeds and times from: the first schedule with a calculated table, else the first with a manual one.

public RtzSchedule? GetPlanningSchedule()

Returns

RtzSchedule

The schedule, or null when there is none with elements.