This guide contains general information about the Aeronautical Information System (AIS) functionality and concepts in LuciadLightspeed.

Each AIS format (Dafif, AIXM, ARINC, …​) has more format-specific documentation available as well.

This guide provides details on how to visualize the AIS domain objects in a GXY view. The visualization uses the standard LuciadLightspeed view, layer and painter concepts of GXY:

  • A view (ILcdGXYView) consists of a number of layers.

  • One layer (ILcdGXYLayer) corresponds to a single model (ILcdModel).

  • Each layer has a painter provider that provides a painter for each of the objects in a model.

  • Each layer has a label painter provider that provides a label painter for each of the objects in a model.

The main visualization components for GXY views offered in AIS are painters, label painters and icon providers. There is no need to supply specific layers or views for AIS; the standard LuciadLightspeed components suffice.

Using standard painters and label painters

Most of the AIS domain objects are modeled in terms of core LuciadLightspeed shapes, such as ILcdPoint or ILcdPolyline. Such objects can be painted using the standard painters provided in LuciadLightspeed (TLcdGXYIconPainter, TLcdGXYPointListPainter).

AIS, however, provides a number of specific painters and label painters that paint specific domain objects, that are just more convenient to use with AIS domain objects, or that implement specific ICAO symbology.

Specific AIS painters and label painters

The following specific painters are provided with AIS:

The following specific label painters are provided with AIS:

ICAO symbology

AIS supports ICAO symbology by supplying a number of icons, painters and label painters that follow the guidelines of ICAO for the display of aeronautical data. These classes are located in the com.luciad.ais.symbology.icao package.

Icons

ICAO icons are supported by TLcdICAODefaultSymbolProvider. It is an ILcdObjectIconProvider that provides ICAO icons for all kinds of AIS domain objects. The provider allows to set the color of the supplied icon. This allows one to use one instance of this provider for normal icons, and another instance with the color set to red for example as a provider for selection icons.

Program: Use of an ICAO icon provider in a painter. shows code that installs ICAO icon providers on a painter.

Program: Use of an ICAO icon provider in a painter. (from samples/ais/gxy/LayerFactory)
// Initialize a painter with icon providers that use ICAO symbology.
TLcdICAODefaultSymbolProvider icon_provider = new TLcdICAODefaultSymbolProvider();
TLcdICAODefaultSymbolProvider selection_icon_provider = new TLcdICAODefaultSymbolProvider();
icon_provider.setColor(Color.white);
selection_icon_provider.setColor(SELECTION_OUTLINE);
TLcdGXYAISIconProviderPainter painter_provider = new TLcdGXYAISIconProviderPainter();
painter_provider.setIconProvider(icon_provider);
painter_provider.setSelectionIconProvider(selection_icon_provider);

// Set the painter on the layer.
gxy_layer.setGXYPainterProvider(painter_provider);

Painters

The following specific ICAO painters are supplied with AIS:

  • TLcdICAORunwayPainter: this painter paints a runway as a filled polygon. This filling pattern depends on the surface type of the runway, as specified by ICAO.

  • TLcdICAOAirspacePainter: this painter paints air spaces with a line style dependent on the class of the air space. The class of an air space is normally modeled as a feature. This painter requires the feature index of the air space class feature to be set with the method setClassIndex.

Label painters

The following specific label painters adhering to ICAO guidelines are provided:

These label painters may require several indexes of specific features to be set. The reference guide has more information on this.