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
FieldsFields inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFDecoder
DAFIF_PROP_EXTENSION, fRecordCount -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.TLcdDAFIFRefuelingTrackDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties) Deprecated.Constructs a newTLcdDAFIFRefuelingTrackDecoderobject.TLcdDAFIFRefuelingTrackDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties) Constructs a newTLcdDAFIFRefuelingTrackDecoderobject. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcleanUp()This method should be implemented by a concrete class.protected ILcdModelDescriptorcreateModelDescriptor(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 thedecodemethod).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 voidhandleRecord(int aFormat, char[] aRecord) Deals with one record of input.protected final voidThis method is usually not implemented.voidsetAirspaceDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the airspace display name.voidsetAirspaceFeaturesToBeDecoded(String[] aAirspaceFeaturesToBeDecoded) Specifies the features that should be decoded into the refueling airspace objects of the model that will be returned by thedecodemethod.voidsetPointFeaturesToBeDecoded(String[] aPointFeaturesToBeDecoded) Specifies the features that should be decoded into the refueling point objects of the model that will be returned by thedecodemethod.voidsetTrackDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the track display name.voidsetTrackFeaturesToBeDecoded(String[] aTrackFeaturesToBeDecoded) Specifies the features that should be decoded into the refueling track objects of the model that will be returned by thedecodemethod.voidsetTrackPointDefaultDisplayNameIndex(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, setModelCountMethods 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, transformPointToReferenceDatumSFCTMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.luciad.format.dafif.decoder.ILcdDAFIFDecoder
getBounds, getDAFIFProperties, getDataObjectFactory, getDecodingBounds, getDomainFactory, getErrorMessage, setBounds, setDAFIFModelFilter, setDAFIFProperties, setDataObjectFactory, setDecodingBounds, setDomainFactory, setStoreOriginalReferenceMethods 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 newTLcdDAFIFRefuelingTrackDecoderobject. 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 newTLcdDAFIFRefuelingTrackDecoderobject. 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 newTLcdDAFIFRefuelingTrackDecoderobject. 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- aPropertiesobject that contains for each domain object the appropriate file name
-
TLcdDAFIFRefuelingTrackDecoder
public TLcdDAFIFRefuelingTrackDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties) Constructs a newTLcdDAFIFRefuelingTrackDecoderobject. 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- aPropertiesobject that contains for each domain object the appropriate file name
-
-
Method Details
-
getDecodeFileName
Description copied from interface:ILcdDAFIFDecoderReturns 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:ILcdModelDecoderReturns a short, displayable name for the format that is decoded by thisILcdModelDecoder.- Specified by:
getDisplayNamein interfaceILcdModelDecoder- Overrides:
getDisplayNamein classALcdDAFIFDecoder- Returns:
- the displayable name of this
ILcdModelDecoder.
-
handleRecord
protected final void handleRecord(int aFormat, char[] aRecord) Description copied from class:ALcdDAFIFMultiModelDecoderDeals with one record of input.- Specified by:
handleRecordin classALcdDAFIFMultiModelDecoder- Parameters:
aFormat- the format of the recordaRecord- the record to deal with
-
createModelDescriptor
Description copied from class:ALcdDAFIFMultiModelDecoderCreates and returns the model descriptor to be set on the model with index aIndex in the model (i.e. in the model returned in thedecodemethod).- Specified by:
createModelDescriptorin 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:ILcdDAFIFMultiModelDecoderCreates and returns the model descriptor to be set on the model returned in the decode method.- Specified by:
createModelDescriptorin interfaceILcdDAFIFMultiModelDecoder- Specified by:
createModelDescriptorin 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:ALcdDAFIFMultiModelDecoderThis 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:
postProcessin classALcdDAFIFMultiModelDecoder
-
cleanUp
protected void cleanUp()Description copied from class:ALcdDAFIFDecoderThis method should be implemented by a concrete class.It should empty all temporary data structures used during the decoding process.
- Overrides:
cleanUpin 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 thedecodemethod.Please make sure that the
IDENTIFIERandDIRECTIONfeatures 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 thedecodemethod.- 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 thedecodemethod.Please make sure that the
IDENTIFIERandDIRECTIONfeatures are in your list.- Parameters:
aAirspaceFeaturesToBeDecoded- a list of features that should be decoded into the airspace objects
-