OFM flavoured fork of AIXM 4.5
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

OFMX

OFMX (Open FlightMaps eXchange) is a suite of well-defined data formats to validate and exchange aeronautical data with open flightmaps (OFM).

OFMX XML

OFMX XML is an XML dialect to exchange the complete dataset, a decluttered and extended fork of AIXM 4.5 (Aeronautical Information eXchange Model). This is the primary exchange format using the file extension .ofmx.

Examples

The examples directory contains a few OFMX XML documents such as the following examples/label_marker.ofmx which describes a label marker (an OFMX extension to AIXM):

<?xml version="1.0" encoding="UTF-8"?>
<OFMX-Snapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://schema.openflightmaps.org/0/OFMX-Snapshot.xsd" version="0" region="LJLA" origin="example" namespace="00000000-0000-0000-0000-000000000000" created="2018-01-01T12:09:15+00:00" effective="2018-01-04T00:00:00+00:00">
  <Lbm>
    <LbmUid>
      <codeType>TEXT</codeType>
      <txtName>XPDR FREQ EDJA</txtName>
    </LbmUid>
    <txtValueLabel>TRANSPONDER CODE 1234, LISTEN FREQ 118.100</txtValueLabel>
    <geoLat>48.98444444N</geoLat>
    <geoLong>015.29111111E</geoLong>
    <codeDatum>WGE</codeDatum>
    <ZoomLevel>
      <valZoomLevel>1</valZoomLevel>
    </ZoomLevel>
    <ZoomLevel>
      <valZoomLevel>2</valZoomLevel>
    </ZoomLevel>
    <ZoomLevel>
      <valZoomLevel>3</valZoomLevel>
      <txtValueLabel>TRANSPONDER CODE REQUIRED</txtValueLabel>
      <geoLat>48.50000000N</geoLat>
      <geoLong>015.00000000E</geoLong>
    </ZoomLevel>
    <ZoomLevel>
      <valZoomLevel>4</valZoomLevel>
    </ZoomLevel>
    <ZoomLevel>
      <valZoomLevel>7</valZoomLevel>
    </ZoomLevel>
  </Lbm>
</OFMX-Snapshot>

Let's validate it:

xmllint --noout --schema schema/0/OFMX-Snapshot.xsd examples/label_marker.ofmx

OFMX CSV

For the sake of simplicity, some data subsets can also be exchanged by use of [[CSV following OFMX standards|OFMX-CSV]]. These are auxiliary exchange formats using the file extension .csv.

Examples

The examples directory contains a few OFMX CSV documents such as the following examples/obstacle.csv which describes a few obstacles:

codeType,txtName,codeLgt,txtDescrMarking,geoLat,geoLong,valElev,valElevAccuracy,valHgt,codeHgtAccuracy,uomDistVer,valRadius,valRadiusAccuracy,uomRadius,codeGroupId,txtGroupName,locGroupMemberId,locLinkedToGroupMemberId,codeLinkType,datetimeValidWef,datetimeValidTil,txtRmk,source
ANTENNA,DROITWICH LW NORTH,Y,Red lighting,52.29639600N,2.10675400W,56,0,214,Y,M,200,10,M,3d3b794b-590e-42dd-abad-3e943f75ab0d,Longwave antenna masts,1,,,2018-08-01T00:00:00Z,2020-07-31T24:00:00Z,Longwave antenna see https://en.wikipedia.org/wiki/Droitwich_Transmitting_Station,EG|ENR|5.4|2018-01-04|2947
ANTENNA,DROITWICH LW SOUTH,Y,Red lighting,52.29457700N,2.10568600W,56,0,214,Y,M,200,10,M,3d3b794b-590e-42dd-abad-3e943f75ab0d,Longwave antenna masts,2,1,CABLE,2018-08-01T00:00:00Z,2020-07-31T24:00:00Z,Longwave antenna see https://en.wikipedia.org/wiki/Droitwich_Transmitting_Station,EG|ENR|5.4|2018-01-04|2947
TREE,LFNT 34L A,N,,43.98977100N,4.75587900E,55,2,12,N,M,2,1,M,83d659d8-4d39-4628-be86-a2bcadafc09a,,,,,,,Close to the beginning of runway 34L,LF|ENR|5.4|2018-01-04|838
TREE,LFNT 34L B,N,,43.98970100N,4.75601200E,55,2,12,N,M,2,1,M,83d659d8-4d39-4628-be86-a2bcadafc09a,,,,,,,Close to the beginning of runway 34L,LF|ENR|5.4|2018-01-04|838
WINDTURBINE,GIRONA,Y,Red lighting and orange reflective strips,42.44166667N,2.81972222E,697,,125,Y,M,60,5,M,,,,,,2018-08-10T00:00:00Z,,Coordinates not verified,LE|ENR|5.4|2018-01-04|3847

Let's validate it:

EXAMPLE MISSING

Versions

OFMX uses MAJOR.MINOR.PATCH semantic versioning. The schema location contains only the MAJOR version:

http://schema.openflightmaps.org/0/OFMX-Snapshot.xsd

OFMX is currently in private early development which is represented by the MAJOR version 0. All version bumps may contain breaking changes, however, we try to increment the MINOR version if serious problems are to be expected.

The first public release will receive MAJOR version 1 and from that point forward, breaking changes will always trigger a MAJOR version bump.

OFMX Based on AIXM
0.x.x 4.5-r2

Development

Tests

Yep, the OFMX XML schema had better be schema valid itself:

xmllint --noout --schema docs/xsd/XMLSchema.xsd schema/0/OFMX-*.xsd

All examples should be schema valid as well:

xmllint --noout --schema schema/0/OFMX-Snapshot.xsd examples/*.ofmx

If you have both Ruby and Rake installed, you can run all of the above schema validations with:

rake

Diffs

The changelog gives you an overview of all additions made to AIXM. For more details just diff the corresponding schema files against "base" which contains the forked and functionally unmodified AIXM 4.5 schema.

diff -burN schema_base/4.5-r2/OFMX-Snapshot.xsd schema/0/OFMX-Snapshot.xsd

Release

  1. Increment version numbers in schema files, README and wiki
  2. Complete the CHANGELOG
  3. Create a git tag
  4. Cut a release on GitHub
  5. Push schema directory to http://schema.openflightmaps.org

Contribute

Found a bug or problem? Please submit an issue on GitHub.

To contribute code, fork the project on Github, add your code and submit a pull request.

References

Licenses