Introduction

This document describes AirportEditor, a free, open-source tool to create and edit the ground networks used by FlightGear.

FlightGear is a free, open-source flight simulator. It is available for download at the address http://www.flightgear.org. FlightGear uses a file named "parking.xml" for each airport. This file describes the paths along which FlightGear's "AI" (that is, non-player) aircraft can taxi between runways and terminal gates.

For more information about FlightGear's ground networks, refer to the section Ground networks: A technical perspective of FlightGear's Interactive Traffic page, at the address http://wiki.flightgear.org/index.php?title=Interactive_Traffic.

Installation

You should already have downloaded the file airporteditor-1.0.1.zip, and extracted all of the files from it (otherwise, how could you be reading this user guide?). No other installation is required.

AirportEditor is written using the Java language, version 6. You must have Java v6 (or later) installed on your computer before you can run AirportEditor. Java is available for free download from Sun Microsystem's web site, at the address http://java.sun.com/javase/downloads/.

Running AirportEditor

To run AirportEditor:

  1. Launch a command shell
  2. Change to the directory where you extracted the files from the "airporteditor.zip" file.
  3. Enter the command
    java -jar AirportEditor.jar

Using AirportEditor

When you start AirportEditor, it displays its main window. This window shows a menu bar at the top, a large work area in the middle, and a status bar at the bottom. The work area will be empty until you open (or create) an airport for editing.

Before you begin

Before you can edit an airport, you must obtain a reference image. You use this reference image to locate the taxipaths and terminal gates in the airport. The reference image can be a satellite photograph, an aerial photograph, or an architectural drawing of the airport you want to edit. You can obtain a satellite photograph from services such as Google Maps or Google Earth. Whatever you use as a reference image, it should show enough detail to distinguish the airport's taxiways and terminal gates for the entire airport.

Also, you must identify two reference points on the reference image. AirportEditor uses these points to determine the scale of the reference image. The two points can be any recognisable feature on the image. For example, you could use the end of a runway, a geographical feature, or the corner of a building. To minimise scaling errors, the two points should be near the opposite corners of the reference image.

After identifying two reference points, you must find the latitude and longitude of those points. Google Earth is a good source for latitude and longitude information. AirportEditor uses the coordinates of the reference points to determine the coordinates of the objects that you create around the airport.

Create a new airport

After you have chosen a reference image, and have the coordinates of two reference points on the image, you can start to edit an airport.

Choose the File -> New option from AirportEditor's menu. Airport Editor will display its "Airport Properties" dialog box. This dialog box contains the following fields:

Enter values for these fields, and click Okay. AirportEditor will create a new airport editing window, and will load the reference image into it.

Note: Loading the reference image can take several seconds if the image is very large.

Open an existing airport

To open an existing airport, choose the File -> Open... option from AirportEditor's menu. Alternatively, you can press the Ctrl+O keys. Airport Editor will display its "Select file" dialog box.

Use this dialog box to locate and select the file that you want to open, and click Okay. AirportEditor will create a new airport editing window, and will load the airport into it.

Note: Loading the airport's reference image can take several seconds if the image is very large.

Viewing the airport

The new editing window is displayed in the top-left corner of AirportEditor's main window. To expand the editing window, click the "Maximise" button in the top-right corner. You can also drag the borders of the editing window to resize it.

Zooming

You can zoom-in and -out of your airport image by holding down the Ctrl key while you roll the mouse's scroll wheel. When you scroll while holding the Ctrl key, AirportEditor magnifies or reduces the size of the displayed airport. The magnification is centred on the position of the mouse. You can quickly move around the airport by zooming out, moving the mouse to a new position, and zooming in on the new position.

Panning

You can also move around the airport by panning the display. To pan the display, hold down the Ctrl key while you click and drag the mouse around the display panel. AirportEditor will move the displayed area with the movements of the mouse.

Set the reference points

As you move around the airport, and zoom in and out, you will find two small black crosses drawn on the image. These crosses are the location of the airport reference points. Initially, AirportEditor places the first reference point at one-quarter of the reference image's size from the top-left corner. The second reference point is at one-quarter of the image's size from the bottom-right corner. You must move these points to their correct locations, and set their latitude and longitude.

Moving the reference points

Before moving a reference point, you must find the feature of the airport (end of a runway, geographical feature, corner of a building, etc.) on the image. To move a reference point, place the mouse cursor on the small black cross. Click and hold the mouse button, then drag the cross until it coincides with the reference feature on the image. Release the mouse button.

