public class TLcdDAFIFRunwayDecoder extends ALcdDAFIFSingleModelDecoder
ALcdDAFIFSingleModelDecoder
decodes
runways from a DAFIF source file. Decoded models have as model descriptor
an instance of TLcdDAFIFRunwayModelDescriptor
.
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.Runway
,
which can also be retrieved through ILcdDataObject.getDataType()
.
The available properties of the objects are defined in TLcdDAFIFRunwayDataProperties
.
The values for these properties can be retrieved through ILcdDataObject.getValue(com.luciad.datamodel.TLcdDataProperty)
.
DAFIF_PROP_EXTENSION, fRecordCount
Constructor and Description |
---|
TLcdDAFIFRunwayDecoder(ALcdAISObjectFactory aFactory)
Deprecated.
|
TLcdDAFIFRunwayDecoder(ALcdAISObjectFactory aFactory,
Properties aDAFIFProperties)
Deprecated.
|
TLcdDAFIFRunwayDecoder(TLcdAISDataObjectFactory aFactory)
Constructs a new
TLcdDAFIFRunwayDecoder object. |
TLcdDAFIFRunwayDecoder(TLcdAISDataObjectFactory aFactory,
Properties aDAFIFProperties)
Constructs a new
TLcdDAFIFRunwayDecoder 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. |
void |
createRequiredIndex(ILcdFeatureIndexedAnd2DBoundsIndexedModel aModel)
Adds a unique index on specified model of aerodromes.
|
ILcdModel |
decode(String aSource)
Returns a model containing domain objects read from the given source file.
|
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.
|
static boolean |
isDecodeArrestingGear()
Returns a boolean indicating whether the arresting gear model
will be decoded or not.
|
protected double |
readHighEndLat(char[] aRecord)
Reads the high end latitude.
|
protected double |
readHighEndLon(char[] aRecord)
Reads the high end longitude.
|
protected ILcdGeodeticDatum |
readLocalHorizontalDatumFromFmt1(char[] aRecord)
Reads the local horizontal datum from a record of format 01.
|
protected double |
readLowEndLat(char[] aRecord)
Reads the low end latitude.
|
protected double |
readLowEndLon(char[] aRecord)
Reads the low end longitude.
|
void |
setAerodromeModel(ILcdFeatureIndexedModel aAirportsModel)
Specifies an aerodrome model.
|
void |
setArrestingGearFeaturesToBeDecoded(String[] aArrestingGearFeaturesToBeDecoded)
Specifies the features that should be decoded into the arresting gear
objects of the model that will be returned by the
decode method. |
static void |
setDecodeArrestingGear(boolean aDecodeArrestingGear)
Specify whether the arresting gear model should be added or not
while decoding the runways.
|
void |
setRunwayDefaultDisplayNameIndex(int aIndex)
Specifies the index of the feature to be used as
display name.
|
void |
setRunwayDirectionDefaultDisplayNameIndex(int aIndex)
Specifies the index of the feature to be used as
display name.
|
void |
setRunwayDirectionFeaturesToBeDecoded(String[] aRunwayDirectionFeaturesToBeDecoded)
Specifies the features that should be decoded into the runway direction
objects of the model that will be returned by the
decode method. |
void |
setRunwayFeaturesToBeDecoded(String[] aRunwayFeaturesToBeDecoded)
Specifies the features that should be decoded into the runway objects
of the model that will be returned by the
decode method. |
cleanUp, 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 TLcdDAFIFRunwayDecoder(ALcdAISObjectFactory aFactory)
TLcdDAFIFRunwayDecoder
object. The user
should specify which domainFactory he or she wants to use to create the runways.aFactory
- the factory to be used to create the model objectspublic TLcdDAFIFRunwayDecoder(TLcdAISDataObjectFactory aFactory)
TLcdDAFIFRunwayDecoder
object. The user
should specify which factory he or she wants to use to create the runways.aFactory
- the factory to be used to create the model objectspublic TLcdDAFIFRunwayDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties)
TLcdDAFIFRunwayDecoder
object. The user
should specify which domainFactory he or she wants to use to create the runways.aFactory
- the factory to be used to create the model objectsaDAFIFProperties
- a Properties
object that contains for each domain object
the appropriate file name@Deprecated public TLcdDAFIFRunwayDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties)
TLcdDAFIFRunwayDecoder
object. The user
should specify which domainFactory he or she wants to use to create the runways.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 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.
public String getDisplayName()
ILcdModelDecoder
ILcdModelDecoder
.getDisplayName
in interface ILcdModelDecoder
getDisplayName
in class ALcdDAFIFDecoder
ILcdModelDecoder
.protected final void handleRecord(int aFormat, char[] aRecord)
ALcdDAFIFSingleModelDecoder
handleRecord
in class ALcdDAFIFSingleModelDecoder
aFormat
- the format of the recordaRecord
- the recordpublic ILcdModel decode(String aSource) throws IOException
ALcdDAFIFSingleModelDecoder
The model will be build by looping through the records found in the source file.
Each record will be manipulated by the abstract handleRecord
method.
Furthermore, the error message will be initialized and filled with reports about errors occurred during the decode proces.
decode
in interface ILcdModelDecoder
decode
in class ALcdDAFIFSingleModelDecoder
aSource
- either the directory containing the DAFIF source file to decode (if you did not
specify a properties file in the constructor, the default file name will be used), a .toc file
containing the DAFIF properties (the data file should be in the same directory as the .toc file)
or a single file which name corresponds to the file name associated with this decoder
(see getDecodeFileName()
).IOException
- if an error occurs during the reading processILcdModelDecoder.canDecodeSource(String)
protected ILcdModelDescriptor createModelDescriptor(String aSource)
ALcdDAFIFSingleModelDecoder
decode
method.createModelDescriptor
in class ALcdDAFIFSingleModelDecoder
aSource
- the source that will be used to decodepublic void setRunwayDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setRunwayDirectionDefaultDisplayNameIndex(int aIndex)
aIndex
- the index of the feature to be used as display namepublic void setAerodromeModel(ILcdFeatureIndexedModel aAirportsModel)
aAirportsModel
- createRequiredIndex(com.luciad.model.ILcdFeatureIndexedAnd2DBoundsIndexedModel)
public void createRequiredIndex(ILcdFeatureIndexedAnd2DBoundsIndexedModel aModel)
setAerodromeModel
method.
Please make sure that the ILcdAerodromeFeature.IDENTIFICATION
feature
was decoded into the model objects of the specified aerodrome model.
aModel
- a model containing the aerodromessetAerodromeModel(com.luciad.model.ILcdFeatureIndexedModel)
public static boolean isDecodeArrestingGear()
setDecodeArrestingGear(boolean)
public static void setDecodeArrestingGear(boolean aDecodeArrestingGear)
aDecodeArrestingGear
- Whether the arresting gear should be decoded.isDecodeArrestingGear()
public void setRunwayFeaturesToBeDecoded(String[] aRunwayFeaturesToBeDecoded)
decode
method.
Please make sure that the ILcdDAFIFRunwayFeature.AERODROME_IDENTIFICATION
, the
ILcdDAFIFRunwayFeature.HIGH_END_IDENTIFIER
and the ILcdDAFIFRunwayFeature.LOW_END_IDENTIFIER
features are in your list.aRunwayFeaturesToBeDecoded
- a list of features that should be decoded into the runway objectspublic void setRunwayDirectionFeaturesToBeDecoded(String[] aRunwayDirectionFeaturesToBeDecoded)
decode
method.
Please make sure that the ILcdRunwayDirectionFeature.IDENTIFIER
feature is in your list.
aRunwayDirectionFeaturesToBeDecoded
- a list of features that should be decoded into the runway direction objectspublic void setArrestingGearFeaturesToBeDecoded(String[] aArrestingGearFeaturesToBeDecoded)
decode
method.aArrestingGearFeaturesToBeDecoded
- a list of features that should be decoded into the arresting gear objectsprotected double readHighEndLon(char[] aRecord)
protected double readHighEndLat(char[] aRecord)
aRecord
- protected double readLowEndLon(char[] aRecord)
protected double readLowEndLat(char[] aRecord)
protected ILcdGeodeticDatum readLocalHorizontalDatumFromFmt1(char[] aRecord)