...
The following pattern should be used for automatically generating the E field text from the AIXM data:
Code Block | ||||
---|---|---|---|---|
| ||||
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(4)") " - " ((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(54)" "-"| "RSG.BL.end.pointChoice(5)" "open levels(6)" "direction(7)" {"direction(7)"}{"Levelsopen levels(6)" "direction(7)" {"direction(7)"}}} \n {"(28)" "/n" "RSG.BL.routeFormed(3)" ("RSG.BL.start.pointChoice(4)" "-"| "RSG.BL.end.pointChoice(45)") "baseline -levels(9)" "direction(7)" {"direction("RSG.BL.start.pointChoice(5)"|"RSG.BL.end.pointChoice(5)") {"Levels(6)"}7)"} {"baseline levels(9)" "direction(7)" {"direction(7)"}} "remain" "RSG.TD.RouteAvailability.status(10)"} \n {"." "/n" "RSG.TD.RouteAvailability.annotation(711)"} "." . |
Reference | Rule | |||||||
---|---|---|---|---|---|---|---|---|
(1) | 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).eASMADR:conditionalRouteType=CDR1, then insert the text "CDR1". Otherwise insert the text "ATS" | |||||||
(2) | 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:
| |||||||
(3) | Insert here the concatenated values of the designatorPrefix, designatorSecondLetter, designatorNumber, multipleIdentifier of the Route portion identified above. | |||||||
(4) | 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) | 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) | 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:
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) | Insert here the RouteAvailability.direction as follows:
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. | |||||||
(9) | 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. | |||||||
(10) | Insert here the RouteAvailability.status for each of the levels and directions corresponding to the AirspaceLayers selected on (9). | |||||||
(11) | 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:
Code Block | ||||
---|---|---|---|---|
| ||||
template_cancel = "RSG.BL.RouteAvailability.status(1)" "route openingclosure cancels." \n ["New NOTAM to follow.(812)"]. |
Reference | Rule |
---|---|
(8) | 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”. |