SimConnect_AddToFacilityDefinition

The SimConnect_AddToFacilityDefinition function is used to create a facility data definition.

 

Syntax
HRESULT SimConnect_AddToFacilityDefinition(
    HANDLE hSimConnect,
    SIMCONNECT_DATA_DEFINITION_ID DefineID,
    const char * FieldName
    );

 

Parameters
Parameter Description Type
hSimConnect Handle to a SimConnect object. Integer
DefineID Specifies the ID of the client defined data definition Integer
FieldName Specifies the client defined request ID. This will be returned along with the data. Integer

 

Return Values

The function returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return value Description
S_OK The function succeeded.
E_FAIL The function failed.

 

 

It is also possible that the following Exception IDs will be received:

  • SIMCONNECT_EXCEPTION_UNRECOGNIZED_ID - An invalid DefineID has been supplied.
  • SIMCONNECT_EXCEPTION_DATA_ERROR - An invalid FieldName has been supplied.

 

Remarks

This is used to add a new field to a client defined object definition in order to retrieve information. Using this function will require multiple calls and these calls will need to be formatted in a very specific way, initially using one of the four available entry points:

Each entry point will need to be prefixed with "OPEN " before any data is requested, and then prefixed with "CLOSED " to end the data retrieval, and this format works for the different child members of these entry points. For example:

SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "OPEN AIRPORT");
// Request further airport data
SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "CLOSE AIRPORT");
SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "OPEN NDB");
// Request further NDB data
SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "CLOSE NDB");
// etc...

Essentially, for every member that you open you must have a corresponding close, otherwise you will have an error. Note too that after defining the data that you want to retrieve, you will need to call SimConnect_RequestFacilityData to finalise and send the request.

 

At the bottom of this page you can find information on each of the entry points and the different members and children that they can contain.

 

Note that results may be filtered using the SimConnect_AddFacilityDataDefinitionFilter function, ensuring that you receive less data, and that the data is relevant.

 

Example
SIMCONNECT_DATA_DEFINITION_ID FACILITY_DATA_DEF_AIRPORT = 123;
{
    // Entry point will be an Airport
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "OPEN AIRPORT");
	
    // Add some airport members
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "A");
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "B");
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "C");
    
    // Runway is a child of Airport, so we can request them in Airport FacilityDataDefinition
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "OPEN RUNWAY");
	
    // Add some runway members
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "a");
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "b");
    
    // We requested every thing we want about runway, so "close" it to get back to Airport Definition
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "CLOSE RUNWAY");
    
    // We requested every thing we want about airport, so "close" it.
    SimConnect_AddToFacilityDefinition(hSimConnect, FACILITY_DATA_DEF_AIRPORT, "CLOSE AIRPORT");
    
    // Request data from Airport LFPG which will follow the format defined earlier.
    SimConnect_RequestFacilityData(hSimConnect, FACILITY_DATA_DEF_AIRPORT, 123, "LFPG");
}

In the example given above, we have created a facility data definition which will request members "A", "B", and "C" of an airport and members "a" and "b" of each runway for the airport with ICAO "LFPG" (which has four runways). You should receive back from this the following:

  • A message about Airport data [A, B, C]
  • 4 messages about runway data [a, b]

So, imagine we complete an example request like the one above and each runway has a child with members "1", "2", and "3".  In that case you would receive back the following data:

[A, B, C] [a, b] [1, 2, 3] [a, b] [1, 2, 3] [a, b] [1, 2, 3] [a, b] [1, 2, 3]

 

See Also

 

 

AIRPORT

For the airport entry point you can request the following information directly:

Name DataType Description
LATITUDE FLOAT64 The airport latitude, in degrees.
LONGITUDE FLOAT64 The airport longitude, in degrees.
ALTITUDE FLOAT64 The airport altitude, in meters.
MAGVAR FLOAT32 This is the magnetic variation for the airport position.
NAME CHAR[32] This is the name of the airport itself.
NAME64 STRING64 This is the name of the airport itself using a format that permits more than 32 characters.
ICAO STRING8 The airport ICAO code.
REGION STRING8 The airport region code.
TOWER_LATITUDE FLOAT64 The control tower latitude.
TOWER_LONGITUDE FLOAT64 The control tower longitude.
TOWER_ALTITUDE FLOAT64 The control tower altitude.
N_RUNWAYS INT32 The number of runways available at the airport. Individual runway data can be retrieved using the RUNWAY child member. 
N_STARTS INT32 The number of starting points available at the airport. Individual runway data can be retrieved using the START child member.
N_FREQUENCIES INT32 The number of frequencies available at the airport. Individual frequencies can be retrieved using the FREQUENCY child member. 
N_HELIPADS INT32 The number of helipads available at the airport. Individual helipad data can be retrieved using the HELIPAD child member. 
N_APPROACHES INT32 The number of approaches available at the airport. Individual approach data can be retrieved using the APPROACH child member. 
N_DEPARTURES INT32 The number of departures available at the airport. Individual departure data can be retrieved using the DEPARTURE child member. 
N_ARRIVALS INT32 The number of arrivals available at the airport. Individual arrivals can be retrieved using the ARRIVAL child member. 
N_TAXI_POINTS INT32 The number of taxiway points available. Individual points can be retrieved using the TAXI_POINT child member. 
N_TAXI_PARKINGS INT32 The number of taxiway parking spots available at the airport. Individual parking spot data can be retrieved using the TAXI_PARKING child member. 
N_TAXI_PATHS INT32 The number of taxiway paths available at the airport. Individual path data can be retrieved using the TAXI_PATH child member. 
N_TAXI_NAMES INT32 The number of taxiway names available at the airport. Individual taxiway name data can be retrieved using the TAXI_NAME child member. 
N_JETWAYS INT32 The number of jetways available at the airport. Individual jetway data can be retrieved using the JETWAY child member. 

 

