Package com.luciad.format.aixm51.model
This package contains a domain model to represent an AIXM 5.1 data source. Classes are available that represent AIXM 5.1 messages, features, timeslices and other objects.
The basic information unit in an AIXM 5.1 dataset is a feature. A feature corresponds
to a real object in the aeronautical environment, such as an aerodrome, runway, navaid, route, etc.
Each AIXM 5.1 feature consists of one or more timeslices, that describe the state
of the feature during a certain time period.
As the structure of all feature types is the same, they are all mapped on the
class TLcdAIXM51Feature
. This class is a generic class
that takes the feature's time slice class as parameter. There is a timeslice class
for each feature type. This time slice class extends from TLcdAIXM51AbstractAIXMTimeSlice
.
An AIXM 5.1 feature can either be stand-alone, or contained inside a message.
A message consists of one ore more features, and is represented by the class
TLcdAIXM51AbstractAIXMMessage
. This class implements ILcdModel
.
This AIXM 5.1 domain model has been generated based on the AIXM 5.1 XML schema. There is typically
one domain class for each type defined in the schema (a detailed explanation of how LuciadLightspeed
maps XML schema on java classes can be found in TLcdXMLDataModelBuilder
).
In the case of AIXM however, the following customizations have been applied to reduce the amount
of generated classes:
- All concrete feature types are mapped on the generic
TLcdAIXM51Feature
class. - Association types (complex types that only define the XLink and gml:owns attributes) are
mapped on the generic
TLcdAIXM51Association
class. In the XML schema, the names of these types typically end with PropertyType. Associations are typically used to create links between different objects using XLink. - Link types (complex types that only define the gml:owns attribute and have a single child element)
are mapped on the generic
TLcdAIXM51Link
class. In the XML schema, the names of these types typically end with PropertyType. Links are typically used for feature extensions and when a feature refers to a time slice. - Optional types (complex types that only a define a gml:nilreason attribute) are mapped on
the generic
TLcdAIXM51Optional
class. Optional types are typically used for child elements of the time slice type. - Property types (complex types that extends from AbstractAIXMPropertyType and define only
a single element) are mapped on the generic
TLcdAIXM51Property
class. The names of property types typically also end with PropertyType.
Association, link, property and optional types are an implementation artifact of the AIXM model. They are
introduced either because of XML schema constraints or because of the AIXM temporality model. In the
AIXM UML model, these types are not present. For the vast majority of use cases of the AIXM domain objects
the additional information present in these types is not relevant. Therefore, the accessors defined
on the domain classes typically don't show these types but rather give immediate access to the
real content stored in these types. For instance, the accessors for the designator on the TLcdAIXM5AirspaceTimeSlice
are of type String and not TLcdAIXM51Optional<String>
. Use cases that do need
the information contained in the association, link and optional types can use the generic
ILcdDataObject
API.
Note that most of the documentation on the model classes is directly generated based on the annotations in the AIXM XML schema. Classes of which the corresponding XML type have no such annotations may have little or no documentation.
- Since:
- 10.0
-
ClassDescriptionA time slice provider implements a strategy for deriving a time slice from a given AIXM 5.1 feature that can be assumed to describe the state of the feature that is most relevant for the application.This class provides access to the data model and the types of http://www.aixm.aero/schema/5.1.This class provides access to the data model and the types of http://www.aixm.aero/schema/5.1/message.Model descriptor for AIXM 5.1 models.This time slice provider returns a snapshot time slice for a given
Date
.A default time slice provider implementation that will always return one of the original time slices of the feature.