To begin, we will dig back to our high school years and dust off the trusty GRASS problem solving method. A reminder:
Given
Required
Analysis
Solution and Statement
In the previous section we listed out our problem requirements (R) and vaguely mentioned what ingredients we have to work with (G). The next step is Analysis (A). In order to respect my available energy and your available time, I will not try to summarize the analysis process. The easiest way to explain the solution strategy will be to show the building process step by step. But to help you stay oriented, I have produced a small diagram (Figure 1) that outlines what we are going to build:
Figure 1: System Diagram
We start the building process by preparing some navigation data. X-Plane 11 comes with navigation data that you can access easily. The data is static, meaning it is not getting refreshed on the monthly AIRAC cycle or with any other updates. Per our listed design requirements (section 1.1), this is fine. The data we need for this project will be found in 3 files, from 2 locations:
C:\Program Files (x86)\...\X-Plane 11\Resources\default data
C:\Program Files (x86)\...\X-Plane 11\Resources\default scenery\default apt dat\Earth nav data
We are going to use:
apt.dat: contains airport and runway data
earth_fix.dat: contains navigation waypoints
earth_nav.dat: contains data about ground-based navigation aids ("navaids")
A quick mention of what some of the other files contain:
earth_astro.dat: star positions
earth_awy.dat: navigation airways
earth_hold.dat: published holds, that is, designated positions over which aircraft can fly a racetrack holding pattern
earth_mora.dat: MORA means Minimum Off-Route Altitude; these values are used for terrain clearance
earth_msa.dat: MSA means minimum sector altitude; purpose is similar to MORA
airspaces directory: contains a datafile with dimensions for polygons defining airspace divisions. In my purchased copy of X-Plane 11 this datafile only has airspace for the USA.
CIFP directory: CIFP means Coded Instrument Flight Procedures. This folder contains over 13,000 files, each defining an instrument flight procedure like a SID, STAR or Instrument Approach. The CIFPs included here are worldwide in coverage.
The X-Plane navigation datafiles are built in an ARINC-like format. ARINC is a set of specifications used in the aerospace industry for electronic transmission of data. The X-Plane developer website contains documentation for the file formats. The formats tend to get updated with each version of X-Plane, so it's important to pay attention to the version numbers in the documentation.
If we head over to the developer website, click on Documentation on the top menu:
That brings us here:
Here I have highlighted:
in yellow: links to the airport and navdata format docs
in green: link to the .fms file format, which is used for loading flight plans into the flight management system. We will hold on to this link for use near the end of the tutorial
Following the links, we will reach the following pages, where we can download .pdf documentation for the needed formats:
In the next section we will begin parsing the navdata files.