This information is historic and only relevant to X-Plane 8 and earlier

Scope

This document describes the file format and codes used in X-Plane’s apt.dat file, 715 version.

  • This data file format is usable with X-Plane version 7.15 – 8.06.  It was superseded by airport file format 810 in March 2005.

  • This is the “official” definition of the X-Plane file formats.  The apt.dat file defines all airport data in X-Plane, including runways, taxiways, and other airport features.

  • Navigation aids at an airport (such as ILS components) are not defined in this file, but are contained in the nav.dat file.

File structure

The file structure is similar to all other X-Plane data files, with the exception that the sequencing of the data within the apt.dat file is important.  Runway, taxiway, location and ATC data for an airport must immediately follow the header data for the parent airport.

  • The first line of each file indicates if the file was generated on a PC (“I” for Intel or IBM) or Macintosh (“A” for Apple). X-Plane uses this code to help deal with the different ways in which PCs and Macs manipulate carriage returns in text files, and big-endian/little-endian issues. The second line contains a version number used by X-Plane.  This usually implies the first version of X-Plane that can utilise the file format (eg. “715 version” implies that this file format was first available for use in X-Plane version 7.15).   The version number is followed by my own long copyright message that also includes the sequential build number of the data and my own internal code for the metadata that drives the formatting). This copyright message is very long, and includes a reference to the GNU General Public Licence under which this data is published as modifiable freeware, and also an acknowledgement and a disclaimer for the US Department of Defense NIMA for the DAFIF data. The terms of this license require that this copyright message must be left intact if this file is modified and/or redistributed.
  • The very last line of each file is marked by a “99”.

Here is an example of the two header lines, one airport, one runway and the file termination line:

I
715 Version – DAFIF data cycle 200502, build 1871, metadata AptXP715, Copyright © 2004, Robin A. Peel (robin@xsquawkbox.net). This data is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program (“AptNavGNULicence.txt”); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. This product was developed using DAFIF (the Defense Aeronautical Flight Information File), a product of the US National Imagery and Mapping Agency (NIMA). NIMA requires the following warranty statements: (A) Under 10 U.S.C. 456, no civil action may be brought against the United States on the basis of the content of a navigational aid prepared or disseminated by either the former Defense Mapping Agency (DMA) or the National Imagery and Mapping Agency (NIMA). (B) The DAFIF product is provided “as is,” and no warranty, express or implied, including, but not limited to the implied warranties of merchantability and fitness for particular purpose or arising by statute or otherwise in law or from a course of dealing or usage in trade, is made by NIMA as to the accuracy and functioning of the product. (C): Neither NIMA nor its personnel will be liable for any claims, losses, or damages arising from or connected with the use of this product. The user agrees to hold harmless the United States National Imagery and Mapping Agency. The user’s sole and exclusive remedy is to stop using the DAFIF product.

1 1242 0 0 89TX Aero-Bee Ranch Airstrip
10 30.879343 -098.416976 17x 170.00 2800 0.0000 0.0000 50 111111 04 0 0 0.25 0

99

Each airport has a header line and one or more runway/taxiway lines,  followed by lines for an airport tower viewpoint location, a startup location on the airport , airport light beacon location and windsocks, and airport ATC (Air Traffic Control) frequencies.

Line
codes used in apt.dat (715 version)
Code (apt.dat) Used for
1 Airport header data.
16 Seaplane base header data. No
airport buildings or boundary fences will be rendered in X-Plane.
17 Heliport header data.  No
airport buildings or boundary fences will be rendered in X-Plane.
10 Runway or taxiway at an airport.
14 Tower view location.
15 Ramp startup position(s)
18 Airport light beacons (usually
“rotating beacons” in the USA).  Different colours may be
defined.
19 Airport windsocks.
50 to 56 Airport ATC (Air Traffic Control)
frequencies.

Note the following sequence of the airport data:

  • The runway data for each airport must follow the airport header line.
  • Taxiways should follow the runways.
  • Tower viewpoints and startup locations.
  • Airport light beacons and windsocks.
  • ATC frequencies should be the final entries for an airport.
  • A blank line can be used to separate different airports – this helps improve readability, but it is not mandatory.

Changes from previous file versions

  • The previous file version for apt.dat was 703 version.
  • A flag now controls if a control tower object will be drawn in X-Plane at the location of the control tower (line code 14).

