FeatureTypeis similar to a
Classin Java and can contain three kinds of properties:
AttributeTypeholds information about an attribute (similar to a
FeatureAssociationRoledefines a relationship a feature is involved in (aggregation, composition, etc.).
Operationdescribes functionality a feature is able to perform (similar to
An important aspect of a
Feature is the fact that it is a dynamic data construct defined at runtime.
Traditionally the Java programming language represents dynamic data structures using
One could think of a
Feature as a
Map in which the keys (i.e. the property names) are well defined.
Feature types model is described in the ISO 19109 specification. The following table shows the class hierarchy:
|Types (from ISO 19109)||Instances (GeoAPI specific)|
InterfaceDescriptionAttribute<V>An instance of an
AttributeTypecontaining the value of an attribute in a feature.Definition of an attribute in a feature type.An instance of a
DynamicAttributeTypecontaining time-dependent values of an attribute.Definition of a dynamic attribute in a moving feature type.An instance of a
FeatureTypecontaining values for a real-world phenomena.An instance of an
FeatureAssociationRolecontaining the associated feature.Indicates the role played by the association between two features.Abstraction of a real-world phenomena.Identification and description information inherited by property types and feature types.Describes the behaviour of a feature type as a function or a method.An instance of a
PropertyType.Characteristics that may be associated with a
FeatureType.newInstance()is invoked but the feature can not be instantiated.Thrown when
Operation.apply(…)is invoked but the operation can not complete.Indicates that an operation cannot be completed properly because of a mismatch in the attribute or feature type of operands.Thrown when the temporal position given to a dynamic attribute
valuesAtmethod is outside the period of validity.