# 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

- 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`.
  DimensionalityReduction
  Description about how to reduce the number of dimensions of the domain of a grid coverage.
  DisjointExtentException
  Thrown when the domain of two grid coverages or images do not intersect.
  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.
  GridCoverage.Evaluator
  Interpolates values of sample dimensions at given positions.
  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.
  GridCoverageProcessor.Optimization
  Types of changes that a coverage processor can do for executing an operation more efficiently.
  GridDerivation
  Creates a new grid geometry derived from a base grid geometry with different extent or resolution.
  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 cannot provide the requested information.
  PixelInCell
  Whether a "grid to real world" transform gives the coordinates of the cell corner or cell center.
  PixelTranslation
  The translation to apply for different values of `PixelOrientation` or `PixelInCell`.