The airport entry point also has the following children (which, in turn, may have their own children):

 

RUNWAY

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
LATITUDE FLOAT64 The latitude of the center of the runway, in degrees.
LONGITUDE FLOAT64 The longitude of the center of the runway, in degrees.
ALTITUDE FLOAT64 The altitude of the center of the runway, in meters.
HEADING FLOAT32 The runway heading, in degrees.
LENGTH FLOAT32 The runway length, in Meters. Note that this includes offset thresholds, but does not include blast pads or overruns.
WIDTH FLOAT32 The runway in meters.
PATTERN_ALTITUDE FLOAT32 The pattern altitude, in meters.
SLOPE FLOAT32 The runway slope, in degrees.
TRUE_SLOPE FLOAT32 The runway true slope, in degrees.
SURFACE INT32

The type of pavement used by the runway. The return value will be one of the following:

  1. 0: CONCRETE
  2. 1: GRASS
  3. 2: WATER FSX
  4. 3: GRASS BUMPY
  5. 4: ASPHALT
  6. 5: SHORT GRASS
  7. 6: LONG GRASS
  8. 7: HARD TURF
  9. 8: SNOW
  10. 9: ICE
  11. 10: URBAN
  12. 11: FOREST
  13. 12: DIRT
  14. 13: CORAL
  15. 14: GRAVEL
  16. 15: OIL TREATED
  17. 16: STEEL MATS  
  18. 17: BITUMINUS
  19. 18: BRICK
  20. 19: MACADAM
  21. 20: PLANKS
  22. 21: SAND
  23. 22: SHALE
  24. 23: TARMAC
  25. 24: WRIGHT FLYER TRACK
  26. 26: OCEAN
  27. 27: WATER
  28. 28: POND
  29. 29: LAKE
  30. 30: RIVER
  31. 31: WASTE WATER
  32. 32: PAINT
  33. 254: UNKNOWN
  34. 255: UNDEFINED
PRIMARY_ILS_ICAO CHAR[8] ILS ICAO code for the primary end of the runway.
PRIMARY_ILS_REGION CHAR[8] ILS region for the primary end of the runway.
PRIMARY_ILS_TYPE INT32

The primary ILS type, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

PRIMARY_NUMBER INT32

Number of the primary end of the runway, one of the following values:

  1. 0: NONE
  2. 1 - 36: RUNWAY ID
  3. 37: NORTH
  4. 38: NORTHEAST
  5. 39: EAST
  6. 40: SOUTHEAST
  7. 41: SOUTH
  8. 42: SOUTHWEST
  9. 43: WEST
  10. 44: NORTHWEST
  11. 45: LAST
PRIMARY_DESIGNATOR INT32

Designator of the primary end of the runway, one of the following values:

  1. 0: NONE
  2. 1: LEFT
  3. 2: RIGHT
  4. 3: CENTER
  5. 4: WATER
  6. 5: A
  7. 6: B
  8. 7: LAST
PRIMARY_THRESHOLD STRUCT Get data about the primary runway threshold. The child struct returned is of the PAVEMENT type.
PRIMARY_BLASTPAD STRUCT Get data about the primary runway blastpad. The child struct returned is of the PAVEMENT type.
PRIMARY_OVERRUN STRUCT Get data about the primary runway overrun. The child struct returned is of the PAVEMENT type.
PRIMARY_APPROACH_LIGHTS STRUCT Get data about the primary runway approach lights. The child struct returned is of the APPROACHLIGHTS type.
PRIMARY_LEFT_VASI STRUCT Get data about the primary runway left VASI. The child struct returned is of the VASI type.
PRIMARY_RIGHT_VASI STRUCT Get data about the primary runway right VASI. The child struct returned is of the VASI type.
SECONDARY_ILS_ICAO CHAR[8] ILS ICAO code for the secondary end of the runway.
SECONDARY_ILS_REGION CHAR[8] ILS region for the secondary end of the runway.
SECONDARY_ILS_TYPE INT32

The secondary ILS type, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

SECONDARY_NUMBER INT32

Number of the secondary end of the runway, one of the following values:

  1. 0: NONE
  2. 1 - 36: RUNWAY ID
  3. 37: NORTH
  4. 38: NORTHEAST
  5. 39: EAST
  6. 40: SOUTHEAST
  7. 41: SOUTH
  8. 42: SOUTHWEST
  9. 43: WEST
  10. 44: NORTHWEST
  11. 45: LAST
SECONDARY_DESIGNATOR INT32 Designator of the secondary end of the runway, one of the following values:
  1. 0: NONE
  2. 1: LEFT
  3. 2: RIGHT
  4. 3: CENTER
  5. 4: WATER
  6. 5: A
  7. 6: B
  8. 7: LAST