Other issues

The limitations on the number of airports within a region (an X-Plane “region” is a dynamic area of 2 degrees latitude by 3 degrees longitude) changed for X-Plane 7.40.  So more recent files generated in this file format (715) are only usable in X-Plane versions 7.40 – 8.06.

Example data

Here is a simplified fragment for part of an airport in apt.dat:

1 5355 1 0 KABQ Albuquerque Intl Sunport
10 35.044209 -106.598557 08x  90.44 13749 1000.0000 0.1000 150 252231 02 0 3 0.25 1
10 35.031995 -106.618838 03x  44.66 9993     0.0000 0.0000 150 352321 02 0 3 0.35 1
10 35.044021 -106.611984 17x 183.36 10014  890.0000 0.0000 150 231231 01 0 2 0.25 1
10 35.038364 -106.612950 12x 128.98 5992     0.0000 0.0000 150 121331 02 0 2 0.25 1
10 35.042778 -106.598572 xxx  90.44 13737    0.0000 0.0000 100 161161 02 0 0 0.25 0
10 35.045609 -106.595635 xxx  90.44 11220    0.0000 0.0000 110 161161 02 0 0 0.45
0
14 35.047215 -106.608162 100.00 1 Tower viewpoint
15 35.047005 -106.618576   0.000 Gate B1 (American Airlines)
15 35.047005 -106.615000   0.000 Gate A1 (United Airlines)
18 35.045031 -106.598549 1 Light beacon
19 35.045176 -106.621581 1 Windsock
19 35.043241 -106.575534 1 Windsock
53 12190 GND
54 11830 TWR

This shows one airport header line, four runways, two taxiways, a tower viewpoint, two gate starting locations, an airport beacon, two windsocks and two ATC frequencies.  The meaning of the data in the above example data is:

Meaning
of example airport data (apt.dat)
Airport
header
Example
Usage
1 Identifies this as an airport header line.  Note
that a code 16 will identify this as a seaplane/floatplane
base, and a code
17
will identify it as a heliport.
5355 Airport elevation (in feet above
MSL).
1 Airport has a control tower (1=yes, 0=no).
Used by X-Plane’s ATC system.  Not used to draw the
default ATC tower building (despite what is stated in WorldMaker!).
0 Display X-Plane’s default airport buildings (1=yes, 0=no).
This is usually ‘no’ if any custom taxiways have been defined.
KABQ Identifying  code for the airport (the ICAO code, if one exists).
It is helpful if these are unique, but this may not be possible in all cases.
Albuquerque Intl Sunport Airport name.
Usually, the city name is first followed by the airport name (eg.
“London Heathrow”).
Runways and taxiways Example Usage
10 Identifies this as a data line for a runway or taxiway segment.
35.044209 Latitude (in decimal degrees) of runway or taxiway segment center.
-106.598557 Longitude (in
decimal degrees) of runway or taxiway segment center.
08x Runway number (eg “25x” or “24R”).  If there is no runway suffix (eg. “L”, “R”, “C”
or “S”), then an
“x” is used.  “xxx” identifies the entry as a taxiway.
Helipads at the same airport are numbered sequentially as
“H1x”, H2x”.
90.439 True (not magnetic) heading of the runway in degrees.
Must be between 0.00 and 360.00.
13749 Runway or taxiway segment length in feet.
1000.0000 Length of displaced threshold (1,000 feet) for runway 08 and for the reciprocal runway 26 (0 feet).  The length of the reciprocal runway’s displaced threshold is expressed as the fractional part of this number.  Take the runway 26 displaced threshold length  (in feet) and divide it by 10,000, then add it to the displaced threshold length for runway 08.  For example, for displaced threshold lengths of 543 feet and 1234 feet, the code would be 543.1234.Note that the displaced threshold length is included in the overall runway length but that the stopway length is excluded from the overall runway length.  This code should be 0.0000 for taxiway segments.  FYI, the displaced threshold is usually marked (in the real world) with long white arrows pointing toward the threshold.  The displaced threshold is not available for use by aeroplanes landing, but may be used for take-off (in practice, if you use these last few feet of the runway for take-off, you are probably in serious trouble!).
0.1000 Length of stopway/blastpad/over-run at the approach end of runway 08 (0 feet) and for runway 26 (1,000 feet), using the same coding structure defined
above.  FYI, in the real world the stopway/blastpad/over-run is usually marked with large yellow chevrons, and aeroplane movements are not permitted.
150 Runway or taxiway segment width in feet.
252231 Runway or taxiway segment lighting codes.
The first three digits (“252”) define the lighting for the runway as seen when approached from the direction implied by the runway number (08 in our example).

