public class TLcdDAFIFWayPointDecoder extends ALcdDAFIFSingleModelDecoder
ALcdDAFIFSingleModelDecoder
decodes
waypoints from a DAFIF source file. Decoded models have as model descriptor
an instance of TLcdDAFIFWayPointModelDescriptor
.
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 decoder, the type of the decoded objects is TLcdDAFIFDataTypes.WayPoint
,
which can also be retrieved through ILcdDataObject.getDataType()
.
The available properties of the objects are defined in TLcdDAFIFWayPointDataProperties
.
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 setWaypointFeaturesToBeDecoded
method allows
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.
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 aerodromes the key features are:
DAFIF_PROP_EXTENSION, fRecordCount
Constructor and Description |
---|
TLcdDAFIFWayPointDecoder(ALcdAISObjectFactory aDomainFactory)
Deprecated.
|
TLcdDAFIFWayPointDecoder(ALcdAISObjectFactory aDomainFactory,
Properties aDAFIFProperties)
Deprecated.
|
TLcdDAFIFWayPointDecoder(TLcdAISDataObjectFactory aDomainFactory)
Creates a new
TLcdDAFIFWayPointDecoder object. |
TLcdDAFIFWayPointDecoder(TLcdAISDataObjectFactory aDomainFactory,
Properties aDAFIFProperties)
Creates a new
TLcdDAFIFWayPointDecoder object. |
Modifier and Type | Method and Description |
---|---|
protected ILcdModelDescriptor |
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.
|
protected double |
readLat(char[] aRecord)
Reads a latitude.
|
protected double |
readLon(char[] aRecord)
Reads a longitude.
|
void |
setWaypointDefaultDisplayNameIndex(int aIndex)
Specifies the index of the feature to be the
waypoint display name.
|
void |
setWaypointFeaturesToBeDecoded(String[] aWaypointFeaturesToBeDecoded)
Specifies the waypoint features to be decoded into the model objects.
|
cleanUp, decode, setKeyFeatureNames
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
canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
@Deprecated public TLcdDAFIFWayPointDecoder(ALcdAISObjectFactory aDomainFactory)
TLcdDAFIFWayPointDecoder
object. The user should specify which
domainFactory he or she wants to use to create the waypoints.aDomainFactory
- the factory to be used to create the model objectspublic TLcdDAFIFWayPointDecoder(TLcdAISDataObjectFactory aDomainFactory)
TLcdDAFIFWayPointDecoder
object. The user should specify which
factory he or she wants to use to create the waypoints.aDomainFactory
- the factory to be used to create the model objects@Deprecated public TLcdDAFIFWayPointDecoder(ALcdAISObjectFactory aDomainFactory, Properties aDAFIFProperties)
TLcdDAFIFWayPointDecoder
object. The user should specify which
domainFactory he or she wants to use to create the waypoints.aDomainFactory
- the factory to be used to create the model objectsaDAFIFProperties
- a Properties
object that contains for each domain object
the appropriate file namepublic TLcdDAFIFWayPointDecoder(TLcdAISDataObjectFactory aDomainFactory, Properties aDAFIFProperties)
TLcdDAFIFWayPointDecoder
object. The user should specify which
factory he or she wants to use to create the waypoints.aDomainFactory
- 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)
ALcdDAFIFSingleModelDecoder
handleRecord
in class ALcdDAFIFSingleModelDecoder
aFormat
- the format of the recordaRecord
- the recordprotected ILcdModelDescriptor createModelDescriptor(String aSource)
ALcdDAFIFSingleModelDecoder
decode
method.createModelDescriptor
in class ALcdDAFIFSingleModelDecoder
aSource
- the source that will be used to decodepublic void setWaypointDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setWaypointFeaturesToBeDecoded(String[] aWaypointFeaturesToBeDecoded)
IDENTIFIER
feature
and the COUNTRY_CODE
feature are in your list!aWaypointFeaturesToBeDecoded
- a list of features that should be decoded into the waypoint objectsprotected double readLon(char[] aRecord)
aRecord
- protected double readLat(char[] aRecord)
aRecord
-