Class RtzRoute
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
Extensions
The children of the route's own extensions element.
public IReadOnlyList<XElement> Extensions { get; init; }
Property Value
ExtraAttributes
Attributes of route other than version and namespace declarations.
public IReadOnlyDictionary<XName, string> ExtraAttributes { get; init; }
Property Value
Info
The routeInfo element.
public RtzRouteInfo Info { get; init; }
Property Value
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
Schedules
The schedules, in document order.
public IReadOnlyList<RtzSchedule> Schedules { get; init; }
Property Value
SchedulesExtensions
The children of schedules/extensions.
public IReadOnlyList<XElement> SchedulesExtensions { get; init; }
Property Value
Version
The RTZ version the file declares, e.g. "1.0" (see RtzVersions).
public string Version { get; init; }
Property Value
Waypoints
Waypoints in route order; a valid route has at least two.
public IReadOnlyList<RtzWaypoint> Waypoints { get; init; }
Property Value
WaypointsExtensions
The children of waypoints/extensions.
public IReadOnlyList<XElement> WaypointsExtensions { get; init; }
Property Value
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
Returns
- RtzLeg
The leg, or
nullwhen 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
Returns
- double?
The radius, or
nullwhen 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
nullwhen there is none with elements.