public class TLcdDAFIFNavaidDecoder extends ALcdDAFIFMultiModelDecoder
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:
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:
DAFIF_PROP_EXTENSION, fRecordCount
Constructor and Description |
---|
TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory)
Deprecated.
|
TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory,
Properties aDAFIFProperties)
Deprecated.
|
TLcdDAFIFNavaidDecoder(TLcdAISDataObjectFactory aFactory)
Constructs a new
TLcdDAFIFNavaidDecoder object. |
TLcdDAFIFNavaidDecoder(TLcdAISDataObjectFactory aFactory,
Properties aDAFIFProperties)
Constructs a new
TLcdDAFIFNavaidDecoder object. |
Modifier and Type | Method and Description |
---|---|
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 the
decode method). |
TLcdEditableModelListDescriptor |
createModelDescriptor(String aSource)
Creates and returns the model descriptor to be set on the model returned in the
decode method.
|
String |
getDecodeFileName()
Returns the name of the file to be decoded.
|
String |
getDisplayName()
Returns a short, displayable name for the format that is decoded by this
ILcdModelDecoder . |
protected 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 the
decode 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 the
decode 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 the
decode 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 the
decode method. |
cleanUp, decode, getModelCount, postProcess, setKeyFeatureNames, setModelCount
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBounds, getDAFIFProperties, getDataObjectFactory, getDecodingBounds, getDomainFactory, getErrorMessage, setBounds, setDAFIFModelFilter, setDAFIFProperties, setDataObjectFactory, setDecodingBounds, setDomainFactory, setStoreOriginalReference
canDecodeSource, canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
@Deprecated public TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory)
TLcdDAFIFNavaidDecoder
object. The user
should specify which domainFactory he or she wants to use to create the navaids.aFactory
- the factory to be used to create the model objectspublic TLcdDAFIFNavaidDecoder(TLcdAISDataObjectFactory aFactory)
TLcdDAFIFNavaidDecoder
object. The user
should specify which factory he or she wants to use to create the navaids.aFactory
- the factory to be used to create the model objects@Deprecated public TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties)
TLcdDAFIFNavaidDecoder
object. The user
should specify which domainFactory he or she wants to use to create the navaids.aFactory
- the factory to be used to create the model objectsaDAFIFProperties
- a Properties
object that contains for each domain object
the appropriate file namepublic TLcdDAFIFNavaidDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties)
TLcdDAFIFNavaidDecoder
object. The user
should specify which domainFactory he or she wants to use to create the navaids.aFactory
- the factory to be used to create the model objectsaDAFIFProperties
- a Properties
object that contains for each domain object
the appropriate file namepublic String getDisplayName()
ILcdModelDecoder
ILcdModelDecoder
.getDisplayName
in interface ILcdModelDecoder
getDisplayName
in class ALcdDAFIFDecoder
ILcdModelDecoder
.public String getDecodeFileName()
ILcdDAFIFDecoder
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.
protected final void handleRecord(int aFormat, char[] aRecord)
ALcdDAFIFMultiModelDecoder
handleRecord
in class ALcdDAFIFMultiModelDecoder
aFormat
- the format of the recordaRecord
- the record to deal withprotected ILcdModelDescriptor createModelDescriptor(int aIndex, String aSource)
ALcdDAFIFMultiModelDecoder
decode
method).createModelDescriptor
in class ALcdDAFIFMultiModelDecoder
aSource
- the source to be decodedpublic TLcdEditableModelListDescriptor createModelDescriptor(String aSource)
ILcdDAFIFMultiModelDecoder
createModelDescriptor
in interface ILcdDAFIFMultiModelDecoder
createModelDescriptor
in class ALcdDAFIFMultiModelDecoder
aSource
- the source that will be used to build the modelpublic void setVORDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setTACANDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setDMEDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setNDBDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setVORFeaturesToBeDecoded(String[] aVORFeaturesToBeDecoded)
decode
method.
Please make sure that the IDENTIFIER
, TYPE
,
COUNTRY_CODE
and KEY_CODE
features are
in your list.
aVORFeaturesToBeDecoded
- a list of features that should be decoded into the VOR objectspublic void setTACANFeaturesToBeDecoded(String[] aTACANFeaturesToBeDecoded)
decode
method.
Please make sure that the IDENTIFIER
, TYPE
,
COUNTRY_CODE
and KEY_CODE
features are
in your list.
aTACANFeaturesToBeDecoded
- a list of features that should be decoded into the TACAN objectspublic void setNDBFeaturesToBeDecoded(String[] aNDBFeaturesToBeDecoded)
decode
method.
Please make sure that the IDENTIFIER
, TYPE
,
COUNTRY_CODE
and KEY_CODE
features are
in your list.
aNDBFeaturesToBeDecoded
- a list of features that should be decoded into the NDB objectspublic void setDMEFeaturesToBeDecoded(String[] aDMEFeaturesToBeDecoded)
decode
method.
Please make sure that the IDENTIFIER
, TYPE
,
COUNTRY_CODE
and KEY_CODE
features are
in your list.
aDMEFeaturesToBeDecoded
- a list of features that should be decoded into the DME objects