An airport in Microsoft Flight Simulator is a modular structure meant to describe both the visual and logical aspects of a real airport. In its simplest form a sim airport only has to have a runway, but in its most complex form it can contain a large assembly of the structures described in the following sections. Some or all of these may be required in order to represent the complexity of the airport in the sim.


Due to the modular approach of the airport loading system, it is possible to separate different data types into multiple files within a package or even different packages. For example, it is possible to have the taxiway logic which is necessary for AI planes to move on the airport in a different file than the taxiway signs which are used for visual purposes only.


The following pages explain the contents of the XML files required for an airport:




With the Microsoft Flight Simulator SDK there are a number of different ways that you can manipulate Navigation Data (NavData). For example, when editing a Runway in an airport, you may add or edit an ILS beacon, or you may want to create a new set of Approach, Arrival, or Departure data. This is fine and the simulation is designed to permit you to do this, however it is very important to note when making any changes to radio-navigation beacons and data, you run the risk of invalidating the Microsoft Flight Simulator navigation data for that airport.


The way this works is that you can add additional radio-navigation aids to an airport, as long as they don't overwrite or change an existing setting, but the moment you change or remove an existing radio-navigation beacon or aid (or do anything that causes a conflict between the simulation navdata and your own), you will invalidate the simulation navdata and no further updates will be done for the airport. Note too that using any third-party tools like NaviGraph will also prevent any further updates to be done to the airport NavData.


Each item in the airport XML that can cause this effect is flagged for you in the documentation so you can be aware that this potential issue exists.


The sample project SimpleNavData uses a very powerful XML element to remove the Navigation Data for the entire world. This element, <DeleteNavigation />, is only meant to be used for debugging your own projects and should never be published as part of a public package, and if you use it your packages may be rejected when going through the Marketplace ingestion process. You can add it to your XML before defining any airport elements and it will remove all the navigation data from the simulation, making the data you add for the airport the only data that will be available when flying which is very useful for debugging the navigation data that you add.


To use this element, it should be placed in the XML file before the airport element, as follows:

<?xml version="1.0" encoding="utf-8"?>
    <FSData version="9.0">
        <DeleteNavigation <!-- Options here ---> />
            <!-- Airport Data Elements Here -->

The options available for this element are as follows:


Attribute Description Type Required
deleteAllWaypoints Delete all waypoints from the world. Bool No
deleteAllVORs Delete all VOR from the world.
deleteAllNDBs Delete all NDB from the world.
deleteAllTerminalWaypoints Delete all terminal waypoints from the world.
deleteAllTerminalNDBs Delete all terminal NDBs from the world.
deleteAllILSs Delete all ILS from the world.
deleteAllApproaches Delete all approach legs from the world.
deleteAllDepartures Delete all departure waypoints from the world.
deleteAllArrivals Delete all arrival waypoints from the world.
deleteAllFrequencies Delete all frequencies from the world.