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
ConstructorsConstructorDescriptionTLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory) Deprecated.TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties) Deprecated.Constructs a newTLcdDAFIFNavaidDecoderobject.TLcdDAFIFNavaidDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties) Constructs a newTLcdDAFIFNavaidDecoderobject. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.voidsetDMEDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the DME display name.voidsetDMEFeaturesToBeDecoded(String[] aDMEFeaturesToBeDecoded) Specifies the features that should be decoded into the DME objects of the model that will be returned by thedecodemethod.voidsetNDBDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the NDB display name.voidsetNDBFeaturesToBeDecoded(String[] aNDBFeaturesToBeDecoded) Specifies the features that should be decoded into the NDB objects of the model that will be returned by thedecodemethod.voidsetTACANDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the TACAN display name.voidsetTACANFeaturesToBeDecoded(String[] aTACANFeaturesToBeDecoded) Specifies the features that should be decoded into the TACAN objects of the model that will be returned by thedecodemethod.voidsetVORDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the VOR display name.voidsetVORFeaturesToBeDecoded(String[] aVORFeaturesToBeDecoded) Specifies the features that should be decoded into the VOR objects of the model that will be returned by thedecodemethod.Methods inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFMultiModelDecoder
cleanUp, decode, getModelCount, postProcess, 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
-
Constructor Details
-
TLcdDAFIFNavaidDecoder
Deprecated.Constructs a newTLcdDAFIFNavaidDecoderobject. 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 newTLcdDAFIFNavaidDecoderobject. 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 newTLcdDAFIFNavaidDecoderobject. 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- aPropertiesobject that contains for each domain object the appropriate file name
-
TLcdDAFIFNavaidDecoder
Constructs a newTLcdDAFIFNavaidDecoderobject. 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- aPropertiesobject that contains for each domain object the appropriate file name
-
-
Method Details
-
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.
-
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
-
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
-
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 thedecodemethod.Please make sure that the
IDENTIFIER,TYPE,COUNTRY_CODEandKEY_CODEfeatures 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 thedecodemethod.Please make sure that the
IDENTIFIER,TYPE,COUNTRY_CODEandKEY_CODEfeatures 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 thedecodemethod.Please make sure that the
IDENTIFIER,TYPE,COUNTRY_CODEandKEY_CODEfeatures 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 thedecodemethod.Please make sure that the
IDENTIFIER,TYPE,COUNTRY_CODEandKEY_CODEfeatures are in your list.- Parameters:
aDMEFeaturesToBeDecoded- a list of features that should be decoded into the DME objects
-