SECONDARY_THRESHOLD STRUCT Get data about the secondary runway threshold. The child struct returned is of the PAVEMENT type.
SECONDARY_BLASTPAD STRUCT Get data about the secondary runway blastpad. The child struct returned is of the PAVEMENT type.
SECONDARY_OVERRUN STRUCT Get data about the secondary runway overrun. The child struct returned is of the PAVEMENT type.
SECONDARY_APPROACH_LIGHTS STRUCT Get data about the secondary runway approach lights. The child struct returned is of the APPROACHLIGHTS type.
SECONDARY_LEFT_VASI STRUCT Get data about the secondary runway left VASI. The child struct returned is of the VASI type.
SECONDARY_RIGHT_VASI STRUCT Get data about the secondary runway right VASI. The child struct returned is of the VASI type.

 

PAVEMENT

This is a child member of the RUNWAY entry point and you can request the following data from it:

Name DataType Description
LENGTH FLOAT32 The length of the pavement area (in meters)
WIDTH FLOAT32 The width of the pavement area (in meters)
ENABLE INT32 Whether the requested pavement area is actually enabled for the runway or not.

 

APPROACHLIGHTS

This is a child member of the RUNWAY entry point and you can request the following data from it:

Name DataType Description
SYSTEM INT32

The type of approach light system, which can be one of the following:

  1. 0: NONE
  2. 1: ODALS
  3. 2: MALSF
  4. 3: MALSR
  5. 4: SSALF
  6. 5: SSALR
  7. 6: ALSF1
  8. 7: ALSF2
  9. 8: RAIL
  10. 9: CALVERT
  11. 10: CALVERT2
  12. 11: MALS
  13. 12: SALS
  14. 13: SALSF
  15. 14: SSALS
STROBE_COUNT INT32 The number of sequenced strobes.
HAS_END_LIGHTS INT32 Whether the runway has end lights or not.
HAS_REIL_LIGHTS INT32 Whether the runway has reil lights or not.
HAS_TOUCHDOWN_LIGHTS INT32 Whether the runway has touchdown lights or not.
ON_GROUND INT32 Indicates whether the lights are snapped to fit the ground terrain or not.
ENABLE INT32 Whether the approach lights are enabled or not.
OFFSET FLOAT32 The offset for the lights in meters.
SPACING FLOAT32 The spacing between the lights, in meters.
SLOPE FLOAT32 The slope of the approach lights expressed in degrees.

 

VASI

This is a child member of the RUNWAY entry point and you can request the following data from it:

Name DataType Description
TYPE INT32

The type of VASI being used, which can be one of the following:

  1. 0: NONE
  2. 1: VASI21 - 2 rows, 1 box/row
  3. 2: VASI22 - 2 rows, 2 boxes/row
  4. 3: VASI23 - 2 rows, 3 boxes/row
  5. 4: VASI31 - 3 rows, 1 box/row
  6. 5: VASI32 - 3 rows, 2 boxes/row
  7. 6: VASI33 - 3 rows, 3 boxes/row (far row has only two boxes, 8 light system)
  8. 7: PAPI2 - 2 light PAPI
  9. 8: PAPI4 - 4 light PAPI
  10. 9: TRICOLOR - Tri Color VASI
  11. 10: PVASI - Pulsating VASI
  12. 11: TVASI - colored VASI in a shared-"T" shape
  13. 12: BALL - presently remapped to PVASI
  14. 13: APAP - panels
BIAS_X FLOAT32 Distance from the runway center-line across the runway width to the reference point of the VASI, in meters.
BIAS_Z FLOAT32 Distance along the runway from the runway center point to the VASI reference point, in meters.
SPACING FLOAT32

Distance between light rows, in meters. Note that this is only applicable to the following types: VASI21, VASI31, VASI22, VASI32, VASI23, VASI33, and TVASI.

ANGLE FLOAT32 The approach angle, in degrees, of the VASI.

 

 

START

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
LATITUDE FLOAT64 Latitude of the start position, in degrees between -90.0° and 90.0°.
LONGITUDE FLOAT64 Longitude of the start position, in degrees between -180.0° and 180.0°.
ALTITUDE FLOAT64 Altitude of the start position, in meters.
HEADING FLOAT32 Facing angle for the start position. Value between 0° and 360°.
NUMBER INT32 Number of the runway to start on.
DESIGNATOR INT32 Designator of the runway chosen to start on.
TYPE INT32

The type of starting point, which can be one of the following:

  1. 0: UNKNOWN
  2. 1: RUNWAY
  3. 2: WATER
  4. 3: HELIPAD
  5. 4: TRACK

 

 

FREQUENCY

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
TYPE INT32

The type of radio frequency. Can be one of the following values:

  1. 0: NONE
  2. 1: ATIS
  3. 2: MULTICOM
  4. 3: UNICOM
  5. 4: CTAF
  6. 5: GROUND
  7. 6: TOWER
  8. 7: CLEARANCE (Clearance Delivery)
  9. 8: APPROACH
  10. 9: DEPARTURE
  11. 10: CENTER
  12. 11: FSS
  13. 12: AWOS
  14. 13: ASOS
  15. 14: CPT (Clearance Pre-Taxi)
  16. 15: GCO (Remote Clearance Delivery)
FREQUENCY INT32 The actual frequency, in Hz.
NAME CHAR[64] The channel name for the frquency.

 

 

HELIPAD

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
LATITUDE FLOAT64 The latitude of the center of the helipad, in degrees.
LONGITUDE FLOAT64 The longitude of the center of the helipad, in degrees.
ALTITUDE FLOAT64 The altitude of the center of the helipad, in meters.
HEADING FLOAT32 The heading of the helipad, in degrees.
LENGTH FLOAT32 The length of the helipad, in meters.
WIDTH FLOAT32 The width of the helipad, in meters.
SURFACE INT32

