Class TLcdDAFIFHeliportDecoder

All Implemented Interfaces:
ILcdDAFIFDecoder, ILcdInputStreamFactoryCapable, ILcdModelDecoder

public class TLcdDAFIFHeliportDecoder extends ALcdDAFIFAerodromeDecoder
This extension of the ALcdDAFIFAerodromeDecoder decodes heliports from a DAFIF source file. Decoded models have as model descriptor an instance of TLcdDAFIFHeliportModelDescriptor.

The objects in decoded models are based on the AIS domain objects available in com.luciad.ais.model, which all implement ILcdDataObject. This interface provides a generic and format-independent way of accessing the type and properties (features) of a domain object.

For this decoder, the type of the decoded objects is TLcdDAFIFDataTypes.Heliport, which can also be retrieved through ILcdDataObject.getDataType(). The available properties of the objects are defined in TLcdDAFIFHeliportDataProperties. The values for these properties can be retrieved through ILcdDataObject.getValue(com.luciad.datamodel.TLcdDataProperty).

Next to ILcdDataObject, the objects in decoded models also implement ILcdFeatured, the former interface to access the properties (features) of a domain object. This is still fully supported, and explained in the following comments.

The setHeliportFeaturesToBeDecoded method allows the user to specify which DAFIF features are decoded into the featured model objects.

If no features to be decoded are specified, all features will be decoded.

The following fields (taken from the National Imagery and Mapping Agency (NIMA) Product Specifications for Digital Aeronautical Flight Information File (DAFIF), Seventh Edition, May 2001) are supported by the decoder. The list indicates into which feature the fields are decoded.

  • HELIPORT IDENTIFICATION: ILcdAerodromeFeature.IDENTIFICATION
  • COUNTRY CODE(first two characters of Airport Identification): ILcdDAFIFAerodromeFeature.COUNTRY_CODE
  • STATE/PROVINCE CODE: ILcdDAFIFAerodromeFeature.STATE_PROVINCE_CODE
  • NAME: ILcdAerodromeFeature.NAME
  • FEDERAL AVIATION ADMINISTRATION IDENTIFIER/HOST COUNTRY IDENTIFIER: ILcdDAFIFAerodromeFeature.FAA_HOST_COUNTRY_IDENTIFIER
  • PRIMARY OPERATING AGENCY: ILcdDAFIFAerodromeFeature.OPERATING_AGENCY
  • ROTATING BEACON: ILcdDAFIFAerodromeFeature.ROTATING_BEACON
  • ICAO CODE (only if the ICAO CODE field has length 4): ILcdAerodromeFeature.ICAO_CODE
  • ICAO CODE (first two characters only): ILcdAerodromeFeature.ICAO_REGION
  • TYPE: ILcdAerodromeFeature.OPERATIONS_TYPE
  • WORLD AREA CODE (WAC): ILcdDAFIFAerodromeFeature.WORLD_AREA_CODE
  • MAGNETIC VARIATION: ILcdAerodromeFeature.MAGNETIC_VARIATION

DAFIF decoders rely on a specific set of key features that uniquely define an object. This set of features must always be included in the set of features to be decoded. For heliports the key features are:

In addition to the fields of the aerodrome records, this class also decodes communication records as described in the specifications of formats 13,14 and 15 of FILE1 (heliports). The communication objects corresponding to an aerodrome are stored in a Vector feature of the heliport:

  • HELIPORT COMMUNICATION: ILcdDAFIFAerodromeFeature.AERODROME_COMMUNICATIONS
The particular communication features to be decoded can be specified with the method setCommunicationFeaturesToBeDecoded.

If no communication features to be decoded are specified, all features will be decoded.

