X-Plane/Flightgear aeronautical data¶
Driver short name
XPlane
Driver built-in by default
This driver is built-in by default
The X-Plane aeronautical data is supported for read access. This data is for example used by the X-Plane and Flightgear software.
The driver is able to read the following files :
Filename |
Description |
Supported versions |
---|---|---|
Airport data |
850, 810 |
|
nav.dat (or earth_nav.dat) |
Navigation aids |
810, 740 |
fix.dat (or earth_fix.dat) |
IFR intersections |
600 |
awy.dat (or earth_awy.dat) |
Airways |
640 |
Each file will be reported as a set of layers whose data schema is given below. The data schema is generally as close as possible to the original schema data described in the X-Plane specification. However, please note that meters (or kilometers) are always used to report heights, elevations, distances (widths, lengths), etc., even if the original data are sometimes expressed in feet or nautical miles.
Data is reported as being expressed in WGS84 datum (latitude, longitude), although the specification is not very clear on that subject.
The OGR_XPLANE_READ_WHOLE_FILE configuration option can be set to FALSE when reading a big file in regards with the available RAM (especially true for apt.dat). This option forces the driver not to cache features in RAM, but just to fetch the features of the current layer. Of course, this will have a negative impact on performance.
Driver capabilities¶
Supports Georeferencing
This driver supports georeferencing
Supports VirtualIO
This driver supports virtual I/O operations (/vsimem/, etc.)
Examples¶
Converting all the layers contained in ‘apt.dat’ in a set of shapefiles :
% ogr2ogr apt_shapes apt.dat
Converting all the layers contained in ‘apt.dat’ into a PostreSQL database :
% PG_USE_COPY=yes ogr2ogr -overwrite -f PostgreSQL PG:"dbname=apt" apt.dat
See Also¶
Airport data (apt.dat)¶
This file contains the description of elements defining airports, heliports, seabases, with their runways and taxiways, ATC frequencies, etc.
The following layers are reported :
APT (Point)
RunwayThreshold (Point)
RunwayPolygon (Polygon)
WaterRunwayThreshold (Point)
WaterRunwayPolygon (Polygon)
Stopway (Polygon)
Helipad (Point)
HelipadPolygon (Polygon)
TaxiwayRectangle (Polygon)
Pavement (Polygon)
APTBoundary (Polygon)
APTLinearFeature (Line String)
StartupLocation (Point)
APTLightBeacon (Point)
APTWindsock (Point)
TaxiwaySign (Point)
VASI_PAPI_WIGWAG (Point)
ATCFreq (None)
All the layers other than APT will refer to the airport thanks to the “apt_icao” column, that can serve as a foreign key.
APT layer¶
Main description for an airport. The position reported will be the position of the tower view point if present, otherwise the position of the first runway threshold found.
Fields:
apt_icao: String (5.0). ICAO code for the airport.
apt_name: String (0.0). Full name of the airport.
type: Integer (1.0). Airport type : 0 for regular airport, 1 for seaplane/floatplane base, 2 for heliport (added in GDAL 1.7.0)
elevation_m: Real (8.2). Elevation of the airport (in meters).
has_tower: Integer (1.0). Set to 1 if the airport has a tower view point.
hgt_tower_m: Real (8.2). Height of the tower view point if present.
tower_name: String (32.0). Name of the tower view point if present.
RunwayThreshold layer¶
Note : when a runway has a displaced threshold, the threshold will be reported as 2 features : one at the non-displaced threshold position (is_displaced=0), and another one at the displaced threshold position (is_displaced=1).
Fields:
apt_icao: String (5.0). ICAO code for the airport of this runway threshold.
rwy_num: String (3.0). Code for the runway, such as 18, 02L, etc… Unique for each airport.
width_m: Real (3.0). Width in meters.
surface: String (0.0). Type of the surface among :
Asphalt
Concrete
Turf/grass
Dirt
Gravel
Dry lakebed
Water
Snow
Transparent
shoulder: String (0.0). Type of the runway shoulder among :
None
Asphalt
Concrete
smoothness: Real (4.2). Runway smoothness. Percentage between 0.00 and 1.00. 0.25 is the default value.
centerline_lights: Integer (1.0). Set to 1 if the runway has centre-line lights
edge_lighting: String (0.0). Type of edge lighting among :
None
Yes (when imported from V810 records)
LIRL . Low intensity runway lights (proposed for V90x)
MIRL : Medium intensity runway lights
HIRL : High intensity runway lights (proposed for V90x)
distance_remaining_signs: Integer (1.0). Set to 1 if the runway has ‘distance remaining’ lights.
displaced_threshold_m: Real (3.0). Distance between the threshold and the displaced threshold.
is_displaced: Integer (1.0). Set to 1 if the position is the position of the displaced threshold.
stopway_length_m: Real (3.0). Length of stopway/blastpad/over-run at the approach end of runway in meters
markings: String (0.0). Runway markings for the end of the runway among :
None
Visual
Non-precision approach
Precision approach
UK-style non-precision
UK-style precision
approach_lighting: String (0.0). Approach lighting for the end of the runway among :
None
ALSF-I
ALSF-II
Calvert
Calvert ISL Cat II and III
SSALR
SSALS (V810 records)
SSALF
SALS
MALSR
MALSF
MALS
ODALS
RAIL
touchdown_lights: Integer (1.0). Set to 1 if the runway has touchdown-zone lights (TDZL)
REIL: String (0.0). Runway End Identifier Lights (REIL) among :
None
Omni-directional
Unidirectionnal
length_m: Real (5.0). (Computed field). Length in meters between the 2 thresholds at both ends of the runway. The displaced thresholds are not taken into account in this computation.
true_heading_deg: Real (6.2). (Computed field). True heading in degree at the approach of the end of the runway.
RunwayPolygon layer¶
This layer contains the rectangular shape of a runway. It is computed from the runway threshold information. When not specified, the meaning of the fields is the same as the RunwayThreshold layer. Fields:
apt_icao: String (5.0)
rwy_num1: String (3.0). Code for first runway threshold. For example 20L.
rwy_num2: String (3.0). Code for the second the runway threshold. For example 02R.
width_m: Real (3.0)
surface: String (0.0)
shoulder: String (0.0)
smoothness: Real (4.2)
centerline_lights: Integer (1.0)
edge_lighting: String (0.0)
distance_remaining_signs: Integer (1.0)
length_m: Real (5.0)
true_heading_deg: Real (6.2). True heading from the first runway to the second runway.
WaterRunwayThreshold (Point)¶
Fields:
apt_icao: String (5.0)
rwy_num: String (3.0). Code for the runway, such as 18. Unique for each airport.
width_m: Real (3.0)
has_buoys: Integer (1.0). Set to 1 if the runway should be marked with buoys bobbing in the water
length_m: Real (5.0). (Computed field) Length between the two ends of the water runway.
true_heading_deg: Real (6.2). (Computed field). True heading in degree at the approach of the end of the runway.
WaterRunwayPolygon (Polygon)¶
This layer contains the rectangular shape of a water runway. It is computed from the water runway threshold information. Fields:
apt_icao: String (5.0)
rwy_num1: String (3.0)
rwy_num2: String (3.0)
width_m: Real (3.0)
has_buoys: Integer (1.0)
length_m: Real (5.0)
true_heading_deg: Real (6.2)
Stopway layer (Polygon)¶
(Starting with GDAL 1.7.0) This layer contains the rectangular shape of a stopway/blastpad/over-run that may be found at the beginning of a runway. It is part of the tarmac but not intended to be used for normal operations. It is computed from the runway stopway/blastpad/over-run length information and only present when this length is non zero. When not specified, the meaning of the fields is the same as the RunwayThreshold layer. Fields:
apt_icao: String (5.0)
rwy_num: String (3.0).
width_m: Real (3.0)
length_m: Real (5.0) : Length of stopway/blastpad/over-run at the approach end of runway in meters.
Helipad (Point)¶
This layer contains the center of a helipad. Fields:
apt_icao: String (5.0)
helipad_name: String (5.0). Name of the helipad in the format “Hxx”. Unique for each airport.
true_heading_deg: Real (6.2)
length_m: Real (5.0)
width_m: Real (3.0)
surface: String (0.0). See above runway surface codes.
markings: String (0.0). See above runway markings codes.
shoulder: String (0.0). See above runway shoulder codes.
smoothness: Real (4.2). See above runway smoothness description.
edge_lighting: String (0.0). Helipad edge lighting among :
None
Yes (V810 records)
Yellow
White (proposed for V90x)
Red (V810 records)
HelipadPolygon (Polygon)¶
This layer contains the rectangular shape of a helipad. The fields are identical to the Helipad layer.
TaxiwayRectangle (Polygon) - V810 record¶
This layer contains the rectangular shape of a taxiway. Fields:
apt_icao: String (5.0)
true_heading_deg: Real (6.2)
length_m: Real (5.0)
width_m: Real (3.0)
surface: String (0.0). See above runway surface codes.
smoothness: Real (4.2). See above runway smoothness description.
edge_lighting: Integer (1.0). Set to 1 if the taxiway has edge lighting.
Pavement (Polygon)¶
This layer contains polygonal chunks of pavement for taxiways and aprons. The polygons may include holes.
The source file may contain Bezier curves as sides of the polygon. Due to the lack of support for such geometry into OGR Simple Feature model, Bezier curves are discretized into linear pieces.
Fields:
apt_icao: String (5.0)
name: String (0.0)
surface: String (0.0). See above runway surface codes.
smoothness: Real (4.2). See above runway smoothness description.
texture_heading: Real (6.2). Pavement texture grain direction in true degrees
APTBoundary (Polygon)¶
This layer contains the boundary of the airport. There is at the maximum one such feature per airport. The polygon may include holes. Bezier curves are discretized into linear pieces.
Fields:
apt_icao: String (5.0)
name: String (0.0)
APTLinearFeature (Line String)¶
This layer contains linear features. Bezier curves are discretized into linear pieces.
Fields:
apt_icao: String (5.0)
name: String (0.0)
StartupLocation (Point)¶
Define gate positions, ramp locations etc.
Fields:
apt_icao: String (5.0)
name: String (0.0)
true_heading_deg: Real (6.2)
APTLightBeacon (Point)¶
Define airport light beacons.
Fields:
apt_icao: String (5.0)
name: String (0.0)
color: String (0.0). Color of the light beacon among :
None
White-green: land airport
White-yellow: seaplane base
Green-yellow-white: heliports
White-white-green: military field
APTWindsock (Point)¶
Define airport windsocks.
Fields:
apt_icao: String (5.0)
name: String (0.0)
is_illuminated: Integer (1.0)
TaxiwaySign (Point)¶
Define airport taxiway signs.
Fields:
apt_icao: String (5.0)
text: String (0.0). This is somehow encoded into a specific format. See X-Plane specification (pages 13 and 14) for more details.
true_heading_deg: Real (6.2)
size: Integer (1.0). From 1 to 5. See X-Plane specification for more details.
VASI_PAPI_WIGWAG (Point)¶
Define a VASI, PAPI or Wig-Wag. For PAPIs and Wig-Wags, the coordinate is the centre of the display. For VASIs, this is the mid point between the two VASI light units.
Fields:
apt_icao: String (5.0)
rwy_num: String (3.0). Foreign key to the rwy_num field of the RunwayThreshold layer.
type: String (0.0). Type among :
VASI
PAPI Left
PAPI Right
Space Shuttle PAPI
Tri-colour VASI
Wig-Wag lights
true_heading_deg: Real (6.2)
visual_glide_deg: Real (4.2)
ATCFreq (None)¶
Define an airport ATC frequency. Note that this layer has no geometry.
Fields:
apt_icao: String (5.0)
atc_type: String (4.0). Type of the frequency among (derived from the record type number) :
ATIS : AWOS (Automatic Weather Observation System), ASOS (Automatic Surface Observation System) or ATIS (Automated Terminal Information System)
CTAF : Unicom or CTAF (USA), radio (UK)
CLD : Clearance delivery (CLD)
GND : Ground
TWR : Tower
APP : Approach
DEP : Departure
freq_name: String (0.0). Name of the ATC frequency. This is often an abbreviation (such as GND for “Ground”).
freq_mhz: Real (7.3). Frequency in MHz.
IFR intersections (fix.dat)¶
This file contain IFR intersections (often referred to as “fixes”).
The following layer is reported :
FIX (Point)
Airways (awy.dat)¶
This file contains the description of airway segments.
The following layers are reported :
AirwaySegment (Line String)
AirwayIntersection (Point)
AirwaySegment (Line String)¶
Fields:
segment_name: String (0.0)
point1_name: String (0.0) : Name of intersection or nav-aid at the beginning of this segment
point2_name: String (0.0) : Name of intersection or nav-aid at the beginning of this segment
is_high: Integer (1.0) : Set to 1 if this is a “High” airway.
base_FL: Integer (3.0) : Flight level (hundreds of feet) of the base of the airway.
top_FL: Integer (3.0) : Flight level (hundreds of feet) of the top of the airway.