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 nav.dat file, 740 version.

  • This data file format is usable with X-Plane version 7.40 – 8.09.  It was superseded by the nav.dat 810 version.

  • This is the “official” definition of the X-Plane file formats. The nav.dat file defines all navigation aid data in X-Plane, including global NDBs, VORs, VORTACs, VOR-DMEs, DMEs, and ILS components (localisers, glideslopes, marker beacons and any associated DMEs).

File structure

The file structure is similar to all other X-Plane data files.

  • 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. “740 version” implies that this file format was first available for use in X-Plane version 7.40).   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, six nav-ads and a file termination line:

I
740 Version – DAFIF data cycle 200502, build 1921, metadata NavXP740, Copyright ©
2005, 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.

2 34.987022 -106.620384 5304   247  50      0.000 ILT  Isleta NDB
3 35.043796 -106.816312 5740 11320 130     13.000 ABQ  Albuquerque VORTAC
4 35.044026 -106.570548    0 11190  18     90.428 ISPT KABQ 08 ILS
6 35.043212 -106.614641 5352 11190  10 300090.428 ISPT KABQ 08  GS
7 35.046352 -106.742583    0     0
0     90.428 —- KABQ 08  OM
8 35.044686 -106.628247    0     0
0     90.428 —- KABQ 08  MM
99

The codes used to identify data are:

Line
codes used in nav.dat (740 version)
Code (nav.dat) Used for
2 NDB.
3 VOR, VORTAC or VOR-DME.
4 Localiser (LLZ) that is part of a
full ILS.
5 Stand-alone localiser (LLZ),
also including LDA (Landing Directional Aid) and SDF (Simplified Directional
Facility).
6 Glideslope (GS).
7 Outer marker (OM).
8 Middle marker (MM).
9 Inner marker (IM).
12 DME (including the DME element of
an ILS, VORTAC or VOR-DME).

Sequencing of data is conceptually unimportant.  But it controls the display of data on X-Plane’s menu options.  By default, data is sorted by the “line code”, then alphabetically by nav-aid name.

Changes from previous file versions

  • The previous file version for nav.dat was 600 version (no documentation available here).
  • A new field has been added to define the range of a nav-aid.  This is based upon DAFIF data, or upon defaults calculated from the nav-aid type and class..

Example data

Here is a simplified file fragment some nav-aids in nav.dat:

2  34.987022 -106.620384 5304   247  50      0.000 ILT  Isleta NDB
3  35.043796 -106.816312 5740 11320 130     13.000 ABQ  Albuquerque VORTAC
4  35.044026 -106.570548    0 11190  18     90.428 ISPT KABQ 08 ILS-cat-I
6  35.043212 -106.614641 5352 11190  10 300090.428 ISPT KABQ 08 GS
7  35.046352 -106.742583    0     0
0     90.428 —- KABQ 08 OM
8  35.044686 -106.628247    0     0
0     90.428 —- KABQ 08 MM
12 49.201986 -123.164006   28 11190 130      0.000  IRD Vancouver DME

This shows an NDB, VORTAC and an ILS (including localiser, glideslope, outer marker and inner marker) and a DME.  The meaning of the data (for the first record) is:

Meaning
of example nav-aid data (nav.dat 740 version)
Nav-aid
example
Example
Usage
2 Type of
nav-aid
34.987022 Latitude of nav-aid in decimal
degrees
-106.620384 Longitude of nav-aid in decimal degrees.
5304 Elevation of nav-aid in feet above MSL.
247 Frequency of nav-aid.  (Always an integer – so VOR and localiser frequencies multiplied by 100).
50 Range of the nav-aid in nautical miles.
0.000 Used
for several purposes, depending upon the type of nav-aid:

Indicates the slaved variation of a VOR/VORTAC in degrees (ie. how the VOR is aligned
compared to true north).  This value often differs slightly from the local magnetic variation.  Eastern variations are positive, western ones are negative.
In the above data, Albuquerque VORTAC has a slaved variation of 13.000 degrees East.

Indicates the heading of a localiser in true (not magnetic) degrees.  Also required for glideslopes (when it is combined with the glideslope angle – see below for details) and marker beacons.

Indicates the DME bias in nautical miles – often used for DMEs associated with an ILS
that are not located near the runway threshold.  This bias must be subtracted from the calculated distance to
the DME to give the desired cockpit reading.  This is typically used for a DME located in the centre of an airport that
serves multiple l ILS approaches, so that the DME will read zero at the
threshold of a runway.  This is a common set up in Europe.

ILT Identification of nav-aid (broadcast in Morse code in X-Plane).
Note that these are not unique.
Isleta NDB Name of nav-aid.
Note that for ILS components these are carefully structured (see below)
to identify the airport and runway..

Localisers (code 4 and 5) are very similar, except that:

  • They include the heading of the localiser (as described above).
  • The nav-aid name is replaced by the airport code, runway number and ILS component type (eg. “KABQ 08  ILS-cat-I”).   This data is not used by X-Plane, but is used by my import programmes that allocate the ILS elements to a valid runway in the master
    database.  I cannot import ILS data without these codes.
  • For a localiser-only (code 5), the name will be similar to “KABQ 08 LOC”.

Glideslopes (code 6) have very similar data to localisers, except that the glideslope angle (typically 3 degrees) is combined with the heading in a slightly complex fashion.  A glideslope of 3.00 degrees on a heading of 90.428 (true) will be listed as “300090.428”.  This is calculated by:

  • Rounding the glideslope angle (3 degrees in our example data) to two decimal places
    (3.00).
  • Multiplying the result by 100,000 (giving 300,000).
  • Adding the result to the heading (300,000 + 90.428 = 300090.428).

ILS marker beacons (codes, 7, 8 and 9) are formatted just like localisers, but note that:

  • They have no associated frequency (use  “0”).
  • They have no range (use “0”)
  • The heading is important, to ensure that they are oriented and displayed correctly on X-Plane’s approach charts.
  • Marker beacons do not have a Morse code identification, so “—-“ is used as a default. X-Plane will automatically generate the correct series of beeps for each type of beacon, if the aeroplane’s instrument panel is equipped with a marker beacon receiver.
  • For a Locator Outer Marker (LOM), which is an NDB co-located with an OM, the NDB
    must be added to nav.dat as a separate, stand-alone NDB (at the same location!).  The name of the OM must remain in the “KABQ 08  ILS” format – but the NDB may have the appropriate name (eg. “Wobin LOM”).

DMEs (code 12) are shown for:

  • Stand-alone DMEs (common in Europe, and often associated with an NDB).
  • The DME component of a VORTAC or VOR-DME (often identical position data to the co-located VOR)
  • DMEs associated with an ILS – often co-located with (or very close to) the localiser aerial.
  • The DME bias is displayed in the heading column, as described above.

© Robin Peel,
2005.  Last updated September 09, 2006

Meta

Topic:

  • Airport & NAVAID Data

Article type:

  • Legacy File Format Specification