The type of pavement used by the helipad. The return value will be one of the following:

  1. 0: CONCRETE
  2. 1: GRASS
  3. 2: WATER FSX
  4. 3: GRASS BUMPY
  5. 4: ASPHALT
  6. 5: SHORT GRASS
  7. 6: LONG GRASS
  8. 7: HARD TURF
  9. 8: SNOW
  10. 9: ICE
  11. 10: URBAN
  12. 11: FOREST
  13. 12: DIRT
  14. 13: CORAL
  15. 14: GRAVEL
  16. 15: OIL TREATED
  17. 16: STEEL MATS  
  18. 17: BITUMINUS
  19. 18: BRICK
  20. 19: MACADAM
  21. 20: PLANKS
  22. 21: SAND
  23. 22: SHALE
  24. 23: TARMAC
  25. 24: WRIGHT FLYER TRACK
  26. 26: OCEAN                
  27. 27: WATER                
  28. 28: POND                
  29. 29: LAKE                
  30. 30: RIVER                
  31. 31: WASTE WATER
  32. 32: PAINT
  33. 254: UNKNOWN
  34. 255: UNDEFINED
TYPE INT32

The type of helipad, which will be one of the following values:

  1. 0: NONE
  2. 1: H
  3. 2: SQUARE
  4. 3: CIRCLE
  5. 4: MEDICAL

 

 

APPROACH

This is a child member of the AIRPORT entry point, and is itself an entry point for the APPROACH_TRANSITION, FINAL_APPROACH_LEG, and MISSED_APPROACH_LEG members.

 

This member can have the following data:

Name DataType Description
TYPE INT32

The approach type. Can be one of the following values:

  1. 0: UNDEFINED
  2. 1: GPS
  3. 2: VOR
  4. 3: NDB
  5. 4: ILS
  6. 5: LOCALIZER
  7. 6: SDF
  8. 7: LDA
  9. 8: VORDME
  10. 9: NDBDME
  11. 10: RNAV
  12. 11: LOCALIZER_BACK_COURSE
SUFFIX INT32 The multiple indicator suffix (must be converted to Char Alphanumeric or blank).
RUNWAY_NUMBER INT32 The number of the runway this approach is for, one of the following values:
  1. 0: NONE
  2. 1 - 36: RUNWAY ID
  3. 37: NORTH
  4. 38: NORTHEAST
  5. 39: EAST
  6. 40: SOUTHEAST
  7. 41: SOUTH
  8. 42: SOUTHWEST
  9. 43: WEST
  10. 44: NORTHWEST
  11. 45: LAST
RUNWAY_DESIGNATOR INT32 The Designator of the runway this approach is for, one of the following values:
  1. 0: NONE
  2. 1: LEFT
  3. 2: RIGHT
  4. 3: CENTER
  5. 4: WATER
  6. 5: A
  7. 6: B
  8. 7: LAST
FAF_ICAO CHAR[8] Final approach fix ICAO.
FAF_REGION CHAR[8] Final approach fix region
FAF_HEADING FLOAT32 Final approach fix heading, in degrees.
FAF_ALTITUDE FLOAT32 Final approach fix altitude, in Meters.
FAF_TYPE INT32

The final approach type, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

MISSED_ALTITUDE FLOAT32 Altitude of the first leg of the Missed approach, in ft.
HAS_LNAV INT32 Returns whether the approach has lateral navigation (1) or not (0).
HAS_LNAVVNAV INT32 Returns whether the approach has lateral and vertical navigation (1) or not (0).
HAS_LP INT32 Returns whether the approach has localizer performance (1) or not (0).
HAS_LPV INT32 Returns whether the approach has localizer performance with vertical guidance (1) or not (0).
N_TRANSITIONS INT32 The number of APPROACH_TRANSITIONs for the approach.
N_FINAL_APPROACH_LEGS INT32 The number of FINAL_APPROACH_LEG for the approach.
N_MISSED_APPROACH_LEGS INT32 The number of MISSED_APPROACH_LEG the approach.

 

APPROACH_TRANSITION

This is a child member of the APPROACH entry point, and is itself an entry point for the APPROACH_LEG member.

 

This member can have the following data:

Name DataType Description
TYPE INT32

The approach type. Can be one of the following values:

  1. 0: UNDEFINED
  2. 1: GPS
  3. 2: VOR
  4. 3: NDB
  5. 4: ILS
  6. 5: LOCALIZER
  7. 6: SDF
  8. 7: LDA
  9. 8: VORDME
  10. 9: NDBDME
  11. 10: RNAV
  12. 11: LOCALIZER_BACK_COURSE
IAF_ICAO CHAR[8] ICAO code of the NAVAID at the transition.
IAF_REGION CHAR[8] The region of the NAVAID at the transition.
IAF_TYPE INT32

The type of NAVAID transition, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

IAF_ALTITUDE FLOAT32 Desired altitude at the transition, in ft.
DME_ARC_ICAO CHAR[8] ICAO to the DME station.
DME_ARC_REGION CHAR[8] The region for the DME station.
DMC_ARC_TYPE INT32

The type of DME station, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

