Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following pattern should be used for automatically generating the E field text from the AIXM data:

Image RemovedImage Added


Code Block
titleEBNF Code
collapsetrue
template = ["RSG.BL.RouteAvailability.status(1)"] "route segments closed:" \n
{"(2)" "/\n" "RSG.BL.routeFormed(3)" "RSG.BL.start.pointChoice(4)" "-" "RSG.BL.end.pointChoice(5)" "open levels(6)" "direction(7)" {"direction(7)"} {"open levels(6)" "direction(7)" {"direction(7)"}} 
{"(2)" "/n" "RSG.BL.routeFormed(3)" "RSG.BL.start.pointChoice(4)" "-" "RSG.BL.end.pointChoice(5)" "open levels(6)" "direction(7)" {"direction(7)"}{"open levels(6)" "direction(\n
{"(7)" {"direction(7)"}}} \n
{"(8)" "/n" "RSG.BL.routeFormed(3)" "RSG.BL.start.pointChoice(4)" "-" "RSG.BL.end.pointChoice(5)" "baseline levels(9)" "direction(7)" {"direction(7)"} {"baseline levels(9)" "direction(78)" {"direction(7)"}} "remain" "RSG.TD.RouteAvailability.status(109)"} \n
{"." "/\n" "RSG.TD.RouteAvailability.annotation(1110)"} "." .

Reference

Data item (from coding scenario)

Rule

(1)

route availability

If for each and everyone of the RSG.TD.RouteSegment that are concerned by the Event, during the times (considering an eventual schedule) and at the vertical levels covered by TD having RSG.TD.RouteAvailability='CLSD' the RSG.BL.RouteAvailability.status='COND' and RSG.BL.RouteAvailability(extension).ADR:conditionalRouteType='CDR1', then insert the text "CDR1". Otherwise insert the text "ATS"

(2)

route designator, start point, end point

Identify the route portions concerned and repeat steps from 3 to 5 for each route portion. To identify the route portions, order the RouteSegments associated with the Event:

  • first sort by the designatorPrefix, designatorSecondLetter, designatorNumber, multipleIdentifier of the Route that is referred to by the RSG.BL.routeFormed property;
  • second order by identical values of BL.start/EnRouteSegmentPoint.pointChoice or BL.end/EnRouteSegmentPoint.pointChoice with another segment of the same Route. Attention that it is possible to have two distinct portions of the same route associated with the Event.

(3)

route designator

Insert here the concatenated values of the designatorPrefix, designatorSecondLetter, designatorNumber, multipleIdentifier of the Route portion identified above.

(4)

start point

Insert here the DesignatedPoint.designator or the Navaid.designator or the AirportHeliport.designator that was identified as start of a route portion at point (2) above. Note that this could be either the start or the end of a RouteSegment, as it is not guaranteed that the RouteSegments have been encoded in a regular P1-P2/P2-P3/P3-P4/... order. There could be situations where the segments have been encoded as P1-P2/P3-P2/P3-P4/etc.

(5)

end point

Insert here the DesignatedPoint.designator or the Navaid.designator or the AirportHeliport.designator that was identified as end of a route portion at point (2) above. Note that this could be either the start or the end of a RouteSegment, as it is not guaranteed that the RouteSegments have been encoded in a regular P1-P2/P2-P3/P3-P4/... order. There could be situations where the segments have been encoded as P1-P2/P3-P2/P3-P4/etc.

(6)

lower limit, upper limit

If any RSG.TD.RouteAvailability/AirspaceLayer has either lowerLevel different from 'FLOOR' or upperLevel different from 'CEILING' (the segment is not completely closed on the vertical), then insert here each pair lowerLevel - upperLevel of one RSG.TD.RouteAvailability.AirspaceLayer having status='CLSD' that exists identically on all RSG.TD.RouteAvailability with status 'CLSD' of the RouteSegments of the affected route portion, decoded as indicated below: 


Code Block
titleEBNF Code
collapsetrue
template_levels = {"RSG.TD.RouteAvailability.lowerLevel" to "RSG.TD.RouteAvailability.upperLevel" ";"}.


If the value "FLOOR" is used as RSG.TD.RouteAvailability/AirspaceLayer.lowerLimit, then use the RSG.BL.lowerLimit, RSG.BL.lowerLimit.uom and RSG.BL.lowerLimitReference instead. If the value 'CEILING' is used as RSG.TD.RouteAvailability/AirspaceLayer.upperLimit, then use the RSG.BL.upperLimit, RSG.BL.upperLimit.uom and RSG.BL.upperLimitReference instead. In all situations the values shall be formatted according to the decoding ruled for vertical limits.
(7)direction

Insert here the RouteAvailability.direction as follows:

RouteAvailability.direction

Text to be inserted

FORWARDforwards
BACKWARDbackward

If both directions are to be included for the levels selected, insert here "forward and backward". 


(8)Follow this branch if there are RouteAvailability objects with a Note having purpose='REMARK' and the text="Baseline data copy." for the duration of the event. Otherwise ignore this branch.
(98)

Insert here the AirspaceLayers of the RouteAvailability objects with a Note having purpose='REMARK' and the text="Baseline data copy." decoded as in rule (6) above regardless of the status. 

If the Event has an associated schedule, consider only the AirspaceLayers/Timesheets corresponding to the closure schedule.

(109)
Insert here the RouteAvailability.status for each of the levels and directions corresponding to the AirspaceLayers selected on (9).

(1110)

note

Annotations shall be translated into free text according to the common rules for annotations decoding.

...

The following pattern should be used for automatically generating the E field text from the AIXM data:

Image RemovedImage Added


Code Block
titleEBNF Code
collapsetrue
template_cancel = "RSG.BL.RouteAvailability.status(1)" "route closure cancels." \n
["New NOTAM to follow.(1211)"].

Reference

Rule

(811)

If the NOTAM will be followed by a new NOTAM concerning the same situation, then the operator shall have the possibility to specify "NEW NOTAM TO FOLLOW" and this text shall be appended at the end of item E of the NOTAM C.

Note: in this case, the 4th and 5th letters of the Q code shall also be changed into “XX”.