Package com.luciad.format.asterix
Class ALcdASTERIXCategory
java.lang.Object
com.luciad.format.asterix.ALcdASTERIXCategory
- Direct Known Subclasses:
TLcdASTERIXCategory1
,TLcdASTERIXCategory10
,TLcdASTERIXCategory11
,TLcdASTERIXCategory21
,TLcdASTERIXCategory21Version0Dot23
,TLcdASTERIXCategory240
,TLcdASTERIXCategory244
,TLcdASTERIXCategory30
,TLcdASTERIXCategory30Version2Dot5Ter
,TLcdASTERIXCategory34
,TLcdASTERIXCategory48
,TLcdASTERIXCategory62
,TLcdASTERIXCategory8
Base class for all classes that represent an ASTERIX category.
General
ASTERIX data is structured into different data categories, each having a unique number. Every supported category is modelled using a subclass of this class, e.g.TLcdASTERIXCategory1
.
Every data category can have multiple user application profiles; they can be
retrieved from this category class (see getUAP(int)
).
To test if a given category instance is the same as some other category instance,
the equals
method should be used.
Naming convention
All subclasses of this class define a lot of constants (see for exampleTLcdASTERIXCategory1.I001_010_CI_DATA_SOURCE_ID
). These
constants are not documented individually, but instead follow the naming
convention explained below.
For every data category, a lot of extra information (such as "Ground speed",
"Track number", ...) is made available by the domain objects.
All domain objects implement the ILcdDataObject interface. This
interface offers a unified way to obtain information about the element they represent. Each
ILcdDataObject
is associated with a TLcdDataType
that
describes what properties are contained in the ILcdDataObject
.
Each category generally has a list of public constants that define all properties of the
tracks of that category.
The constants are composed like this:
ICCC_DDD(_S)*_XI_NAME
- CCC: the category number, e.g., 001
- DDD: the data item number used in the ASTERIX specifications, e.g., 010; for non-standard data items (that don't have a data item number) the character codes from the ASTERIX specifications are used, e.g. RE, SP
- S: the sub item numbers (e.g., 1, 2, ...); data items can be nested, a sub number is specified for each sub level, e.g. _1_3_5; is omitted for top level properties;
- XI: is either SI, CI, or LI
- SI: Simple Item, the value of the property with this name has a simple value, such as a speed, a distance, ...
- CI: Complex Item, the value of the property with this name is of type
ILcdDataObject
, and in turn has sub properties. - LI: List Item, similar to CI, but all the sub items are of the same type which can be simple (SI), for example a list of distances or speeds, but can also be complex (CI);
- NAME: a descriptive name
TLcdASTERIXCategory1.I001_040_CI_MEASURED_POSITION_POLAR
. The '001'
refers to category 1, the '040' refers to data item 040 (see specs), the CI indicates that this is a complex
item, composed of others, and 'MEASURED_POSITION_POLAR' is a descriptive name. Because the
sub item number is omitted, this is a top level property.
Consider the constant TLcdASTERIXCategory62.I062_500_3_SI_EST_ACC_LONGITUDE
. The '062'
refers to category 62, the '500' refers to data item 500 (see specs), the sub item number '3' means this
constant is about the 3rd sub item of data item 500: "Estimated Accuracy Of Track Position (WGS-84)".
'SI' indicates it's a simple value (the longitude is expressed in degrees), and
'EST_ACC_LONGITUDE' is an abbreviation for 'estimated accuracy of the longitude'.
Apart from the ILcdDataObject
interface, all domain objects also implement the ILcdFeatured interface,
for reasons of backwards compatibility. For this reason, it is recommended that the newer ILcdDataObject
interface is used instead of the ILcdFeatured
interface where possible. The meta-data for the featured interface (such as
a descriptive name) is available through the ILcdFeaturedDescriptor
interface. Please refer to ALcdASTERIXModelDescriptor
for a more detailed
discussion about the features.-
Method Details
-
getCategoryNumber
public int getCategoryNumber()Returns the category number of this data category. This is a unique identifier for that category.- Returns:
- the category number of this data category.
-
getUAP
Returns the user application profile at the given index.- Parameters:
aIndex
- The index to retrieve the user application profile for. 0 <= aIndex <getUAPCount()
.- Returns:
- the user application profile at the given index.
-
getUAPCount
public int getUAPCount()Returns the number of user application profiles (UAP) available.- Returns:
- the number of user application profiles (UAP) available.
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-