DME_ARC_RADIAL INT32 The name of the radial for the arc.
DME_ARC_DISTANCE FLOAT32 DME distance from the radial, in meters.
NAME CHAR[8] The name of the transition.
N_APPROACH_LEGS INT32 The number of APPROACH_LEGs for the transition.

 

APPROACH_LEG
FINAL_APPROACH_LEG
MISSED_APPROACH_LEG

This is a child member of the APPROACHAPPROACH_TRANSITION, RUNWAY_TRANSITION, ENROUTE_TRANSITIONDEPARTURE and ARRIVAL entry points, and has the following available data:

Name DataType Description
TYPE INT32

The approach leg type, which can be one of the following values:

  1. 0: UNKNOWN,
  2. 1: AF - dme arc to fix
  3. 2: CA - course to altitude
  4. 3: CD - course to dme distance
  5. 4: CF - course to fix
  6. 5: CI - course to intercept
  7. 6: CR - course to radial
  8. 7: DF - direct to fix
  9. 8: FA - fix to altitude
  10. 9: FC - track from fix
  11. 10: FD - track from fix to dme distance
  12. 11: FM - track from fix to manual terminator
  13. 12: HA - racetrack course reversal to altitude
  14. 13: HF - racetrack course reversal to fix
  15. 14: HM - racetrack course reversal to manual terminator
  16. 15: IF - initial fix
  17. 16: PI - procedure turn
  18. 17: RF - constant radius arc
  19. 18: TF - track to fix
  20. 19: VA - heading to altitude
  21. 20: VD - heading to dme distance
  22. 21: VI - heading to intercept
  23. 22: VM - heading to manual termination
  24. 23: VR - heading to radial
FIX_ICAO CHAR[8] ICAO of the defining point.
FIX_REGION CHAR[8] The Region of the defining point.
FIX_TYPE INT32

The type of defining point, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

FIX_LATITUDE FLOAT64 The latitude of the defining point.
FIX_LONGITUDE FLOAT64 The longitude of the defining point.
FIX_ALTITUDE FLOAT64 The altitude of the defining point.
FLY_OVER INT32 Whether the point is fly-over (1) as opposed to fly-by (0).
DISTANCE_MINUTE INT32 When (1), the ROUTE_DISTANCE field is in minutes, when (0) it is in meters.
TRUE_DEGREE INT32 When (1) THETA and COURSE are actually true north degrees, when (0) they are magnetic north degrees.
TURN_DIRECTION INT32

The approach turn direction, which can be one of the following values:

  1. 0: NONE
  2. 1: LEFT
  3. 2: RIGHT
  4. 3: EITHER
ORIGIN_ICAO CHAR[8] ICAO of origin navaid.
ORIGIN_REGION CHAR[8] The region of origin navaid.
ORIGIN_TYPE INT32

The type of origin navaid, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

ORIGIN_LATITUDE FLOAT64 The latitude of the origin navaid.
ORIGIN_LONGITUDE FLOAT64 The longitude of the origin navaid.
ORIGIN_ALTITUDE FLOAT64 The altitude of the origin navaid.
THETA FLOAT32 The magnetic bearing to the waypoint from origin navaid, in degrees. Note thjat this will be the true bearing if the TRUE_DEGREE parameter is true (1).
RHO FLOAT32 The distance to the waypoint from origin navaid, in meters.
COURSE FLOAT32 The magnetic course to the waypoint from origin navaid, in degrees. Note thjat this will be the true course if the TRUE_DEGREE parameter is true (1).
ROUTE_DISTANCE FLOAT32 The route distance measured in either meters or minutes, depending on the DISTANCE_MINUTE value.
APPROACH_ALT_DESC INT32

Alternative description for the approach leg, which can be one of the following:

  1. 0: NOT_USED
  2. 1: AT
  3. 2: AT_OR_ABOVE
  4. 3: AT_OR_BELOW
  5. 4: IN_BETWEEN
ALTITUDE1 FLOAT32 Returns the leg altitude, in meters. This is only available when the APPROACH_ALT_DESC value is not 0.
ALTITUDE2 FLOAT32 Returns the second leg altitude entry, in meters. This is only available when APPROACH_ALT_DESC is 4.
SPEED_LIMIT FLOAT32 The speed limit, in kias.
VERTICAL_ANGLE FLOAT32 The vertical angle, in degrees.
ARC_CENTER_FIX_ICAO CHAR[8] ICAO of the arc center fix (for RF legs)
ARC_CENTER_FIX_REGION CHAR[8] Region of the arc center fix (for RF legs)
ARC_CENTER_FIX_TYPE  

The type of of arc center fix, one of the following:

  1. 65 ('A') - Airport
  2. 86 ('V') - VOR
  3. 78 ('N') - NDB
  4. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

ARC_CENTER_FIX_LATITUDE FLOAT64 The latitude of the arc center fix (for RF legs)
ARC_CENTER_FIX_LONGITUDE FLOAT64 The longitude of the arc center fix (for RF legs)
ARC_CENTER_FIX_ALTITUDE FLOAT64 The altitude of the arc center fix (for RF legs)
IS_IAF INT32 Returns whether the waypoint defined by the FIX_ICAO entry is the Initial Approach Fix (1) or not (0).
IS_IF INT32 Returns whether the waypoint defined by the FIX_ICAO entry is the Intermediate Approach Fix (1) or not (0).
IS_FAF INT32 Returns whether the waypoint defined by the FIX_ICAO entry is the Final Approach Fix (1) or not (0).
IS_MAP INT32 Returns whether the waypoint defined by the FIX_ICAO entry is the Missed Approach Point (1) or not (0).

 

