OFM Editor Modifications for OFMX 1.0.0
Created by: svoop
General
Document Upload
-
🇫🇷 Add support to upload AIP documents as HTML. -
🇫🇷 Currently, each uploaded AIP document gets a autoincrement revision number (e.g.3
) assigned which is used to reference the specific document.
To decouple this, the revision number will be replaced with the AIRAC cycle date: When uploading an AIP document, you select which AIRAC cycle date the document belongs to. A selection between the current cycle date and the upcoming cycle date (default) should be sufficient (see anim GIF below), the selectable cycle dates can be calculated from the current date. Uploading the same document to the same cycle date will overwrite the document on the server.
The AIRAC cycle date will then be used to reference documents in@source
attributes of features in OFMX.
All Features
-
🇫🇷 All*Uid
s must be globally unique. -
🇫🇷 Tags (components/properties) have to occur in the specified order for the OFMX document to be valid. -
🇫🇷 Implement@region
and@source
attributes -
🇫🇷 Remove@newEntity
attributes
AIXM-Shnapshot
-
🇫🇷 The root element has to be renamed fromAIXM-Snapshot
toOFMX-Snapshot
. -
🇫🇷 Add support for@namespace
-
🇫🇷 The arguments on the root element have to be as specified here.
TIMSH
-
🇫🇷 Times must be coded as20:15
instead of2015
. -
🇫🇷 xt_AlignSummerSavingT
is obsolete. This information has to be coded intocodeTimeRef
on the same level.
Label Marker
Lbm
-
Move and rename attribute LbmUid@fir
toLbmUid@region
. -
Rename Lbz
toZoomLevel
. -
Rename zoomLevel
tovalZoomLevel
. -
Remove codeDatum
underneathZoomLevel
. The zoom level positions inherit the datum from the mainLbm->codeDatum
property.
Airport
Ahp
-
🇫🇷 xt_TypeOfTraffic
,xt_TypeOfUsage
andxt_TypeOfAircraft
have to be coded withAhu
. -
🇫🇷 xt_TypesOfFuel
has to be coded withFul
. -
xt_lighting
has to be coded withRls
. -
xt_GpsIdent
has to be renamed tocodeGps
. -
🇫🇷 xt_addFreq
has to be coded withAha->codeType=RADIO
. -
xt_txtUrl
has to be coded withAhs->codeType=INFO
andAga->codeType=URL
. -
xt_txtPhone
has to be coded withAhs->codeType=INFO
andAga->codeType=PHONE
. -
xt_txtMetPhone
has to be coded withAhs->codeType=INFO
andAga->codeType=PHONE-MET
. -
Some airports or clubs on airfields have a weather briefing webpage, you might want to add Ahs->codeType=INFO
andAga->codeType=URL-MET
for those. -
xt_urlWebcam
has to be coded withAhs->codeType=INFO
andAga->codeType=URL-CAM
. -
xt_email
has to be coded withAhs->codeType=INFO
andAga->codeType=EMAIL
. -
xt_CustomsAvail
has to be coded withAhs->codeType=CUST
. -
xt_TypeOfTraffic->Ppr
has to be coded withAhu->codeUsageLimitation=RESERV
. The contact detailsxt_TypeOfTraffic->xt_PPR_txtContact
,xt_TypeOfTraffic->xt_PPR_txtEmail
andxt_TypeOfTraffic->xt_PPR_txtPhone
should go toAhu->UsageLimitation->txtRmk
(see example) -
xt_contactPractice
should be coded withAhs->codeType=INFO
andAga->noSeq=1
(see example)
Rwy
-
🇫🇷 xt_status
has to be coded withcodeSts
. The valueCLSD
remains, however,IN OPS
does not exists, omit the entire tag to indicate normal operations. -
🇫🇷 AddRwy->codePreparation
-
Add Rwy->codeCondSfc
Rdn
-
🇫🇷 UseRdd
to code declared distances:xt_valDispTres
andxt_uomDispTres
->codeType=DPLM
xt_TORA
andxt_uomDeclDistLimit
->codeType=TORA
xt_LDA
andxt_uomDeclDistLimit
->codeType=LDA
Airspace
Ase
-
🇫🇷 AddAse->codeActivity
primarily to add recreational use into maps (acrobatics, gliding, winching, parachuting and such) -
(won't do, see comments below)🇫🇷 Currently, the editor "remarks" are always stored asAse->txtRmk
of the mainAse
. However, if class layers are present, the mainAse
should only contain identifying properties and everything else should go into the slaveAse#CLASS
elements in order to allow differing remarks per class layer (see example). -
(obsolete)🇫🇷 Rename the attributeAse@xt_classLayersAvail
toAse@classLayers
and assign it the number of class layers (1 or more) instead of a boolean.
Note:Ase@classLayers
is only used when OFMX is imported by the OFM editor to speed up parsing. -
🇫🇷 Rename the elementxt_selAvail
tocodeSelAvbl
and allow only the valuesY
(yes/true) orN
(no/false).
Note:codeSelAvbl
or selective availability declares that an airspace may be activated by third parties e.g. the military. -
Move Ase->txtLocalType
up intoAseUid
(instead of following it)
Avx
-
🇫🇷 GbrUid
must be the first children ofAvx
for frontiers (border transitions). Any other position withinAvx
renders the document invalid.
Adg
-
🇫🇷 Wrap eachAdgUid
in it's ownAdg
. In other words: Only oneAdgUid
is allowed perAdg
. -
🇫🇷 Include completeAdg->AseUidSameExtent
which contains thecodeType
andcodeId
of the referencedAse
.
Navigational Aid
All Navigational Aids
-
🇫🇷 Remove all properties not present in the documentation (or sync with example). -
The exported AIXM contains illegal properties when you e.g. select "VOR", fill in the form, switch to "ICAO", export data. Easiest solution: Empty all input fields when switching the navigational aid type.
Dpn
(named "ICAO" in the editor)
-
🇫🇷 Remove the duplicatecodeId
which is not nested withinDpnUid
. -
Remove editor input fields for "magnetic variation", "year of magnetic variation" and "magnetic variation annual change". (Designated points are not subject to magnetic variation.)
Dme
-
Remove editor input fields for "magnetic variation", "year of magnetic variation" and "magnetic variation annual change" and "VARIATION" subtitle. (Distance measuring is not subject to magnetic variation.)
Mkr
-
🇫🇷 codeId
may only contain any combination of.
(dots) and-
(dashes). -
codePsnIls
dropdown is missing valueC
(backcourse). -
Remove the editor input fields Frequency
andUnit
, but always include the static properties<valFreq>75</valFreq>
and<uomFreq>MHZ</uomFreq>
. (All markers operate on this frequency.)
Ndb
-
Remove editor input fields for "magnetic variation", "year of magnetic variation" and "magnetic variation annual change" and "VARIATION" subtitle. (Non-directional beacon and magnetic variation are nonsensical.)
Tcn
-
Remove the editor input fields Frequency
andUnit
. (TACAN work only with channels.) -
🇫🇷 AddvalDeclination
and editor input field "magnetic declination".
Vor
-
Remove(under investigation)valMagVarChg
-
🇫🇷 Verify VOR/DME is a VOR followed by a DME which associates the VOR. -
🇫🇷 Verify VORTAC is a VOR followed by a TACAN which associates the VOR. (The generated markup is wrong right now, since it's a TACAN followed by a DME which associates the TACAN.)
Organisation
Uni
-
Move codeType
insideUniUid
Fqy
-
🇫🇷 UsevalFreqTrans
instead ofvalFreqRec
as transmitting frequency
Obstacle
Ogr
-
txtName
: UPCASE value -
Add geoLat
andgeoLong
-
Move txtName
out ofOgrUid
as shown by example. -
Add codeDatum
with fix valueWGE
right beforevalGeoAccuracy
. -
Rename lateralPrecision
tovalGeoAccuracy
and adduomGeoAccuracy
right after. -
Rename verticalPrecision
tovalElevAccuracy
and adduomElevAccuracy
right after. -
Remove origin
and useOgr@source
attribute instead.
Obs
-
Rename txtDescrType
tocodeType
. -
Add codeDatum
with fix valueWGE
right beforevalElev
. -
Rename DefaultHeight
tocodeHgtAccuracy
. -
ObsUidLink
: use fullObsUid
payload as shown by example. -
codeLinkType
: UPCASE value -
Add @region
attribute -
Remove codeGroup
(an obstacle is member of a group if it contains anOgrUid
association) -
Move OgrUid
out ofObsUid
as shown by example. -
Make OgrUid
optional:
Obstacles with noOgrUid
are individual, it is no longer necessary to have a "pro forma" obstacle group. In other words: An obstacle group should have more than one obstacle! However, there are exceptions to this rule of thumb: In order to visualize obstacle groups for which only the number of group members is know but not the exact positions of each member, it is possible to assign only one obstacle to a group and mention the number of obstacles intxtRmk
. -
Add uomElevAccuracy
:
AnOgr
obstacle group defines horizontal accuracy (valGeoAccuracy
/uomGeoAccuracy
) and vertical accuracy (valElevAccuracy
/uomElevAccuracy
) for all group members. The same tags now exist onObs
obstacle as well to define accuracies for individual obstacles or – if ever necessary – override the group accuracies. Three of the for tags exist in AIXM already, onlyuomElevAccuracy
is added by OFMX.
Edited by Sven Schwyn