Open-Source Airport and Instrument Procedure Diagrams in SVG

K. Ari Krupnikov
Andy Clark


United States federal aviation regulations, and their equivalents in other countries, require pilots to carry current documentation referred to as Instrument Approach Procedures (IAP). These documents cover approach and departure procedures for airports the pilot intends to use. As seen in a sample airport diagram and IAP, the documents make extensive use of graphics to help pilots maintain situational awareness. These documents, which must be updated every 56 days, are traditionally distributed on paper or in expensive proprietary electronic formats. The U.S. Government compiles the Digital Aeronautical Flight Information File (DAFIF) which includes information on close to 10,000 airports across the world. DAFIF is in the public domain and is available free of charge on the National Geospacial-Intelligence Agency website.

Many commercially-available inflight navigation systems use DAFIF data. Even though based on public domain data, these updates cost upwards of US $1,000 per device in yearly subscriptions. In this project we use DAFIF data to generate open-source equivalents in SVG. So far, we can generate airport diagrams and we're working on generating approach procedures. In the future, we envision SVG as a low-cost alternative to today's proprietary aviation navigation systems.

Some of the challenges of generating graphics from DAFIF data include:

Each one of these may be difficult by themselves; integrating all in a single system presents a significant challenge. We designed Streaming Transformations and Glue (STnG) as a solution to this class of problems. STnG is a tool that combines processing components in a pipeline with SAX as the underlying streaming model.

In this project, we construct a STnG pipeline to process DAFIF into HTML text and PNG maps. A small custom parser was implemented to read the flat DAFIF records and XSL transformations rearrange these records into a useable hierarchical structure. DAFIF specifies coordinates as geodetic latitude/longitude, so a Java filter performs trigonometric computations to project these to Cartesian x/y coordinates required for rendering. Additional XSLT produces SVG maps and Apache Batik produces PNG graphics. Further, we augment the final product with aerial photography available through a SOAP web service from Microsoft's TerraServer.

STnG includes a number of ready-made components to handle common tasks such as parsing, serialization, XSL transformation, and validation; and provides the essential glue between these components whose processing models vary greatly. The STnG model reduced time developing the system to generate airport and IAP diagrams in SVG. In addition, STnG's clear separation between components localizes errors and minimizes module inter-dependencies, simplifying maintanence and extensibility We believe STnG will provide the same benefits to other projects.

Valid XHTML 1.1!