DEPARTURE

This is a child member of the AIRPORT entry point, and is itself an entry point for RUNWAY_TRANSITION, ENROUTE_TRANSITION, and APPROACH_LEG.

 

You can request the following data from it:

Name DataType Description
NAME CHAR[8] The name of the departure.
N_RUNWAY_TRANSITIONS INT32 The number of RUNWAY_TRANSITIONs for the departure.
N_ENROUTE_TRANSITIONS INT32 The number of ENROUTE_TRANSITIONs for the departure.
N_APPROACH_LEGS INT32 The number of APPROACH_LEGs for the departure.

 

ARRIVAL

This is a child member of the AIRPORT entry point, and is itself an entry point for RUNWAY_TRANSITION, ENROUTE_TRANSITION, and APPROACH_LEG.

 

You can request the following data from it:

Name DataType Description
NAME CHAR[8] The name of the arrival.
N_RUNWAY_TRANSITIONS INT32 The number of RUNWAY_TRANSITIONs for the arrival.
N_ENROUTE_TRANSITIONS INT32 The number of ENROUTE_TRANSITIONs for the arrival.
N_APPROACH_LEGS INT32 The number of APPROACH_LEGs for the arrival.

 

TAXI_PARKING

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
TYPE INT32

The type of parking spot. Can be any one of the following values:

  1. 0: NONE
  2. 1: RAMP_GA
  3. 2: RAMP_GA_SMALL
  4. 3: RAMP_GA_MEDIUM
  5. 4: RAMP_GA_LARGE
  6. 5: RAMP_CARGO
  7. 6: RAMP_MIL_CARGO
  8. 7: RAMP_MIL_COMBAT
  9. 8: GATE_SMALL
  10. 9: GATE_MEDIUM
  11. 10: GATE_HEAVY
  12. 11: DOCK_GA
  13. 12: FUEL
  14. 13: VEHICLE
  15. 14: RAMP_GA_EXTRA
  16. 15: GATE_EXTRA
TAXI_POINT_TYPE INT32

Taxiway point type. Can be one of the following:

  1. 0: NONE
  2. 1: NORMAL
  3. 2: HOLD_SHORT
  4. 4: ILS_HOLD_SHORT
  5. 5: HOLD_SHORT_NO_DRAW
  6. 6: ILS_HOLD_SHORT_NO_DRAW
NAME INT32

The name of the parking spot. Can be any one of the following:

  1. 0: NONE
  2. 1: PARKING
  3. 2: N_PARKING
  4. 3: NE_PARKING
  5. 4: E_PARKING
  6. 5: SE_PARKING
  7. 6: S_PARKING
  8. 7: SW_PARKING
  9. 8: W_PARKING
  10. 9: NW_PARKING
  11. 10: GATE
  12. 11: DOCK
  13. 12 - 37: GATE_A - GATE_Z
SUFFIX INT32

The suffix of the parking spot. Can be any one of the following:

  1. 0: NONE
  2. 1: PARKING
  3. 2: N_PARKING
  4. 3: NE_PARKING
  5. 4: E_PARKING
  6. 5: SE_PARKING
  7. 6: S_PARKING
  8. 7: SW_PARKING
  9. 8: W_PARKING
  10. 9: NW_PARKING
  11. 10: GATE
  12. 11: DOCK
  13. 12 - 37: GATE_A - GATE_Z
NUMBER UINT32 The number of the parking place.
ORIENTATION INT32

The orientation when the taxi point type is hold short:

  1. 0: FORWARD
  2. 1: REVERSE
HEADING FLOAT32 The heading of the parking spot, in degrees true.
RADIUS FLOAT32 The size of the parking spot, in meters.
BIAS_X FLOAT32 Bias from airport reference along the longitudinal axis in meters.
BIAS_Z FLOAT32 Bias from airport reference along the latitudinal axis in meters.

 

TAXI_POINT

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
TYPE INT32

Taxiway point type. Can be one of the following:

  1. 0: NONE
  2. 1: NORMAL
  3. 2: HOLD_SHORT
  4. 4: ILS_HOLD_SHORT
  5. 5: HOLD_SHORT_NO_DRAW
  6. 6: ILS_HOLD_SHORT_NO_DRAW
ORIENTATION INT32

The orientation when the type is hold short:

  1. 0: FORWARD
  2. 1: REVERSE
BIAS_X FLOAT32 Bias from airport reference along the longitudinal axis in meters.
BIAS_Z FLOAT32 Bias from airport reference along the latitudinal axis in meters.

 

TAXI_PATH

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
TYPE INT32

the type of taxiway path. Can be any one of the following values:

  1. 0: NONE
  2. 1: TAXI
  3. 2: RUNWAY
  4. 3: PARKING
  5. 4: PATH
  6. 5: CLOSED
  7. 6: VEHICLE
  8. 7: ROAD
  9. 8: PAINTEDLINE
WIDTH FLOAT32 The width of the taxiway, in meters.
LEFT_HALF_WIDTH FLOAT32 The left-side width in case of an asymmetric taxiway.
RIGHT_HALF_WIDTH FLOAT32 The right-side width in case of an asymmetric taxiway.
WEIGHT UINT32 The weight limit in lbs.
RUNWAY_NUMBER INT32 The number of the runway this taxiway path is for, one of the following values:
  1. 0: NONE
  2. 1 - 36: RUNWAY ID
  3. 37: NORTH
  4. 38: NORTHEAST
  5. 39: EAST
  6. 40: SOUTHEAST
  7. 41: SOUTH
  8. 42: SOUTHWEST
  9. 43: WEST
  10. 44: NORTHWEST
  11. 45: LAST
