Decoding
Text NOTAM production rules
...
the abbreviation APN.BL. indicates that the corresponding data item must be taken from the Apron BASELINE;
the abbreviation APE.BL. indicates that the corresponding data item must be taken from the ApronElement BASELINE;
the abbreviation AHP.BL. indicates that the corresponding data item must be taken from the AirportHeliport BASELINE associated with the Apron that is associated with the ApronElement concerned;
the abbreviation APN.TD. indicates that the corresponding data item must be taken from the Apron TEMPDELTA that was created for the Event.
the abbreviation APE.TD. indicates that the corresponding data item must be taken from the ApronElement TEMPDELTA that was created for the Event;
In general, the ICAO DOC 8126 and the OPADD rules shall be followed. These have not been copied in this document in order to avoid duplication with those documents. Only instructions that are specific to the AIXM encoding of this event are stated here.
...
Items B and C shall be decoded following the common production rules.
If at least one APN.TD.availability.ApronAreaAvailability.timeInterval or APE.TDBL.availability.ApronAreaAvailability.timeInterval exists exists (i.e. the Event has an associated schedule), then all such Timesheet(s) shall be represented in item D according to the common NOTAM production rules for {{Item D, E - Schedules}}. Otherwise, item D shall be left empty.
...
The following pattern should be used as a base for generating the E field text from the AIXM data:
Code Block | ||||
---|---|---|---|---|
| ||||
template = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)")] \n "Acft stand" "APN.BL.name" {"closed_apron_portion(4)"}["and(5)"| ","] {"Acft stand" "APN.BL.name" {"closed_apron_portion(4)"} ["and(5)"| ","]} \n "closed" [ "due to" "APN/APE.TD.availability.annotation (6)"]\n ["(7)" "\n" "except" ["APN/APE.TD.usage.PPR(8)"] ["APN/APE.TD.usage.flight(9)"] ["APN/APE.TD.usage.aircraft(10)"] {"(11)" "," ["APN/APE.TD.usage.PPR(8)"] ["APN/APE.TD.usage.flight(9)"] ["APN/APE.TD.usage.aircraft(10)"]} ] \n {"\n" "APN/APE.TD.availability.annotation(12)" "."} ["."]. |
Reference | Rule | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(1) | If AHP.BL.locationIndicatorICAO=YES, then ignore this branch. | ||||||||||||||||
(2) | Insert here the type of the airport decoded as follows
| ||||||||||||||||
(3) | a. If AHP.BL.name is not NIL, then insert it here. Otherwise b.insert here the text "located at" followed by the AHP.BL.ARP.ElevatedPoint decoded according to the text NOTAM production rules for aixm:Point. | ||||||||||||||||
(4) | Insert here the APN.annotation and/or APE.annotation note with purpose="DESCRIPTION" stored in the BASELINE data (e.g. “between Acft stand 1 and Acft stand 5”). If more than one ApronElement has a TEMPDELTA associated with the Event, then the application shall identify the connected elements and generate the text in a logical order (e.g. "between Acft stand 1 and Acft stand 10" could be generated from two ApronElements - one from Acft stand 1-5 and one from 5-10) | ||||||||||||||||
(5) | If more than one apron and/or apron element has a TEMPDELTA associated with the Event, then insert the designator of each additional apron and/or apron element, designator preceded by ",". Insert "and" before the last entry. | ||||||||||||||||
(6) | If there exist one or more TD.availability.usage then decode them following this branch, in the following order of priorities: TD.availability.usage that have operation="ALL" TD.availability.usage that have type="PERMIT" ... other situations ... If there exists a APN.TD.availability.annotation or APE.TD.availability.annotation having propertyName="operationalStatus" and purpose="REMARK", then translate it into free text according to the decoding rules for annotations. | (7) | . usage that have priorPermission which is not NIL shall be decoded last. | ||||||||||||||
( | 8)If TD.usage.priorPermission is not NIL, then insert here the decoding of the PPR information as detailed in the following diagram:
| (9) | |||||||||||||||
FlightCharacteristics.type* | Text to be inserted in Item E | ||||||||||||||||
OAT | "Operational Air Traffic" | ||||||||||||||||
GAT | "General Air Traffic" | ||||||||||||||||
ALL | "Operational Air Traffic/General Air Traffic" | ||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks) | ||||||||||||||||
FlightCharacteristics.rule | Text to be inserted in Item E | ||||||||||||||||
IFR | "IFR" | ||||||||||||||||
VFR | "VFR" | ||||||||||||||||
ALL* | "IFR/VFR" | ||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks) | ||||||||||||||||
FlightCharacteristics.status | Text to be inserted | ||||||||||||||||
HEAD | "Head of State" | ||||||||||||||||
STATE | "State acft" | ||||||||||||||||
HUM | "HUM" | ||||||||||||||||
HOSP | "HOSP" | ||||||||||||||||
SAR | "SAR” | ||||||||||||||||
EMERGENCY | "EMERG" | ||||||||||||||||
ALL | "State acft/HUM/HOSP/SAR/EMERG" | ||||||||||||||||
OTHER:MEDEVAC | “MEDEVAC” | ||||||||||||||||
OTHER:FIRE_FIGHTING | “fire fighting” | ||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks and convert to lowercase) | ||||||||||||||||
FlightCharacteristics.military | Text to be inserted in Item E | ||||||||||||||||
MIL | "MIL acft" | ||||||||||||||||
CIVIL | "civil acft" | ||||||||||||||||
ALL* | "civil/MIL acft" | ||||||||||||||||
OTHER:MY_TEXT* | "my text" (replace "_" with blanks) | ||||||||||||||||
FlightCharacteristics.origin | Text to be inserted | ||||||||||||||||
NTL | "domestic" | ||||||||||||||||
INTL | "intl" | ||||||||||||||||
HOME_BASED | "home based" | ||||||||||||||||
ALL* | "domestic/intl" | ||||||||||||||||
OTHER:MY_TEXT* | "my text" (replace "_" with blanks) | ||||||||||||||||
FlightCharacteristics.purpose | Text to be inserted | ||||||||||||||||
SCHEDULED | "scheduled" | ||||||||||||||||
NON_SCHEDULED | "not scheduled" | ||||||||||||||||
PRIVATE* | "private" | ||||||||||||||||
AIR_TRAINING | "training" | ||||||||||||||||
AIR_WORK* | "aerial work" | ||||||||||||||||
PARTICIPANT | "participating acft" | ||||||||||||||||
ALL* | "scheduled/not scheduled/private/training/aerial work/participating acft" | ||||||||||||||||
OTHER:MY_TEXT* | "my text" (replace "_" with blanks) | (10) | |||||||||||||||
AircraftCharacteristics.type | Text to be inserted in Item E | ||||||||||||||||
LANDPLANE | "landplanes" | ||||||||||||||||
SEAPLANE* | "seaplanes" | ||||||||||||||||
AMPHIBIAN | "amphibians" | ||||||||||||||||
HELICOPTER | "hel" | ||||||||||||||||
GYROCOPTER | "gyrocopters" | ||||||||||||||||
TILT_WING | "tilt wing acft" | ||||||||||||||||
STOL | "short take-off and landing acft" | ||||||||||||||||
GLIDER* | "gliders" | ||||||||||||||||
HANGGLIDER* | "hang-gliders" | ||||||||||||||||
PARAGLIDER* | "paragliders" | ||||||||||||||||
ULTRA_LIGHT* | "ultra lights" | ||||||||||||||||
BALLOON* | "balloons" | ||||||||||||||||
UAV* | "unmanned acft” | ||||||||||||||||
ALL* | "all acft types" | ||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks) | ||||||||||||||||
AircraftCharacteristics.engine | Text to be inserted in Item E | ||||||||||||||||
JET | "jet acft" | ||||||||||||||||
PISTON | "piston acft" | ||||||||||||||||
TURBOPROP | "turboprop acft" | ||||||||||||||||
ELECTRIC** | “electric engine acft” | ||||||||||||||||
ALL | "all engine types" | ||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks) | ||||||||||||||||
AircraftCharacteristics.wingSpanInterpretation | Text to be inserted in Item E | ||||||||||||||||
ABOVE | "acft with wingspan more than" | ||||||||||||||||
AT_OR_ABOVE | "acft with wingspan equal to or more than" | ||||||||||||||||
AT_OR_BELOW | “acft with wingspan equal to or less than" | ||||||||||||||||
BELOW | "acft with wingspan less than" | ||||||||||||||||
OTHER:MY_TEXT* | "my text" (replace "_" with blanks) | ||||||||||||||||
AircraftCharacteristics.weightInterpretation | Text to be inserted in Item E | ||||||||||||||||
ABOVE | "acft mass heavier than" | ||||||||||||||||
AT_OR_ABOVE | "acft mass equal to or heavier than" | ||||||||||||||||
AT_OR_BELOW | "acft mass equal to or lighter than" | ||||||||||||||||
BELOW | "acft mass lighter than" | ||||||||||||||||
OTHER:MY_TEXT* | "my text" (replace "_" with blanks) | (11) | If TD.usage.selection.logicalOperator=OR (there are more than one flight/aircraft combinations that are excepted), then select and decode each FlightCharacteristics/AircraftCharacteristics consecutively. | ||||||||||||||
(12) | Annotations of TD.ApronAreaAvailability shall be translated into free text according to the decoding rules for annotations. |
...
If a NOTAMC is produced, then the 4th and 5th letters (the "condition") of the Q code shall be "AK", except for the situation of a “new NOTAM to follow, in which case “XX”shall be used..
Code Block | ||||
---|---|---|---|---|
| ||||
template_cancel = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)") ] "\n" \n "Apron" "APN.BL.name" ["(5)" ("," | "and")] {"APN.BL.name" ["(5)" ("," | "and")]} "resumed normal operations." ["New NOTAM to follow.(13)"]. |
...