Set reference coordinates

After the reference points have been moved to their correct positions, you can set their geographic coordinates. To edit the properties of a reference point, place the mouse cursor on the small black cross and double-click the mouse button. AirportEditor will display its "Reference Properties" dialog box. This dialog box contains the following fields:

The latitude and longitude values can be entered in any of the following formats:

All of these formats can be prefixed with one of the following:

Enter values for these fields, and click Okay.

Note: Although AirportEditor can accept any of these formats, it will always display the latitude and longitude as decimal degrees.

Adding nodes

Nodes are points on the airport that represent the ends of taxi paths. Nodes should be placed at intersections of taxiways and at the ends of runways. Nodes can be placed along curved taxiways, so that the paths of AI aircraft follow the taxiway.

To create a node, choose the Edit -> Insert -> Node option from AirportEditor's menu. Alternatively, you can press the N key.

AirportEditor will change its cursor to a crosshair. Move the cursor to the location for the node and click the mouse button. The new node will be drawn as a small circle.

Moving nodes

After placing a node, you can move it to a new position. It is useful to zoom in or out of the airport image to find the exact location for the node.

To move a node, place the mouse cursor on the centre of the circle. Click and hold the mouse button, then drag the circle until it is in the correct location on the reference image. Release the mouse button.

Editing node properties

To edit the properties of a node, place the mouse cursor on the centre of the node's circle and double-click the mouse button. AirportEditor will display its "Node Properties" dialog box. This dialog box contains the following field:

Enter values for these fields, and click Okay.

Deleting nodes

To delete a node, click on the centre of the node's circle. AirportEditor will change the colour of the node to indicate that it is selected. Choose the Edit -> Delete option from AirportEditor's menu. Alternatively, press the Del (or Delete) key. AirportEditor will remove the node from the airport display.

Note: You cannot delete a node that has a taxi path joining it to other nodes (or terminal gates). You must delete the taxi paths before you can delete the node.

Adding terminal gates

Gates are points on the airport where AI aircraft start and end their flights. To create a gate, choose the Edit -> Insert -> gate option from AirportEditor's menu. Alternatively, you can press the G key.

AirportEditor will change its cursor to a crosshair. Move the cursor to the location for the gate and click the mouse button. The new gate will be drawn as a small circle containing an aircraft symbol. The aircraft symbol shows the orientation of an aeroplane parked at that gate.

Moving gates

After placing a gate, you can move it to a new position. It is useful to zoom in or out of the airport image to find the exact location for the gate.

To move a gate, place the mouse cursor on the centre of the circle. Click and hold the mouse button, then drag the circle until it is in the correct location on the reference image. Release the mouse button.

Editing gate properties

To edit the properties of a gate, place the mouse cursor on the centre of the gate's circle and double-click the mouse button. AirportEditor will display its "Terminal gate Properties" dialog box. This dialog box contains the following field:

Enter values for these fields, and click Okay.

Deleting gates

To delete a gate, click on the centre of the gate's circle. AirportEditor will change the colour of the gate to indicate that it is selected. Choose the Edit -> Delete option from AirportEditor's menu. Alternatively, press the Del (or Delete) key. AirportEditor will remove the gate from the airport display.

Note: You cannot delete a gate that has a taxi path joining it to other nodes (or gates). You must delete the taxi paths before you can delete the gate.

Adding taxi paths

Taxi paths connect two nodes (including gates; a terminal gate is a type of node). Paths can be one-way, or bidirectional. To create a path, choose the Edit -> Insert -> Path option from AirportEditor's menu. Alternatively, you can press the P key.

AirportEditor will change its cursor to a crosshair. Move the cursor to the centre of the path's start node (or gate) and click the mouse button. Then, move the cursor to the centre of the path's finish node (or gate) and click the mouse button again. The new path will be drawn as a line between the two nodes. The line will have a small arrow at each end, indicating the direction of travel away from that end. A one-way path will have an arrow at only one end; a bi-directional path will have arrows at both ends.

Moving paths

After placing a path, you cannot change the nodes that it connects. If a path is connected to the wrong nodes, you must delete the path and create a new one.

You can change the location of the path by moving the nodes (or gates) at its ends. When you move the nodes at each end of the path, the path moves with them.

Editing path properties