RUNWAY_DESIGNATOR INT32 The Designator of the runway this taxiway path is for, one of the following values:
  1. 0: NONE
  2. 1: LEFT
  3. 2: RIGHT
  4. 3: CENTER
  5. 4: WATER
  6. 5: A
  7. 6: B
  8. 7: LAST
LEFT_EDGE INT32

The left edge type, one of the following:

  1. 0: NONE
  2. 1: SOLID
  3. 2: DASHED
  4. 3: SOLID_DASHED
LEFT_EDGE_LIGHTED  INT32 Whether the taxiway path left edge line is lit (1, TRUE) or not (0, FALSE). The default is 0.
RIGHT_EDGE INT32

The right edge type, one of the following:

  1. 0: NONE
  2. 1: SOLID
  3. 2: DASHED
  4. 3: SOLID_DASHED
RIGHT_EDGE_LIGHTED INT32 Whether the taxiway path right edge line is lit (1, TRUE) or not (0, FALSE). The default is 0.
CENTER_LINE INT32 Whether the taxiway path has a center line (1, TRUE) or not (0, FALSE). The default is 0.
CENTER_LINE_LIGHTED INT32 Whether the taxiway path center line is lit (1, TRUE) or not (0, FALSE). The default is 0.
START INT32 The index number of taxiway point or parking space the path starts from. Value from 0 to 3999.
END INT32 The index number of taxiway point or parking space the path ends on. Value from 0 to 3999.
NAME_INDEX UINT32 The name index.

 

TAXI_NAME

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
NAME CHAR[32] The taxiway name.

 

JETWAY

This is a child member of the AIRPORT entry point and you can request the following data from it:

Name DataType Description
PARKING_GATE INT32

The name of the parking spot the jetway is assigned to. Can be any one of the following:

  1. 0: NONE
  2. 1: PARKING
  3. 2: N_PARKING
  4. 3: NE_PARKING
  5. 4: E_PARKING
  6. 5: SE_PARKING
  7. 6: S_PARKING
  8. 7: SW_PARKING
  9. 8: W_PARKING
  10. 9: NW_PARKING
  11. 10: GATE
  12. 11: DOCK
  13. 12 - 37: GATE_A - GATE_Z
PARKING_SUFFIX INT32

The suffix of the parking spot the jetway is assigned to. Can be any one of the following:

  1. 0: NONE
  2. 1: PARKING
  3. 2: N_PARKING
  4. 3: NE_PARKING
  5. 4: E_PARKING
  6. 5: SE_PARKING
  7. 6: S_PARKING
  8. 7: SW_PARKING
  9. 8: W_PARKING
  10. 9: NW_PARKING
  11. 10: GATE
  12. 11: DOCK
  13. 12 - 37: GATE_A - GATE_Z
PARKING_SPOT INT32 The index of taxiway point where the parking spot is located (a value between 0 and 3999.)

 

RUNWAY_TRANSITION

This is a child member of the DEPARTURE and ARRIVAL entry points and is itself an entry point for APPROACH_LEG.

 

You can request the following data from it:

Name DataType Description
RUNWAY_NUMBER INT32 The number of the runway this transition is for, one of the following values:
  1. 0: NONE
  2. 1 - 36: RUNWAY ID
  3. 37: NORTH
  4. 38: NORTHEAST
  5. 39: EAST
  6. 40: SOUTHEAST
  7. 41: SOUTH
  8. 42: SOUTHWEST
  9. 43: WEST
  10. 44: NORTHWEST
  11. 45: LAST
RUNWAY_DESIGNATOR INT32 The designator of the runway this transition is for, one of the following values:
  1. 0: NONE
  2. 1: LEFT
  3. 2: RIGHT
  4. 3: CENTER
  5. 4: WATER
  6. 5: A
  7. 6: B
  8. 7: LAST
N_APPROACH_LEGS INT32 The number of APPROACH_LEGs for the transition.

 

ENROUTE_TRANSITION

This is a child member of the DEPARTURE and ARRIVAL entry points and is itself an entry point for APPROACH_LEG.

 

You can request the following data from it:

Name DataType Description
NAME Char[8] The transition name.
N_APPROACH_LEGS INT32 The number of APPROACH_LEGs for the transition.

 

 

WAYPOINT

The waypoint entry point can have the ROUTE child member and you can request the following information directly:

Name DataType Description
LATITUDE FLOAT64 The waypoint latitude, in degrees.
LONGITUDE FLOAT64 The waypoint longitude, in degrees.
ALTITUDE FLOAT64 The waypoint altitude, in meters.
TYPE INT32

The type of waypoint, which can be any one of the following values:

  1. 0: NONE
  2. 1: NAMED
  3. 2: UNNAMED
  4. 3: VOR
  5. 4: NDB
  6. 5: OFFROUTE
  7. 6: IAF
  8. 7: FAF
  9. 8: RNAV
  10. 9: VFR
