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)|
Interface Summary Interface Description Attribute<V>An instance of an
AttributeTypecontaining the value of an attribute in a feature.
AttributeType<V>Definition of an attribute in a feature type. DynamicAttribute<V>An instance of a
DynamicAttributeTypecontaining time-dependent values of an attribute.
DynamicAttributeType<V>Definition of a dynamic attribute in a moving feature type. FeatureAn instance of a
FeatureTypecontaining values for a real-world phenomena.
FeatureAssociationAn instance of an
FeatureAssociationRolecontaining the associated feature.
FeatureAssociationRoleIndicates the role played by the association between two features. FeatureTypeAbstraction of a real-world phenomena. IdentifiedTypeIdentification and description information inherited by property types and feature types. OperationDescribes the behaviour of a feature type as a function or a method. PropertyAn instance of a
PropertyTypeCharacteristics that may be associated with a
Exception Summary Exception Description FeatureInstantiationExceptionThrown when
FeatureType.newInstance()is invoked but the feature can not be instantiated.
Operation.apply(…)is invoked but the operation can not complete.
InvalidPropertyValueException MismatchedFeatureExceptionIndicates that an operation cannot be completed properly because of a mismatch in the attribute or feature type of operands. MultiValuedPropertyException OutOfTemporalDomainExceptionThrown when the temporal position given to a dynamic attribute
valuesAtmethod is outside the period of validity.