The following fields of the communication records are supported by the decoder. The list indicates into which communication feature the fields are decoded.

  • COMMUNICATION_TYPE: ILcdDAFIFCommunicationFeature.COMMUNICATION_TYPE
  • COMMUNICATION_NAME: ILcdDAFIFCommunicationFeature.COMMUNICATION_NAME
  • SYMBOLS: ILcdDAFIFCommunicationFeature.SYMBOLS
  • FREQUENCY_1: ILcdDAFIFCommunicationFeature.FREQUENCY_1
  • FREQUENCY_2: ILcdDAFIFCommunicationFeature.FREQUENCY_2
  • FREQUENCY_3: ILcdDAFIFCommunicationFeature.FREQUENCY_3
  • FREQUENCY_4: ILcdDAFIFCommunicationFeature.FREQUENCY_4
  • FREQUENCY_5: ILcdDAFIFCommunicationFeature.FREQUENCY_5
  • COMMUNICATION_TYPE_MULTIPLIER: ILcdDAFIFCommunicationFeature.COMMUNICATION_TYPE_MULTIPLIER
  • SECTOR: ILcdDAFIFCommunicationFeature.SECTOR
  • SPECIFIC_OPERATING_HOURS: ILcdDAFIFCommunicationFeature.SPECIFIC_OPERATING_HOURS

In the heliport's vector of communication objects, each element is of type TLcdFeaturedService. Each of these elements contains all the communication features specified in setCommunicationFeaturesToBeDecoded but some of the features may have null values, depending on the communication record from which they have been decoded.

See Also:
  • Constructor Details

    • TLcdDAFIFHeliportDecoder

      @Deprecated public TLcdDAFIFHeliportDecoder(ALcdAISObjectFactory aFactory)
      Deprecated.
      Creates a new TLcdDAFIFHeliportDecoder object. The user should specify which domain factory he or she wants to use to create the heliports.
      Parameters:
      aFactory - the factory to be used to create the heliports
    • TLcdDAFIFHeliportDecoder

      public TLcdDAFIFHeliportDecoder(TLcdAISDataObjectFactory aFactory)
      Creates a new TLcdDAFIFHeliportDecoder object. The user should specify which factory he or she wants to use to create the heliports.
      Parameters:
      aFactory - the factory to be used to create the heliports
    • TLcdDAFIFHeliportDecoder

      @Deprecated public TLcdDAFIFHeliportDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties)
      Deprecated.
      Creates a new TLcdDAFIFHeliportDecoder object.
      Parameters:
      aFactory - the factory to be used to create the heliports
      aDAFIFProperties - a Properties object that contains for each domain object the appropriate file name
    • TLcdDAFIFHeliportDecoder

      public TLcdDAFIFHeliportDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties)
      Creates a new TLcdDAFIFHeliportDecoder object.
      Parameters:
      aFactory - the factory to be used to create the heliports
      aDAFIFProperties - a Properties object that contains for each domain object the appropriate file name
  • Method Details

    • getDisplayName

      public String getDisplayName()
      Description copied from interface: ILcdModelDecoder
      Returns a short, displayable name for the format that is decoded by this ILcdModelDecoder.
      Specified by:
      getDisplayName in interface ILcdModelDecoder
      Overrides:
      getDisplayName in class ALcdDAFIFDecoder
      Returns:
      the displayable name of this ILcdModelDecoder.
    • getDecodeFileName

      public String getDecodeFileName()
      Description copied from interface: ILcdDAFIFDecoder
      Returns the name of the file to be decoded.

      Each domain object has its own file name. This method returns the name of the data file for the domain objects decoded by this DAFIF decoder.

      Returns:
      the name of the source file
    • handleRecord

      protected final void handleRecord(int aFormat, char[] aRecord)
      Description copied from class: ALcdDAFIFSingleModelDecoder
      Deals with one record of input.
      Specified by:
      handleRecord in class ALcdDAFIFSingleModelDecoder
      Parameters:
      aFormat - the format of the record
      aRecord - the record
    • createModelDescriptor

      protected ILcdModelDescriptor createModelDescriptor(String aSource)
      Description copied from class: ALcdDAFIFSingleModelDecoder
      Creates and returns the model descriptor to be set on the model returned in the decode method.
      Specified by:
      createModelDescriptor in class ALcdDAFIFSingleModelDecoder
      Parameters:
      aSource - the source that will be used to decode
      Returns:
      a model descriptor describing the data in the model created in the decode method
    • setHeliportDefaultDisplayNameIndex

      public void setHeliportDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be used as display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setHeliportFeaturesToBeDecoded

      public void setHeliportFeaturesToBeDecoded(String[] aFeaturesToBeDecoded)
      Specifies the features that should be decoded into the heliport objects of the model that will be returned by the decode method.

      Note: Please make sure that the IDENTIFICATION feature is in your list.

      Parameters:
      aFeaturesToBeDecoded - a list of features that should be decoded into the heliport objects