The final three (“231”) define the lighting for the runway as seen when approached from the opposite end (26 in our example).

In order, these codes represent:

Runway end “A” (08): Visual approach path (VASI / PAPI etc.) lighting.  Here, code 2 corresponds to a VASI.

Runway end “A” (08): Runway lighting. Here, code 5 corresponds to TDZ lighting, which also implies centre-line lighting, REIL and edge lighting.

Runway end “A” (08): Approach lighting.  Here, code 2 corresponds to SSALS.

Other runway end (26): Visual approach path (VASI / PAPI etc.) lighting. Here, code 2 corresponds to a VASI.

Other runway end (26): Runway lighting. Here, code 3 corresponds to REIL, which also implies edge lighting.

Other runway end (26): Approach lighting. Here, code 1 implies no approach lighting.

02 Runway or taxiway surface
code
for the runway or taxiway segment.  The leading zero is
optional – but I always use it to keep all the columns neatly lined up.
0 Runway shoulder
code
.  These are only available in file version
701 and later.  Here, code 0 implies that there is no runway
shoulder.
3 Runway markings
(the white painted markings on the surface of the runway.  Here,
code 3 implies precision runway markings (ie. there is an associated
precision approach for the runway, either an ILS or MLS).
0.25 Runway
smoothness.  Used to cause bumps when taxying or rolling along the
runway in X-Plane.  It is on a scale of 0.0 to 1.0, with 0.0 being
very smooth, and 1.0 being very, very rough.  X-Plane determines a
baseline smoothness based upon the runway surface type, and then uses
this factor to determine the ‘quality’ of the runway surface.  The
default value is 0.25.
1 Runway has ‘distance
remaining’ signs (0=no signs, 1=show signs).  These are the white
letters on a black background on little illuminated signs along a
runway, indicating the number of thousands of feet of usable runway that
remain.  They are inappropriate at small airports or on most dirt,
gravel or grass runways.
Startup locations Example
Usage
15 Identifies this as a
data line for an airport startup
location (code 15).  Multiple startup locations
are allowed as separate data lines.
35.047215 Latitude
(in decimal degrees) of the viewpoint or startup location.
-106.618576 Longitude (in
decimal degrees) of the viewpoint or startup location.
0.00 Elevation of the viewpoint, or the heading of the aeroplane when placed at the
startup location.
Gate B1 (American
Airlines)
Name of
a startup location (used in X-Plane 7.10 and later).
Tower
viewpoints
Example
Usage
14 Identifies this as a data line for a tower viewpoint (code 14).Only a single tower viewpoint is permitted.
35.047005 Latitude
(in decimal degrees) of the viewpoint.
-106.608162 Longitude (in
decimal degrees) of the viewpoint.
100 Height (in feet)
above ground level of viewpoint.
1 Flag to indicate if
a control tower object should be drawn at this location in
X-Plane.  0=no tower, 1=draw tower.
Tower viewpoint Name of this
viewpoint
Airport light beacons Example Usage
18 Identifies this as a
data line for an airport light beacon (code 18).  Note that if custom data is not defined, then appropriate data will be
generated automatically and included in apt.dat.  The light beacon
types available (see list below) are in accordance with the US AM
(Aeronautical Information Manual) – other types may be added to cater
for other light beacons used in other countries.
35.045031 Latitude (in decimal degrees) of the light beacon.
-106.598549 Longitude (in
decimal degrees) of the light beacon.
1 Identifies the
colours of the light beacon.  Here code 1 implies a standard
white-green flashing light.  Options are:
Code 1: white-green flashing light (land airport).

Code 2: white-yellow flashing light (seaplane base).

Code 3: green-yellow-white flashing light (heliports).

Code 4: white-white-green flashing light (military field).

Code 5: white strobe light.

Code 0: no beacon (can be used at ‘closed’ airports).  I
suggest you use a dummy lat/lon based upon one of the airport’s
runways.

Light beacon Name for this light beacon
(not used by X-Plane).
Airport
windsocks
Example
Usage
19 Identifies this row
as an airport windsock (code 19). Note that:
If custom data is not defined, then appropriate data will be generated
automatically by may data export algorithms and included in apt.dat
alongside the threshold of each runway.

If at least one windsock is explicitly defined at an airport, then
no ‘automatic’ windsocks will be generated at that airport.

Multiple windsocks are
allowed.

If you do not want any windsocks at an airport, then let
me know in an e-mail and I will suppress the generation of all
automatic windsocks at that airport.

35.045176 Latitude
(in decimal degrees) of the airport windsock.
-106.621581 Longitude (in
decimal degrees) of the airport windsock.
1 Windsock lighting
(1=illuminated, 0=not illuminated).
Windsock Name for this
windsock (not used by X-Plane).
ATC
frequencies
Example
Usage
53 Identifies this as an
airport ATC
frequency line.  Codes in the 50 – 59 range are
used to identity different ATC types
.
12190 Airport ATC frequency, in Megahertz
multiplied by 100 (ie. 121.90 MHz in this example).
GND Name of the ATC frequency.
This is often an abbreviation (such as GND for
“Ground”).

Codes used to define data

The codes used to define the data are:

Codes used in
apt.dat (715 version)
ATC
frequency codes
Meaning of
code
50 AWOS (Automatic Weather
Observation System), ASOS (Automatic Surface Observation System) or ATIS
(Automated Terminal Information System).
51 Unicom or CTAF (USA), radio (UK)
– open channel for pilot position reporting at uncontrolled airports.
52 Clearance delivery.
53 Ground.
54 Tower.
55 Approach.
56 Departure.
Runway
surface codes
Meaning of
code
01 Asphalt.
02 Concrete.
03 Turf/grass.
04 Dirt.
05 Gravel.
06 Asphalt helipad (big “H” in
the middle).
07 Concrete helipad (big “H” in
the middle).
08 Turf helipad (big “H” in the
middle).
09 Dirt helipad (big “H” in the
middle).
10 Asphalt taxiway with yellow hold
line across long axis (not available from WorldMaker).
11 Concrete taxiway with yellow
hold line across long axis (not available from WorldMaker).
12 Dry lakebed runway (eg. at KEDW
Edwards AFB).
13 Water runways (marked with
bobbing buoys) for seaplane/floatplane bases (available in X-Plane 7.0
and later).
Visual
approach path indicator codes
Meaning of
code
1 No visual approach path lighting.
2 VASI (Visual Approach Slope Indicator).
3 PAPI (Precision Approach Path Indicator).
4 Space Shuttle Landing PAPI (steep 20 degree glide path) – its use is very rare!
Runway lighting
codes

Meaning of code

Note
that for values 1-5, the codes are cumulative – ie. code 3 also assumes code 1
and code 2
when X-Plane interprets
the data

1 No runway lighting.
2 Runway edge lights
(white).
3 Also has REIL (Runway End Identification Lights – the flashing strobes at
the approach end of the runway.
4 Also has CLL (Center Line Lighting).
5 Also has TDZ (Touch Down Zone) lighting.
6 Only has blue taxiway edge lights (use on
taxiways!).
Approach
lighting codes
Meaning of
code
1 No approach lights.
2 SSALS (Simplified short approach light system).
3 SALSF (Short approach light system with sequenced flashing
lights).
4 ALSF-I (Approach light system with sequenced flashing lights).
5 ALSF-II (Approach light system with sequenced flashing lights and red side bar
lights the last 1000’).
6 ODALS (Omni-directional approach light system).
7 Calvert (a British design) category 1.
8 Calvert (a British design) categories 2 and 3.
Runway
shoulder codes
Meaning of
code
0 No runway shoulder.
1 Asphalt runway shoulder.
2 Concrete runway shoulder.
Runway
marking codes
Meaning of
code
0 No runway markings. Also used for helipads (X-Plane will automatically draw the
big “H” based on the runway surface code), taxiways and water
runways. The runway markings available (see list below) are in accordance with
the US AIM (Aeronautical Information Manual) – other types may be added to cater
for different types of runway markings that may be used in other countries.
1 Visual markings.
2 Non-precision approach markings
3 Precision approach markings.

© Robin Peel,
2005.  Last updated March 29, 2005

Meta

Topic:

  • Airport & NAVAID Data

Article type:

  • Legacy File Format Specification