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@sourceattributes of features in OFMX.
All Features
-
🇫🇷 All*Uids must be globally unique. -
🇫🇷 Tags (components/properties) have to occur in the specified order for the OFMX document to be valid. -
🇫🇷 Implement@regionand@sourceattributes -
🇫🇷 Remove@newEntityattributes
AIXM-Shnapshot
-
🇫🇷 The root element has to be renamed fromAIXM-SnapshottoOFMX-Snapshot. -
🇫🇷 Add support for@namespace -
🇫🇷 The arguments on the root element have to be as specified here.
TIMSH
-
🇫🇷 Times must be coded as20:15instead of2015. -
🇫🇷 xt_AlignSummerSavingTis obsolete. This information has to be coded intocodeTimeRefon the same level.
Label Marker
Lbm
-
Move and rename attribute LbmUid@firtoLbmUid@region. -
Rename LbztoZoomLevel. -
Rename zoomLeveltovalZoomLevel. -
Remove codeDatumunderneathZoomLevel. The zoom level positions inherit the datum from the mainLbm->codeDatumproperty.
Airport
Ahp
-
🇫🇷 xt_TypeOfTraffic,xt_TypeOfUsageandxt_TypeOfAircrafthave to be coded withAhu. -
🇫🇷 xt_TypesOfFuelhas to be coded withFul. -
xt_lightinghas to be coded withRls. -
xt_GpsIdenthas to be renamed tocodeGps. -
🇫🇷 xt_addFreqhas to be coded withAha->codeType=RADIO. -
xt_txtUrlhas to be coded withAhs->codeType=INFOandAga->codeType=URL. -
xt_txtPhonehas to be coded withAhs->codeType=INFOandAga->codeType=PHONE. -
xt_txtMetPhonehas to be coded withAhs->codeType=INFOandAga->codeType=PHONE-MET. -
Some airports or clubs on airfields have a weather briefing webpage, you might want to add Ahs->codeType=INFOandAga->codeType=URL-METfor those. -
xt_urlWebcamhas to be coded withAhs->codeType=INFOandAga->codeType=URL-CAM. -
xt_emailhas to be coded withAhs->codeType=INFOandAga->codeType=EMAIL. -
xt_CustomsAvailhas to be coded withAhs->codeType=CUST. -
xt_TypeOfTraffic->Pprhas to be coded withAhu->codeUsageLimitation=RESERV. The contact detailsxt_TypeOfTraffic->xt_PPR_txtContact,xt_TypeOfTraffic->xt_PPR_txtEmailandxt_TypeOfTraffic->xt_PPR_txtPhoneshould go toAhu->UsageLimitation->txtRmk(see example) -
xt_contactPracticeshould be coded withAhs->codeType=INFOandAga->noSeq=1(see example)
Rwy
-
🇫🇷 xt_statushas to be coded withcodeSts. The valueCLSDremains, however,IN OPSdoes not exists, omit the entire tag to indicate normal operations. -
🇫🇷 AddRwy->codePreparation -
Add Rwy->codeCondSfc
Rdn
-
🇫🇷 UseRddto code declared distances:xt_valDispTresandxt_uomDispTres->codeType=DPLM
xt_TORAandxt_uomDeclDistLimit->codeType=TORAxt_LDAandxt_uomDeclDistLimit->codeType=LDA
Airspace
Ase
-
🇫🇷 AddAse->codeActivityprimarily 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->txtRmkof the mainAse. However, if class layers are present, the mainAseshould only contain identifying properties and everything else should go into the slaveAse#CLASSelements in order to allow differing remarks per class layer (see example). -
(obsolete)🇫🇷 Rename the attributeAse@xt_classLayersAvailtoAse@classLayersand assign it the number of class layers (1 or more) instead of a boolean.
Note:Ase@classLayersis only used when OFMX is imported by the OFM editor to speed up parsing. -
🇫🇷 Rename the elementxt_selAvailtocodeSelAvbland allow only the valuesY(yes/true) orN(no/false).
Note:codeSelAvblor selective availability declares that an airspace may be activated by third parties e.g. the military. -
Move Ase->txtLocalTypeup intoAseUid(instead of following it)
Avx
-
🇫🇷 GbrUidmust be the first children ofAvxfor frontiers (border transitions). Any other position withinAvxrenders the document invalid.
Adg
-
🇫🇷 Wrap eachAdgUidin it's ownAdg. In other words: Only oneAdgUidis allowed perAdg. -
🇫🇷 Include completeAdg->AseUidSameExtentwhich contains thecodeTypeandcodeIdof 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 duplicatecodeIdwhich 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
-
🇫🇷 codeIdmay only contain any combination of.(dots) and-(dashes). -
codePsnIlsdropdown is missing valueC(backcourse). -
Remove the editor input fields FrequencyandUnit, 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 FrequencyandUnit. (TACAN work only with channels.) -
🇫🇷 AddvalDeclinationand 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 codeTypeinsideUniUid
Fqy
-
🇫🇷 UsevalFreqTransinstead ofvalFreqRecas transmitting frequency
Obstacle
Ogr
-
txtName: UPCASE value -
Add geoLatandgeoLong -
Move txtNameout ofOgrUidas shown by example. -
Add codeDatumwith fix valueWGEright beforevalGeoAccuracy. -
Rename lateralPrecisiontovalGeoAccuracyand adduomGeoAccuracyright after. -
Rename verticalPrecisiontovalElevAccuracyand adduomElevAccuracyright after. -
Remove originand useOgr@sourceattribute instead.
Obs
-
Rename txtDescrTypetocodeType. -
Add codeDatumwith fix valueWGEright beforevalElev. -
Rename DefaultHeighttocodeHgtAccuracy. -
ObsUidLink: use fullObsUidpayload as shown by example. -
codeLinkType: UPCASE value -
Add @regionattribute -
Remove codeGroup(an obstacle is member of a group if it contains anOgrUidassociation) -
Move OgrUidout ofObsUidas shown by example. -
Make OgrUidoptional:
Obstacles with noOgrUidare 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:
AnOgrobstacle group defines horizontal accuracy (valGeoAccuracy/uomGeoAccuracy) and vertical accuracy (valElevAccuracy/uomElevAccuracy) for all group members. The same tags now exist onObsobstacle 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, onlyuomElevAccuracyis added by OFMX.
Edited by Sven Schwyn
