Class TLcdDAFIFNavaidDecoder
- All Implemented Interfaces:
ILcdDAFIFDecoder
,ILcdDAFIFMultiModelDecoder
,ILcdInputStreamFactoryCapable
,ILcdModelDecoder
ALcdDAFIFMultiModelDecoder
decodes
navaids (VOR, DME, NDB, TACAN, VOR-DME, VORTAC and NDB-DME) from a DAFIF source file.
Decoded models have as model descriptor an instance of TLcdDAFIFNavaidModelListDescriptor
.
This descriptor contains instances of TLcdDAFIFDMEModelDescriptor
,
TLcdDAFIFVORModelDescriptor
, TLcdDAFIFNDBModelDescriptor
and/or TLcdDAFIFTACANModelDescriptor
, dependent of the source file.
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.VOR
,
TLcdDAFIFDataTypes.DME
, TLcdDAFIFDataTypes.TACAN
and
TLcdDAFIFDataTypes.NDB
, which can also be retrieved through ILcdDataObject.getDataType()
.
The available properties of the objects are defined in TLcdDAFIFVORDataProperties
,
TLcdDAFIFDMEDataProperties
, TLcdDAFIFTACANDataProperties
and
TLcdDAFIFNDBDataProperties
.
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 setDMEFeaturesToBeDecoded
method,
the setNDBFeaturesToBeDecoded
method,
the setTACANFeaturesToBeDecoded
method,
and the setVORFeaturesToBeDecoded
method,
the 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.
DME:
- IDENTIFIER: ILcdDAFIFNavaidFeature.IDENTIFIER
- TYPE: ILcdDAFIFNavaidFeature.TYPE
- COUNTRY CODE: ILcdDAFIFNavaidFeature.COUNTRY_CODE
- NAVAID KEY CODE: ILcdDAFIFNavaidFeature.KEY_CODE
- STATE/PROVINCE CODE: ILcdDAFIFNavaidFeature.STATE_PROVINCE_CODE
- NAME: ILcdDAFIFNavaidFeature.NAME
- ICAO CODE: ILcdDAFIFNavaidFeature.ICAO_CODE, ILcdDAFIFNavaidFeature.ICAO_REGION
- WORLD AREA CODE (WAC): ILcdDAFIFNavaidFeature.WORLD_AREA_CODE
- USAGE CODE: ILcdDAFIFNavaidFeature.USAGE_CODE
- RADIO CLASS CODE: ILcdDAFIFNavaidFeature.RADIO_CLASS_CODE
- FREQUENCY PROTECTION: ILcdDAFIFNavaidFeature.FREQUENCY_PROTECTION
- POWER: ILcdDAFIFNavaidFeature.POWER, ILcdDAFIFNavaidFeature.POWER_UNIT
- RANGE: ILcdDAFIFNavaidFeature.RANGE, ILcdDAFIFNavaidFeature.RANGE_UNIT
- SLAVED/ASSIGNED VARIATION: ILcdDAFIFNavaidFeature.SLAVED_VARIATION
- MAGNETIC VARIATION: ILcdDAFIFNavaidFeature.MAGNETIC_VARIATION
- FREQUENCY: ILcdDAFIFDMEFeature.FREQUENCY, ILcdDAFIFDMEFeature.FREQUENCY_UNIT ILcdDAFIFTACANFeature.FREQUENCY, ILcdDAFIFTACANFeature.FREQUENCY_UNIT ILcdNDBFeature.FREQUENCY, ILcdNDBFeature.FREQUENCY_UNIT ILcdVORFeature.FREQUENCY, ILcdVORFeature.FREQUENCY_UNIT
- CHANNEL: ILcdDAFIFDMEFeature.CHANNEL, ILcdDAFIFTACANFeature.CHANNEL
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 navaids the key features are:
- See Also:
-
Field Summary
Fields inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFDecoder
DAFIF_PROP_EXTENSION, fRecordCount
-
Constructor Summary
ConstructorDescriptionTLcdDAFIFNavaidDecoder
(ALcdAISObjectFactory aFactory) Deprecated.TLcdDAFIFNavaidDecoder
(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties) Deprecated.Constructs a newTLcdDAFIFNavaidDecoder
object.TLcdDAFIFNavaidDecoder
(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties) Constructs a newTLcdDAFIFNavaidDecoder
object. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.void
setDMEDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the DME display name.void
setDMEFeaturesToBeDecoded
(String[] aDMEFeaturesToBeDecoded) Specifies the features that should be decoded into the DME objects of the model that will be returned by thedecode
method.void
setNDBDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the NDB display name.void
setNDBFeaturesToBeDecoded
(String[] aNDBFeaturesToBeDecoded) Specifies the features that should be decoded into the NDB objects of the model that will be returned by thedecode
method.void
setTACANDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the TACAN display name.void
setTACANFeaturesToBeDecoded
(String[] aTACANFeaturesToBeDecoded) Specifies the features that should be decoded into the TACAN objects of the model that will be returned by thedecode
method.void
setVORDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the VOR display name.void
setVORFeaturesToBeDecoded
(String[] aVORFeaturesToBeDecoded) Specifies the features that should be decoded into the VOR objects of the model that will be returned by thedecode
method.Methods inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFMultiModelDecoder
cleanUp, decode, getModelCount, postProcess, 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
-
Constructor Details
-
TLcdDAFIFNavaidDecoder
Deprecated.Constructs a newTLcdDAFIFNavaidDecoder
object. The user should specify which domainFactory he or she wants to use to create the navaids.- Parameters:
aFactory
- the factory to be used to create the model objects
-
TLcdDAFIFNavaidDecoder
Constructs a newTLcdDAFIFNavaidDecoder
object. The user should specify which factory he or she wants to use to create the navaids.- Parameters:
aFactory
- the factory to be used to create the model objects
-
TLcdDAFIFNavaidDecoder
@Deprecated public TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties) Deprecated.Constructs a newTLcdDAFIFNavaidDecoder
object. The user should specify which domainFactory he or she wants to use to create the navaids.- Parameters:
aFactory
- the factory to be used to create the model objectsaDAFIFProperties
- aProperties
object that contains for each domain object the appropriate file name
-
TLcdDAFIFNavaidDecoder
Constructs a newTLcdDAFIFNavaidDecoder
object. The user should specify which domainFactory he or she wants to use to create the navaids.- 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
-
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
.
-
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: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
-
setVORDefaultDisplayNameIndex
public void setVORDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the VOR display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setTACANDefaultDisplayNameIndex
public void setTACANDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the TACAN display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setDMEDefaultDisplayNameIndex
public void setDMEDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the DME display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setNDBDefaultDisplayNameIndex
public void setNDBDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the NDB display name.- Parameters:
aIndex
- the index of the feature to be used as display name
-
setVORFeaturesToBeDecoded
Specifies the features that should be decoded into the VOR objects of the model that will be returned by thedecode
method.Please make sure that the
IDENTIFIER
,TYPE
,COUNTRY_CODE
andKEY_CODE
features are in your list.- Parameters:
aVORFeaturesToBeDecoded
- a list of features that should be decoded into the VOR objects
-
setTACANFeaturesToBeDecoded
Specifies the features that should be decoded into the TACAN objects of the model that will be returned by thedecode
method.Please make sure that the
IDENTIFIER
,TYPE
,COUNTRY_CODE
andKEY_CODE
features are in your list.- Parameters:
aTACANFeaturesToBeDecoded
- a list of features that should be decoded into the TACAN objects
-
setNDBFeaturesToBeDecoded
Specifies the features that should be decoded into the NDB objects of the model that will be returned by thedecode
method.Please make sure that the
IDENTIFIER
,TYPE
,COUNTRY_CODE
andKEY_CODE
features are in your list.- Parameters:
aNDBFeaturesToBeDecoded
- a list of features that should be decoded into the NDB objects
-
setDMEFeaturesToBeDecoded
Specifies the features that should be decoded into the DME objects of the model that will be returned by thedecode
method.Please make sure that the
IDENTIFIER
,TYPE
,COUNTRY_CODE
andKEY_CODE
features are in your list.- Parameters:
aDMEFeaturesToBeDecoded
- a list of features that should be decoded into the DME objects
-