# Package org.apache.sis.coverage.grid

package org.apache.sis.coverage.grid
A coverage backed by a regular grid. In the two-dimensional case, the grid coverage is an image and the cells are pixels. In the three-dimensional case, the cells are voxels.

`GridCoverage2D` is a two-dimensional slice in a n-dimensional cube of data. Despite its name, `GridCoverage2D` instances can be associated to n-dimensional envelopes providing that only two dimensions have a `grid span` greater than 1.

`GridCoverageBuilder` is a convenience class making easier to create a grid coverage for some common cases.

## Accurate definition of georeferencing information

While it is possible to create a grid coverage from a geodetic envelope, this approach should be used in last resort only. Instead, always specify the grid to CRS affine transform. This is preferable because envelopes have ambiguities (do we need to swap the longitude and latitude axes? Do we need to flip the y axis?). On the other hand, the grid to CRS affine transform is fully determinist.

Since:
  1.0

Defined in the `sis-feature` module

- Related Packages
  Package
  Description
  org.apache.sis.coverage
  Functions that associates positions within a bounded space (its domain) to values (its range).
- Class
  Description
  BufferedGridCoverage
  Basic access to grid data values backed by a n-dimensional `DataBuffer`.
  DisjointExtentException
  Thrown when operations on a `GridGeometry` result in an area which does not intersect anymore the `GridExtent` of the `GridGeometry`.
  DomainLinearizer
  Method for replacing a non-linear "grid to CRS" conversion by a linear conversion (affine transform).
  FractionalGridCoordinates
  Grid coordinates which may have fraction digits after the integer part.
  GridClippingMode
  Specifies clipping behavior during computations of `GridExtent`.
  GridCoverage
  Base class of coverages with domains defined as a set of grid points.
  GridCoverage2D
  Basic access to grid data values backed by a two-dimensional `RenderedImage`.
  GridCoverageBuilder
  Helper class for the creation of `GridCoverage` instances.
  GridCoverageProcessor
  A predefined set of operations on grid coverages as convenience methods.
  GridDerivation
  Creates a new grid geometry derived from a base grid geometry with different extent or resolution.
  GridEvaluator
  Computes or interpolates values of sample dimensions at given positions.
  GridExtent
  A range of grid coverage coordinates, also known as "grid envelope".
  GridGeometry
  Valid extent of grid coordinates together with the transform from those grid coordinates to real world coordinates.
  GridOrientation
  High-level description about how a grid is orientated relative to the CRS axes.
  GridRoundingMode
  Specifies rounding behavior during computations of `GridExtent` from floating-point values.
  IllegalGridGeometryException
  Thrown when the argument specified to a method or constructor would result in an invalid `GridGeometry`.
  ImageRenderer
  A builder for the rendered image to be returned by `GridCoverage​.render(GridExtent)`.
  IncompleteGridGeometryException
  Thrown by `GridGeometry` when a grid geometry can not provide the requested information.
  PixelTranslation
  The translation to apply for different values of `PixelOrientation` or `PixelInCell`.