Class TLcdDAFIFRefuelingTrackDecoder
- All Implemented Interfaces:
ILcdDAFIFDecoder
,ILcdDAFIFMultiModelDecoder
,ILcdInputStreamFactoryCapable
,ILcdModelDecoder
ALcdDAFIFMultiModelDecoder
decodes
refueling tracks or anchors from a DAFIF source file.
The modelList resulting from the decode
method will contain submodels for
- refueling track (or anchor) airspaces,
- the refueling tracks themselves (connected list of refueling track points)
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 handler, the types of the decoded objects are TLcdDAFIFDataTypes.RefuelingAirspace
,
and TLcdDAFIFDataTypes.RefuelingTrack
, which can also be retrieved through
ILcdDataObject.getDataType()
.
The available properties of the objects are defined in TLcdDAFIFRefuelingAirspaceDataProperties
,
and TLcdDAFIFRefuelingTrackDataProperties
.
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 setAirspaceFeaturesToBeDecoded
method, the
setPointFeaturesToBeDecoded
method
and setTrackFeaturesToBeDecoded
method
allow 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.
Refueling track or anchor fields:
- IDENTIFIER: ILcdDAFIFRefuelingAirspaceFeature.IDENTIFIER, ILcdDAFIFRefuelingTrackFeature.IDENTIFIER
- DIRECTION: ILcdDAFIFRefuelingAirspaceFeature.DIRECTION, ILcdDAFIFRefuelingTrackFeature.DIRECTION
- TYPE: ILcdDAFIFRefuelingTrackFeature.TYPE
- ICAO CODE: ILcdDAFIFRefuelingTrackFeature.ICAO_CODE
- COUNTRY CODE: ILcdDAFIFRefuelingTrackFeature.COUNTRY_CODE
- PRIMARY UHF FREQUENCY: ILcdDAFIFRefuelingTrackFeature.PRIMARY_UHF_FREQUENCY, ILcdDAFIFRefuelingTrackFeature.PRIMARY_UHF_FREQUENCY_UNIT
- BACK-UP UHF FREQUENCY: ILcdDAFIFRefuelingTrackFeature.BACK_UP_UHF_FREQUENCY, ILcdDAFIFRefuelingTrackFeature.BACK_UP_UHF_FREQUENCY_UNIT
- APN 69/134/135 SETTING: ILcdDAFIFRefuelingTrackFeature.APN_SETTING
- APX 78 ENCODE/DECODE: ILcdDAFIFRefuelingTrackFeature.APX_ENCODE_DECODE
- RECEIVER/TANKER CHANNEL: ILcdDAFIFRefuelingTrackFeature.RECEIVER_CHANNEL, ILcdDAFIFRefuelingTrackFeature.TANKER_CHANNEL
- ALTITUDE 1 DESCRIPTION: ILcdDAFIFRefuelingTrackFeature.ALTITUDE_1_DESCRIPTION
- ALTITUDE 2 DESCRIPTION: ILcdDAFIFRefuelingTrackFeature.ALTITUDE_2_DESCRIPTION
- ALTITUDE 3 DESCRIPTION: ILcdDAFIFRefuelingTrackFeature.ALTITUDE_3_DESCRIPTION
- REFUELING 1 ALTITUDE 1: ILcdDAFIFRefuelingTrackFeature.REFUELING_1_ALTITUDE_1, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
- REFUELING 1 ALTITUDE 2: ILcdDAFIFRefuelingTrackFeature.REFUELING_1_ALTITUDE_2, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
- REFUELING 2 ALTITUDE 1: ILcdDAFIFRefuelingTrackFeature.REFUELING_2_ALTITUDE_1, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
- REFUELING 2 ALTITUDE 2: ILcdDAFIFRefuelingTrackFeature.REFUELING_2_ALTITUDE_2, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
- REFUELING 3 ALTITUDE 1: ILcdDAFIFRefuelingTrackFeature.REFUELING_3_ALTITUDE_1, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
- REFUELING 3 ALTITUDE 2: ILcdDAFIFRefuelingTrackFeature.REFUELING_3_ALTITUDE_2, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
- SCHEDULING UNIT: ILcdDAFIFRefuelingTrackFeature.SCHEDULING_UNIT
- ASSIGNED ATC: ILcdDAFIFRefuelingTrackFeature.ASSIGNED_ATC
- USAGE:
- NAVAID IDENTIFIER: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_IDENTIFIER
- NAVAID TYPE: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_TYPE
- NAVAID COUNTRY CODE: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_COUNTRY_CODE
- NAVAID KEY CODE: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_KEY_CODE
- FIX: ILcdDAFIFRefuelingTrackPointFeature.FIX
- POINT IDENTIFICATION: ILcdDAFIFRefuelingTrackPointFeature.POINT_IDENTIFIER
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 refueling track or anchor airspaces, the key features are:
For refueling tracks, the key features are:
- See Also:
-
Field Summary
Fields inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFDecoder
DAFIF_PROP_EXTENSION, fRecordCount
-
Constructor Summary
ConstructorDescriptionDeprecated.TLcdDAFIFRefuelingTrackDecoder
(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties) Deprecated.Constructs a newTLcdDAFIFRefuelingTrackDecoder
object.TLcdDAFIFRefuelingTrackDecoder
(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties) Constructs a newTLcdDAFIFRefuelingTrackDecoder
object. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
cleanUp()
This method should be implemented by a concrete class.protected ILcdModelDescriptor
createModelDescriptor
(int aIndex, String aSource) Creates and returns the model descriptor to be set on the model with index aIndex in the model (i.e. in the model returned in thedecode
method).createModelDescriptor
(String aSource) Creates and returns the model descriptor to be set on the model returned in the decode method.Returns the name of the file to be decoded.Returns a short, displayable name for the format that is decoded by thisILcdModelDecoder
.protected final void
handleRecord
(int aFormat, char[] aRecord) Deals with one record of input.protected final void
This method is usually not implemented.void
setAirspaceDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the airspace display name.void
setAirspaceFeaturesToBeDecoded
(String[] aAirspaceFeaturesToBeDecoded) Specifies the features that should be decoded into the refueling airspace objects of the model that will be returned by thedecode
method.void
setPointFeaturesToBeDecoded
(String[] aPointFeaturesToBeDecoded) Specifies the features that should be decoded into the refueling point objects of the model that will be returned by thedecode
method.void
setTrackDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the track display name.void
setTrackFeaturesToBeDecoded
(String[] aTrackFeaturesToBeDecoded) Specifies the features that should be decoded into the refueling track objects of the model that will be returned by thedecode
method.void
setTrackPointDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the track point display name.Methods inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFMultiModelDecoder
decode, getModelCount, setKeyFeatureNames, setModelCount
Methods inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFDecoder
addErrorReport, canDecodeSource, getAltitudeType, getBearingTypeForChar, getBounds, getDAFIFProperties, getDataObjectFactory, getDecodingBounds, getDomainFactory, getErrorMessage, getInputStream, getInputStreamFactory, getLocalHorizontalDatum, getModelFilter, getRecordCount, initializeErrorMessage, isStoreOriginalReference, isTraceOn, loadCFGProperties, read, readExactValue, readFormat, readMinLength, readRecord, setBounds, setDAFIFModelFilter, setDAFIFProperties, setDataObjectFactory, setDecodingBounds, setDomainFactory, setInputStreamFactory, setStoreOriginalReference, setTraceOn, transformPointToReferenceDatumSFCT
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.format.dafif.decoder.ILcdDAFIFDecoder
getBounds, getDAFIFProperties, getDataObjectFactory, getDecodingBounds, getDomainFactory, getErrorMessage, setBounds, setDAFIFModelFilter, setDAFIFProperties, setDataObjectFactory, setDecodingBounds, setDomainFactory, setStoreOriginalReference
Methods inherited from interface com.luciad.model.ILcdModelDecoder
canDecodeSource, canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
-
Field Details
-
TRACK_INDEX
public static final int TRACK_INDEX- See Also:
-
AIRSPACE_INDEX
public static final int AIRSPACE_INDEX- See Also:
-
-
Constructor Details
-
TLcdDAFIFRefuelingTrackDecoder
Deprecated.Constructs a newTLcdDAFIFRefuelingTrackDecoder
object. The user should specify which domainFactory he or she wants to use to create the refueling tracks.- Parameters:
aFactory
- the factory to be used to create the model objects
-
TLcdDAFIFRefuelingTrackDecoder
Constructs a newTLcdDAFIFRefuelingTrackDecoder
object. The user should specify which factory he or she wants to use to create the refueling tracks.- Parameters:
aFactory
- the factory to be used to create the model objects
-
TLcdDAFIFRefuelingTrackDecoder
@Deprecated public TLcdDAFIFRefuelingTrackDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties) Deprecated.Constructs a newTLcdDAFIFRefuelingTrackDecoder
object. The user should specify which domainFactory he or she wants to use to create the refueling tracks.- Parameters:
aFactory
- the factory to be used to create the model objectsaDAFIFProperties
- aProperties
object that contains for each domain object the appropriate file name
-
TLcdDAFIFRefuelingTrackDecoder
public TLcdDAFIFRefuelingTrackDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties) Constructs a newTLcdDAFIFRefuelingTrackDecoder
object. The user should specify which factory he or she wants to use to create the refueling tracks.- Parameters:
aFactory
- the factory to be used to create the model objectsaDAFIFProperties
- aProperties
object that contains for each domain object the appropriate file name
-
-
Method Details
-
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
-
getDisplayName
Description copied from interface:ILcdModelDecoder
Returns a short, displayable name for the format that is decoded by thisILcdModelDecoder
.- Specified by:
getDisplayName
in interfaceILcdModelDecoder
- Overrides:
getDisplayName
in classALcdDAFIFDecoder
- Returns:
- the displayable name of this
ILcdModelDecoder
.
-
handleRecord
protected final void handleRecord(int aFormat, char[] aRecord) Description copied from class:ALcdDAFIFMultiModelDecoder
Deals with one record of input.- Specified by:
handleRecord
in classALcdDAFIFMultiModelDecoder
- Parameters:
aFormat
- the format of the recordaRecord
- the record to deal with
-
createModelDescriptor
Description copied from class:ALcdDAFIFMultiModelDecoder
Creates and returns the model descriptor to be set on the model with index aIndex in the model (i.e. in the model returned in thedecode
method).- Specified by:
createModelDescriptor
in classALcdDAFIFMultiModelDecoder
- Parameters:
aSource
- the source to be decoded- Returns:
- a model descriptor describing the data in the submodel at position aIndex in the model produced by this decoder
-
createModelDescriptor
Description copied from interface:ILcdDAFIFMultiModelDecoder
Creates and returns the model descriptor to be set on the model returned in the decode method.- Specified by:
createModelDescriptor
in interfaceILcdDAFIFMultiModelDecoder
- Specified by:
createModelDescriptor
in classALcdDAFIFMultiModelDecoder
- Parameters:
aSource
- the source that will be used to build the model- Returns:
- the model descriptor to be set on the model produced by this decoder
-
postProcess
protected final void postProcess()Description copied from class:ALcdDAFIFMultiModelDecoder
This method is usually not implemented. However in some cases it may be useful for decoders to perform some actions after reading all records, but before the different models are merged into the modelList. In that case all those actions can be put in this method.- Overrides:
postProcess
in classALcdDAFIFMultiModelDecoder
-
cleanUp
protected void cleanUp()Description copied from class:ALcdDAFIFDecoder
This method should be implemented by a concrete class.It should empty all temporary data structures used during the decoding process.
- Overrides:
cleanUp
in classALcdDAFIFMultiModelDecoder
-
setTrackDefaultDisplayNameIndex
public void setTrackDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the track display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setAirspaceDefaultDisplayNameIndex
public void setAirspaceDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the airspace display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setTrackPointDefaultDisplayNameIndex
public void setTrackPointDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the track point display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setTrackFeaturesToBeDecoded
Specifies the features that should be decoded into the refueling track objects of the model that will be returned by thedecode
method.Please make sure that the
IDENTIFIER
andDIRECTION
features are in your list.- Parameters:
aTrackFeaturesToBeDecoded
- a list of features that should be decoded into the refueling track objects
-
setPointFeaturesToBeDecoded
Specifies the features that should be decoded into the refueling point objects of the model that will be returned by thedecode
method.- Parameters:
aPointFeaturesToBeDecoded
- a list of features that should be decoded into the track point objects
-
setAirspaceFeaturesToBeDecoded
Specifies the features that should be decoded into the refueling airspace objects of the model that will be returned by thedecode
method.Please make sure that the
IDENTIFIER
andDIRECTION
features are in your list.- Parameters:
aAirspaceFeaturesToBeDecoded
- a list of features that should be decoded into the airspace objects
-