Interface AttributeType<V>

  • Type Parameters:
    V - the type of attribute values.
    All Superinterfaces:
    IdentifiedType, PropertyType
    All Known Subinterfaces:
    DynamicAttributeType<V>

    @Classifier(METACLASS)
    @UML(identifier="AttributeType",
         specification=ISO_19109)
    public interface AttributeType<V>
    extends PropertyType
    Definition of an attribute in a feature type. The name of attribute type is mandatory. The name scope is typically the name of the feature type containing this attribute, but this is not mandatory. The scope could also be defined by the ontology for example.
    Note: Compared to the Java language, AttributeType is equivalent to Field while FeatureType is equivalent to Class.

    Value type

    Attributes can be used for both spatial and non-spatial properties. Some examples are:
    Attribute value type examples
    Attribute name Value type
    Building shape Geometry
    Building owner Responsibility
    Horizontal accuracy PositionalAccuracy

    Attribute characterization

    An Attribute can be characterized by other attributes. For example an attribute that carries a measurement (e.g. air temperature) may have another attribute that holds the measurement accuracy (e.g. ±0.1°C). Such accuracy can be stored as a characteristic of the measurement attribute.

    The characteristics() method in this AttributeType interface returns a description of all characteristics that attributes of this type may have. The actual characteristics values can be stored on a record-by-record basis in the Attribute.characteristics() map. However in the common case of characteristics having a constant value for all records in a dataset, the constant can be given by the characteristic default value and Attribute.characteristics() may return an empty map (at implementation choice).

    Since:
    3.1
    See Also:
    Attribute, DynamicAttributeType