Package org.geotools.api.coverage.grid
Grid coverages employ a systematic tessellation of the domain. The principal advantage of such tessellations is that they support a sequential enumeration of the elements of the domain, which makes data storage and access more efficient. The tessellation may represent how the data was acquired or how it was computed in a model. The domain of a grid coverage is a set of grid points, including their convex hull in the case of a continuous grid coverage.
Quadrilateral grid geometry
A grid is a network composed of two or more sets of curves in which the members of each set intersect the members of the other sets in a systematic way. The curves are called grid lines; the points at which they intersect are grid points, and the interstices between the grid lines are grid cells.
The most common case is the one in which the curves are straight lines, and there is one set of grid lines for each dimension of the grid space. In this case the grid cells are parallelograms or parallelepipeds. In its own coordinate system, such a grid is a network composed of two or more sets of equally spaced parallel lines in which the members of each set intersect the members of the other sets at right angles. It has a set of axes equal in number to the dimension of the grid. It has one set of grid lines parallel to each axis. The size of the grid is described by a sequence of integers, in which each integer is a count of the number of lines parallel to one of the axes. There are grid points at all grid line intersections. The axes of the grid provide a basis for defining grid coordinates, which are measured along the axes away from their origin, which is distinguished by having coordinate values of 0. Grid coordinates of grid points are integer numbers. The axes need to be identified to support sequencing rules for associating feature attribute value records to the grid points.
NOTE: The dimensions (axes) of a 2dimensional grid are often called row and column.
A grid may be defined in terms of an external coordinate reference system. This requires additional information about the location of the grid's origin within the external coordinate reference system, the orientation of the grid axes, and a measure of the spacing between the grid lines. If the spacing is uniform, then there is an affine relationship between the grid and external coordinate system, and the grid is called a rectified grid. If, in addition, the external coordinate reference system is related to the earth by a datum, the grid is a georectified grid. The grid lines of a rectified grid need not meet at right angles; the spacing between the grid lines is constant along each axis, but need not be the same on every axis. The essential point is that the transformation of grid coordinates to coordinates of the external coordinate reference system is an affine transformation.
NOTE: The word rectified implies a transformation from an image space to another coordinate reference system. However, grids of this form are often defined initially in an earthbased coordinate system and used as a basis for collecting data from sources other than imagery.
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.
When the relationship between a grid and an external coordinate reference system is not adequate to specify it in terms of an origin, an orientation, and spacing in that coordinate reference system, it may still be possible to transform the grid coordinates into coordinates in the coordinate reference system. This transformation need not be in analytic form; it may be a table, relating the grid points to coordinates in the external coordinate reference system. Such a grid is classified as a referenceable grid. If the external coordinate reference system is related to the earth by a datum, the grid is a georeferenceable grid. A referenceable grid is associated with information that allows the location of all points in the grid to be determined in the coordinate reference system, but the location of the points is not directly available from the grid coordinates, as opposed to a rectified grid where the location of the points in the coordinate reference system is derivable from the properties of the grid itself. The transformation produced by the information associated with a referenceable grid will produce a grid as seen in the coordinate reference system, but the grid lines of that grid need not be straight or orthogonal, and the grid cells may be of different shapes and sizes.
Cell structures
The term "grid cell" refers to two concepts: one important from the perspective of data collection and portrayal, the other important from the perspective of grid coverage evaluation. The ambiguity of this term is a common cause of positioning error in evaluating or portraying grid coverages.
The feature attribute values associated with a grid point represent characteristics of the real world measured or observed within a small space surrounding a sample point represented by the grid point. The grid lines connecting these points form a set of grid cells. A common simplifying assumption is that the sample space is equally divided among the sample points, so that the sample spaces are represented by a second set of cells congruent to the first but offset so that each has a grid point at its centre. Evaluation of a grid coverage is based on interpolation between grid points, i.e., within a grid cell bounded by the grid lines that connect the grid points that represent the sample points.
In the ISO 19123 International Standard, the term grid cell refers to the cell bounded by the grid lines that connect the grid points. The term sample space refers to the observed or measured space surrounding a sample point. The term footprint refers to a representation of a sample space in the context of some coordinate reference system.
In dealing with gridded data, e.g., for processing or portrayal, it is often assumed that the size and shape of the sample spaces are a simple function of the spatial distribution of the sample points, and typically that the grid cells and the sample cells are congruent.
In fact, the size and shape of the sample space are determined by the method used to measure or calculate the attribute value. In the simplest case, the sample space is the sample point. It is often a disc, a sphere, or a hypersphere surrounding the sample point. In the case of sensed data the size and shape of the sample space is also a function of the sensor model and its position relative to the sample point, and may be quite complex. Adjacent sample spaces may be coterminous or they may overlap or underlap.
In addition to affecting the size and shape of the sample space, the measurement technique affects the applicability of the observed or measured value to the sample space. It is often assumed that the recorded value represents the mean value for the sample space. In fact, elements of the sample space may not contribute uniformly to the result, so that it is better conceived as a weighted average where the weighting is a function of position within the sample space. Interpolation methods may be designed specifically to deal with characteristics of the sample space.
Transformation (e.g., rectification) between grid coordinates and an external coordinate reference system may distort the representation of the sample space in a way that causes interpolation errors.
 Since:
 GeoAPI 2.0

Interface Summary Interface Description Format A discovery mechanism to determine the formats supported by aGridCoverageExchange
implementation.GridCoordinates Holds the set of grid coordinates that specifies the location of the grid point within the grid.GridCoverage Represent the basic implementation which provides access to grid coverage data.GridCoverageReader Support for reading grid coverages out of a persistent store.GridCoverageWriter Support for writing grid coverages into a persistent store.GridEnvelope Provides the grid coordinate values for the diametrically opposed corners of the grid.GridGeometry Describes the geometry and georeferencing information of the grid coverage. 
Exception Summary Exception Description GridNotEditableException Thrown when an attempt is made to write in a noneditable grid.InvalidRangeException Thrown when a grid range is out of grid coverage bounds.