To edit the properties of a path, place the mouse cursor at the centre of the path's line and double-click the mouse button. AirportEditor will display its "Taxi Path Properties" dialog box. This dialog box contains the following field:

Select an option for this field, and click Okay.

Deleting paths

To delete a path, click on the centre of the path's line symbol. AirportEditor will change the colour of the path to indicate that it is selected. Choose the Edit -> Delete option from AirportEditor's menu. Alternatively, press the Del (or Delete) key. AirportEditor will remove the path from the airport display.

Saving your airport

To save your work, choose the File -> Save option from AirportEditor's menu. Alternatively, press the Ctrl+S keys. If you have never saved this airport to a file it will not have a file name. AirportEditor will display its "Select File" dialog box where you can enter the name of the file. When you click Okay, AirportEditor will save the airport's ground network to the file. If you select an existing file, AirportEditor will prompt you to confirm that you want to overwrite that file.

If you have already saved the airport, or have opened an existing airport, AirportEditor will replace the existing file without prompting you to confirm that you want to overwrite the file.

You can save the airport to a different file name with the File -> Save As... menu option. AirportEditor will display its "Select File" dialog box where you can enter the name of the file. When you click Okay, AirportEditor will save the airport's ground network to the file. If you select an existing file, AirportEditor will prompt you to confirm that you want to overwrite that file.

Note: AirportEditor uses the filename extension ".fgap" to name its files.

Interface with FlightGear

AirportEditor requires more information than is contained in FlightGear's ground network file parking.xml. For this reason, AirportEditor has its own data file format. To generate FlightGear's ground network file you must export the ground network. To edit an existing ground network file you must import it.

Export a ground network

To generate a parking.xml file for use with FlightGear, choose the File -> Export -> Taxi Path option from AirportEditor's menu. AirportEditor will display its "Select File" dialog box where you can enter the name of the file to create. When you click Okay, AirportEditor will save the airport's ground network to the file. If you select an existing file, AirportEditor will prompt you to confirm that you want to overwrite that file.

Note: AirportEditor will create the file in the directory you specify. This does not need to be the directory used by FlightGear. Of course, you will need to copy the ground network to the correct directory before FlightGear can use it. To find the correct directory, refer to the Ground networks: A technical perspective section of FlightGear's Interactive Traffic page.

Import a ground network

To load an existing FlightGear parking.xml file into AirportEditor, choose the File -> Import -> Taxi Path option from AirportEditor's menu. AirportEditor will display its "Select File" dialog box where you can choose the name of the file to import. When you click Okay, AirportEditor will open the file, and load the ground network into the airport.

The imported nodes, gates, and taxi paths will be added to any that are already in the airport. The imported objects are not connected to the existing objects.

Note: AirportEditor relies on the coordinates of the airport's two reference points to correctly position the ground network in the airport. You must ensure that the two reference points are set to the correct coordinates before you import a ground network.

Closing an airport

To close the editing window, click the window's close button (the small X-shaped button on the window's menu bar). Alternatively, press the Ctrl+W keys.

Note: AirportEditor will not warn you if you have any unsaved changes to your airport. You should be sure to save your airport before exiting from AirportEditor.

Exiting AirportEditor

To exit from AirportEditor, choose the File -> Exit option from AirportEditor's menu. Alternatively, press the Ctrl+Q keys.

Note: AirportEditor will not warn you if you have any unsaved changes to your airport. You should be sure to save your airport before exiting from AirportEditor.

Bugs

AirportEditor has some known bugs. These will be addressed in later versions:

  1. AirportEditor could be extended to include all of the functionality of FlightGears's "Taxidraw" tool. However, AirportEditor was developed simply because I couldn't get Taxidraw to compile on my machine, and I wanted to create a ground network for Melbourne airport (ICAO code = YMML).
  2. AirportEditor does not warn you that you have not saved your work. It is easy to close AirportEditor without saving the airport.
  3. AirportEditor does not have an undo/redo facility.
  4. FlightGear (like all open-source projects) is under continuous development. AirportEditor may not support all of the latest features of FlightGear's ground network.
  5. AirportEdit does not check for disconnected networks. That is, there may be no series of paths that connects all of the nodes in the airport.
  6. The simple linear interpolation of coordinates between the reference points is probably inaccurate because of the curvature of the Earth. Correcting for this error is horribly complicated, is probably unnecessary for an area the size of an airport, and may be impossible unless your reference image is corrected for the same errors.

Copyright (c) 2008 Gregory D. Hawkes