Interface ILcdAssociationBasedAirspace

All Superinterfaces:
Cloneable, ILcdBounded, ILcdCloneable, ILcdDataObject, ILcdGenericAirspace, ILcdShape, ILcdShapeList, Serializable
All Known Subinterfaces:
All Known Implementing Classes:
TLcdAssociationBasedAirspace, TLcdFeaturedAssociationBasedAirspace

public interface ILcdAssociationBasedAirspace extends ILcdGenericAirspace, ILcdShapeList
This interface describes the geometry and the relationships of an association-based airspace. An association-based airspace is represented by an ILcdShapeList containing ILcdComplexPolygon or ILcdPolygon instances as individual shapes. The AIXM specification was taken as the basis for this domain object.

An association-based airspace is built up from one or more ILcdGenericAirspace instances which are combined in several ways. Each of these airspaces is contained in an ILcdAirspaceAssociation instance, together with a sequence number and an association (combination) type. All the ILcdAirspaceAssociation instances together determine the geometry of this association-based airspace. They can be retrieved using the methods getAirspaceAssociationCount and getAirspaceAssociation.

The possible association types are defined in the type safe enumeration class TLcdAirspaceAssociationType. The sequence number defines the order in which the associated airspaces must be combined. Two sorts of combinations are possible:

  • Boolean associations (represented by TLcdAirspaceAssociationType.BASE, TLcdAirspaceAssociationType.UNION , TLcdAirspaceAssociationType.INTERSECTION and TLcdAirspaceAssociationType.SUBTRACTION): the horizontal borders from airspaces in associations of this type are combined in the order defined by their sequence number. The BASE association defines the 'basis' airspace; it should always be the first association and may only occur once. The airspaces in the other associations are then combined with this basis airspace using a union, intersection or subtraction operation, according to their type.
  • The above-below association (represented by TLcdAirspaceAssociationType.ABOVE_BELOW ): this association type indicates that the association-based airspace that uses this association has exactly the same horizontal border as the airspace contained in the association. This is useful to reuse the horizontal border of an airspace for an airspace which is situated exactly on top of it. An association-based airspace containing an association of this type may not contain other associations; the sequence number of such an association is therefore redundant here.
To have a valid ILcdAssociationBasedAirspace instance, it should contain at least one airspace association, following one of the combinations described above.

Attributes and relationships in AIS domain objects can be required or optional. When unspecified, an attribute or relationship is optional. Note that most optional attributes are modeled using features.

In future releases of AIS, optional attributes or relationship may be added to this interface. When this would happen, existing implementations may just return a specified default value for these new attributes or relationships (for instance 'null'). This will require a minimal effort to update existing code to a new version of AIS.

See Also:
  • Method Details

    • getAirspaceAssociationCount

      int getAirspaceAssociationCount()
      Returns the number of ILcdAirspaceAssociation objects that are used in the ILcdAssociationBasedAirspace object.
      the number of ILcdAirspaceAssociation objects that are used in the ILcdAssociationBasedAirspace object.
    • getAirspaceAssociation

      ILcdAirspaceAssociation getAirspaceAssociation(int aIndex)
      Returns the ILcdAirspaceAssociation object with the given index. The index represents the index in a list which contains all ILcdAirspaceAssociation objects of the ILcdAssociationBasedAirspace object, ordered by their sequence number.
      aIndex - The index of the airspace association to retrieve.
      the ILcdAirspaceAssociation object with the given index.
      ArrayIndexOutOfBoundsException - if the index is out of range (index < 0 || index >= getAirspaceAssociationCount()).