Package org.opengis.feature

package org.opengis.feature
Defines the structure and content of views of real-world phenomenon. A feature acts as a model of a real world entity. As such it has many similarities to object oriented programming ideas of classes, fields and methods. A FeatureType is similar to a Class in Java and can contain three kinds of properties:
  • AttributeType holds information about an attribute (similar to a Field in Java).
  • FeatureAssociationRole defines a relationship a feature is involved in (aggregation, composition, etc.).
  • Operation describes functionality a feature is able to perform (similar to Method in Java).
Features containing only attributes constrained to the [1 … 1] multiplicity and said simple. Such simple features can also be represented by Record instances.

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 java.util.Map. 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:

Feature class hierarchy
Types (from ISO 19109) Instances (GeoAPI specific)
 ├─ FeatureType
 └─ PropertyType
     ├─ AttributeType
     ├─ FeatureAssociationRole
     └─ Operation
 ├─ Attribute
 └─ FeatureAssociation