Skip to content

Data Format

Lenny edited this page Jan 9, 2023 · 8 revisions

Data is stored in a JSON file. Generally, you should aim for one vACC per file. In some cases (e.g. vACCs with multiple, unconnected FIRs), it may be more appropriate to split data across multiple files.

Files should be formatted in accordance with the following schema:

  • bounds - Optional Array of Arrays
    • Arrays of Decimals - Coordinate pairs (signed decimal degrees)
  • airspace - Array of Objects
    • id - String - Name of ATC Sector
    • group - String - ID of sector's group in top-level groups array.
    • docs - Optional Array of Strings - Part of an ongoing project, not to be used outside of the UK.
    • fua - Optional Array of Objects - Date/Time restrictions on sector's availability. Not shown on the map outside of designated times.
    • owner - Array of Strings - ID of owning positions (in descending order of priority) in top-level positions array.
    • sectors - Array of Objects - Uniform locks of airspace making up this ATC sector. Each element must have the same lateral boundaries at all altitudes.
      • min - Optional Integer - Minimum altitude (inclusive) for this sector.
      • max - Optional Integer - Maximum altitude (inclusive) for this sector.
      • runways Optional Array of Objects - Required active runways for this sector (all must be true to display).
        • icao - String - ICAO code of airport.
        • runway - String or Array of Strings - Valid runway configurations.
      • points - Array of Arrays
        • Arrays of coordinate pairs (["-ddmmss", "-dddmmss"])
  • groups - Object of Objects (Key - String - used to reference group in group element of airspace entries.)
    • name - String - Display name of group.
    • colour - String - Colour of group in offline sector displays, must be a hex value in the format "#rrggbb".
  • positions - Object of Objects (Key - String - used to reference position in owner element of airspace entries and topdown element of airport entries.)
    • colours - Optional Array of Objects - Colour of position's owned sectors in online sector displays. First valid element (starting at index 0) is used as display colour.
      • online - Optional - Array of Strings - IDs of positions which must be online to use this colour configuration.
      • hex - String - Colour, must be a hex value in the format "#rrggbb".
    • pre - Array of Strings - Valid prefixes in logon callsign (text before the first _).
    • type - String - Suffix of logon callsign (text after the final _).
    • frequency - String - Exact frequency of position.
    • callsign - String - Voice callsign of position.
  • callsigns - Object of Objects (Key - String - Equivalent to type in position entries) - Used to generate generic callsigns for undefined aerodrome positions.
    • Each object may contain any number of key-value pairs, with the format:
      • Key - String - Middle section of logon callsign (empty string matches logon callsigns without a middle section).
      • Value - String - Position voice callsign (paired with airport voice callsign).
  • airports - Object of Objects (Key - String - ICAO code of airport and/or equivalent to prefix in position entries, as desired)
    • callsign - String - Airport voice callsign (paired with position voice callsigns in callsigns entries to generate generic callsigns where positions does not contain a valid entry.)
    • coord - Optional Array of Decimals - Coordinate pairs (signed decimal degrees).
    • runways - Optional Array of Strings - Possible runway configurations. Only define runways if this airport's runway configuration affects airspace structure.
    • default - Optional Boolean (assumed true if omitted) - Use the default ownership structure (above TWR) for this airport (F_APP > APP > topdown).
    • topdown - Optional Array of Strings - ID of owning positions (Above TWR, in descending order of priority) in top-level positions array.
    • major - Optional String - ID of another airports entry, whose ownership order (above TWR) should be followed if this airport's ownership order is exhausted. Several airports can be chained into a hierarchy in this fashion.
    • end - Optional Object of Objects (Key - String - Equivalent to type in position entries)
      • Each object may contain any number of key-value pairs, in the same format as callsigns entries. This allows the generic callsigns entries to be overriden for this airport without explicitly defining positions entries.

Airport coordinates should be the same format as in the VATSpy files (https://github.com/vatsimnetwork/vatspy-data-project). Please be aware that copying coordinates directly from this repository will require you to add an attribution to each airport in your data file.

Clone this wiki locally