Package org.geotools.api.coverage

Coverages (generate a value for any point). The following is adapted from ISO 19123 specification.

A coverage is a feature that associates positions within a bounded space (its domain) to feature attribute values (its range). In other words, it is both a feature and a function. Examples include a raster image, a polygon overlay, or a digital elevation matrix.

A coverage may represent a single feature or a set of features.

Domain of a coverage

A coverage domain is a set of geometric objects described in terms of direct positions. It may be extended to all of the direct positions within the convex hull of that set of geometric objects. The direct positions are associated with a spatial or temporal coordinate reference system. Commonly used domains include point sets, grids, collections of closed rectangles, and other collections of geometric objects. The geometric objects may exhaustively partition the domain, and thereby form a tessellation such as a grid or a TIN. Point sets and other sets of non-conterminous geometric objects do not form tessellations. Coverage subtypes may be defined in terms of their domains.

Coverage domains differ in both the coordinate dimension of the space in which they exist and in the topological dimension of the geometric objects they contain. Clearly, the geometric objects that make up a domain cannot have a topological dimension greater than the coordinate dimension of the domain. A domain of coordinate dimension 3 may be composed of points, curves, surfaces, or solids, while a domain of coordinate dimension 2 may be composed only of points, curves, or surfaces. ISO 19107 defines a number of geometric objects (subtypes of the interface org.geotools.api.geometry.Geometry) to be used for the description of features. Many of these geometric objects can be used to define domains for coverages. In addition, ISO 19108 defines TM_GeometricPrimitives that may also be used to define domains of coverages.

The range of a coverage

The range of a coverage is a set of feature attribute values. It may be either a finite or a transfinite set. Coverages often model many associated functions sharing the same domain. Therefore, the value set is represented as a collection of records with a common schema.

Example: A coverage might assign to each direct position in a county the temperature, pressure, humidity, and wind velocity at noon, today, at that point. The coverage maps every direct position in the county to a record of 4 fields.

A feature attribute value may be of any data type. However, evaluation of a continuous coverage is usually implemented by interpolation methods that can be applied only to numbers or vectors. Other data types are almost always associated with discrete coverages.

Given a record from the range of a coverage, inverse evaluation is the calculation and exposure of a set of geometric objects associated with specific values of the attributes. Inverse evaluation may return many geometric objects associated with a single feature attribute value.

Example: Inverse evaluation is used for the extraction of contours from an elevation coverage and the extraction of classified regions in an image.

Discrete and continuous coverages

Coverages are of two types. A discrete coverage has a domain that consists of a finite collection of geometric objects and the direct positions contained in those geometric objects. A discrete coverage maps each geometric object to a single record of feature attribute values. The geometric object and its associated record form a geometry value pair. A discrete coverage is thus a discrete or step function as opposed to a continuous coverage. Discrete functions can be explicitly enumerated as (input, output) pairs. A discrete coverage may be represented as a collection of ordered pairs of independent and dependent variables. Each independent variable is a geometric object and each dependent variable is a record of feature attribute values.

Example: A coverage that maps a set of polygons to the soil type found within each polygon is an example of a discrete coverage.

A continuous coverage has a domain that consists of a set of direct positions in a coordinate space. A continuous coverage maps direct positions to value records.

Example: Consider a coverage that maps direct positions in San Diego County to their temperature at noon today. Both the domain and the range may take infinitely many different values. This continuous coverage would be associated with a discrete coverage that holds the temperature values observed at a set of weather stations.

A continuous coverage may consist of no more than a spatially bounded, but transfinite set of direct positions, and a mathematical function that relates direct position to feature attribute value. This is called an analytical coverage.

Example: A statistical trend surface that relates land value to position relative to a city centre is an example of a continuous coverage.

More often, the domain of a continuous coverage consists of the direct positions in the union or in the convex hull of a finite collection of geometric objects; it is specified by that collection. In most cases, a continuous coverage is also associated with a discrete coverage that provides a set of control values to be used as a basis for evaluating the continuous coverage. Evaluation of the continuous coverage at other direct positions is done by interpolating between the geometry value pairs of the control set. This often depends upon additional geometric objects constructed from those in the control set; these additional objects are typically of higher topological dimension than the control objects. In this set of interfaces, such objects are called geometry value objects. A geometry value object is a geometric object associated with a set of geometry value pairs that provide the control for constructing the geometric object and for evaluating the coverage at direct positions within the geometric object.

Example: Evaluation of a triangulated irregular network involves interpolation of values within a triangle composed of three neighbouring point value pairs.

Since:
GeoAPI 2.0