MAGVAR FLOAT32 This is the magnetic variation for the waypoint position.
N_ROUTES INT32 The number of ROUTEs for the waypoint.
ICAO CHAR[8] The ICAO code for the waypoint.
REGION CHAR[8] The region (if available) for the waypoint. WIll be "" if no region is specified.
IS_TERMINAL_WPT INT32 Will be 1 if the waypoint is a terminal waypoint, or 0 otherwise.

 

ROUTE

This is a child member of the WAYPOINT entry point and you can request the following data from it:

Name DataType  
NAME CHAR[32] The name of the route.
TYPE INT32

The airway type, which can be any one of the following:

  1. 0: NONE
  2. 1: VICTOR
  3. 2: JET
  4. 3: BOTH
NEXT_ICAO CHAR[8] ICAO of the next waypoint of the route.
NEXT_REGION CHAR[8] Region of the next waypoint of the route. Will be "" if the region isn't specified.
NEXT_TYPE INT32

The next waypoint type which can be any one of the following:

  1. 86 ('V') - VOR
  2. 78 ('N') - NDB
  3. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

NEXT_LATITUDE FLOAT64 The latitude of the next waypoint.
NEXT_LONGITUDE FLOAT64 The longitude of the next waypoint.
NEXT_ALTITUDE FLOAT32 Minimum altitude, in meters, of the next route point.
PREV_ICAO CHAR[8] ICAO of the previous point of the route.
PREV_REGION CHAR[8] Region of the previous point of the route. Will be "" if the region isn't specified.
PREV_TYPE INT32

The previous waypoint type which can be any one of the following ASCii values:

  1. 86 ('V') - VOR
  2. 78 ('N') - NDB
  3. 87 ('W') - Waypoint

(Note that this will have to be cast as a char)

NEXT_LATITUDE FLOAT64 The latitude of the previous waypoint.
NEXT_LONGITUDE FLOAT64 The longitude of the previous waypoint.
PREV_ALTITUDE FLOAT32 Minimum altitude, in meters, of the previous route point.

 

 

NDB

The NDB entry point can request the following information:

Name DataType Description
LATITUDE FLOAT64 The latitude, in degrees, for the NDB transmitter.
LONGITUDE FLOAT64 The longitude, in degrees, for the NDB transmitter.
ALTITUDE FLOAT64 The altitude, in meters, for the NDB transmitter.
FREQUENCY UINT32 The frequency of the transmitter.
TYPE INT32

The type of transmitter, which can be one of the following values:

  1. 0: Compass Locator
  2. 1: Medium Homing
  3. 2: Homing
  4. 3: High Homing
RANGE FLOAT32 The station transmitter range, in meters.
MAGVAR FLOAT32 This is the magnetic variation for the station.
IS_TERMINAL_NDB INT32 Returns (1) if the station is a terminal NDB, or (0) otherwise.
NAME CHAR[64] The name of the NDB transmitter station.

 

 

VOR

The VOR entry point can request the following information:

Name DataType Description
VOR_LATITUDE FLOAT64 The latitude, in degrees, for the VOR transmitter.
VOR_LONGITUDE FLOAT64 The longitude, in degrees, for the VOR transmitter.
VOR_ALTITUDE FLOAT64 The altitude, in meters, for the VOR transmitter.
DME_LATITUDE FLOAT64 The latitude, in degrees, for the DME beacon.
DME_LONGITUDE FLOAT64 The longitude, in degrees, for the DME beacon.
DME_ALTITUDE FLOAT64 The altitude, in meters, for the DME beacon.
GS_LATITUDE FLOAT64 The latitude, in degrees, for the glideslope.
GS_LONGITUDE FLOAT64 The longitude, in degrees, for the glideslope.
GS_ALTITUDE FLOAT64 The altitude, in meters, for the glideslope.
TACAN_LATITUDE FLOAT64 The latitude, in degrees, for the Tacan system.
TACAN_LONGITUDE FLOAT64 The longitude, in degrees, for the Tacan system.
TACAN_ALTITUDE FLOAT64 The altitude, in meters, for the Tacan system.
IS_NAV INT32 Returns whether the beacon is a Nav beacon (1) or not (0).
IS_DME INT32 Returns whether the beacon is a DME beacon (1) or not (0).
IS_TACAN INT32 Returns whether the beacon is a TACAN transmitter (1) or not (0).
HAS_GLIDE_SLOPE INT32 Returns whether the beacon has a glideslope (1) or not (0).
DME_AT_NAV INT32

Returns true (1) when the DME is co-located with the VOR station, and returns false (0) when it's not.

DME_AT_GLIDE_SLOPE INT32 Returns true (1) when the DME is co-located with the Glideslope or Localizer, and returns false (0) when it's not.
HAS_BACK_COURSE INT32 Returns whether the beacon has a back course (1) or not (0).
FREQUENCY UINT32 The frequency for the station.
TYPE INT32

The VOR type, which can be one of the following values:

  1. 0: UNKNOWN
  2. 1: TERMINAL
  3. 2: LOW_ALTITUDE
  4. 3: LOW_ALT
  5. 4: HIGH_ALTITUDE
  6. 5: HIGH_ALT
  7. 6: ILS
  8. 7: VOT
NAV_RANGE FLOAT32 The station range,  in meters.
MAGVAR FLOAT32 This is the magnetic variation for the station.
LOCALIZER FLOAT32 The localizer heading, in degrees.
LOCALIZER_WIDTH FLOAT32 The localizer beam width, in degrees.
GLIDE_SLOPE FLOAT32 The glide slope, in degrees.
NAME CHAR[64] The VOR station name.