## org.opengis.coverage.processing
Interface GridCoverageProcessor

    @UML(identifier="GP_GridCoverageProcessor",
         specification=OGC_01004)
    public interface GridCoverageProcessor

Provides operations for different ways of accessing the grid coverage values as well as image processing functionality. The list of available processing operations is implementation dependent. The interface has a discovery mechanism to determine the available processing operations. These processing operations will transform values within a single sample dimension, and leave the values in other sample dimensions unaffected. The modified sample dimension may also change its type (e.g. from `UNSIGNED_4BITS` to `UNSIGNED_1BIT`). The actual underlying grid data remains unchanged.

The interface has been designed to allow the adaptations to be done in a "pipe-lined" manner. The interface operates on `GridCoverage` to create new a `GridCoverage`. The interface does not need to make a copy of the source grid data. Instead, it can return a grid coverage object which applies the adaptations on the original grid coverage whenever a block of data is requested. In this way, a pipeline of several grid coverages can be constructed cheaply.

This interface can perform any of the following:

- Change the number of bands being accessed.
- Change the value sequencing in which the grid values are retrieved.
- Allow re-sampling of the grid coverage for a different geometry. Creating a new `GridCoverage` with different grid geometry allows for reprojecting the grid coverage to another projection and another georeferencing type, resampling to another cell resolution and subsetting the grid coverage.
- Modify the way the grid values are accessed (filtered, classified...).
- Change the interpolation method used when evaluating points which fall between grid cells.
- Filtering.
- Image enhancements.
- etc.

WARNING: THIS CLASS WILL CHANGE. Current API is derived from OGC Grid Coverages Implementation specification 1.0. We plan to replace it by new interfaces derived from ISO 19123 (Schema for coverage geometry and functions). Current interfaces should be considered as legacy and are included in this distribution only because they were part of GeoAPI 1.0 release. We will try to preserve as much compatibility as possible, but no migration plan has been determined yet.

Since:
  GeoAPI 1.0
Version:
  Grid Coverage specification 1.0

Method Summary
`GridAnalysis` `analyze(GridCoverage gridCoverage)` Deprecated. No replacement.
`GridCoverage` `doOperation(String operationName, GeneralParameterValue[] parameters)` Deprecated.
`String[]` `getMetadataNames()` Deprecated. No replacement.
`String` `getMetadataValue(String name)` Deprecated. No replacement.
`int` `getNumOperations()` Deprecated. Use `getOperations()` instead.
`Operation` `getOperation(int index)` Deprecated. Use `getOperations()` instead.
`Collection<Operation>` `getOperations()` Retrieves grid processing operations information.

Method Detail

### getMetadataNames

    @Deprecated
    @UML(identifier="metadataNames",
         obligation=MANDATORY,
         specification=OGC_01004)
    String[] getMetadataNames()

  Deprecated. No replacement.

  Retrieves the list of metadata keywords for the interface. An empty list will returned if no metadata is available.

  Returns:
    The list of metadata keywords for the interface.

### getMetadataValue

    @Deprecated
    @UML(identifier="getMetadataValue",
         obligation=MANDATORY,
         specification=OGC_01004)
    String getMetadataValue(String name)
                            throws MetadataNameNotFoundException

  Deprecated. No replacement.

  Retrieves the metadata value for a given metadata name.

  Parameters:
    `name` - Metadata keyword for which to retrieve metadata.
  Returns:
    The metadata value for a given metadata name.
  Throws:
    `MetadataNameNotFoundException` - if there is no value for the specified metadata name.

### getNumOperations

    @Deprecated
    @UML(identifier="numOperations",
         obligation=MANDATORY,
         specification=OGC_01004)
    int getNumOperations()

  Deprecated. Use `getOperations()` instead.

  The number of operations supported by the `GridCoverageProcessor`.

  Returns:
    The number of operations supported by the `GridCoverageProcessor`.

### getOperation

    @Deprecated
    @UML(identifier="getOperation",
         obligation=MANDATORY,
         specification=OGC_01004)
    Operation getOperation(int index)
                           throws IndexOutOfBoundsException

  Deprecated. Use `getOperations()` instead.

  Retrieves a grid processing operation information. The operation information will contain the name of the operation as well as a list of its parameters.

  Parameters:
    `index` - Index for which to retrieve the operation information.
  Returns:
    A grid processing operation information.
  Throws:
    `IndexOutOfBoundsException` - if `index` is out of bounds.

### getOperations

    @UML(identifier="getOperation",
         obligation=MANDATORY,
         specification=OGC_01004)
    Collection<Operation> getOperations()

  Retrieves grid processing operations information. Each operation information will contain the name of the operation as well as a list of its parameters.

### analyze

    @Deprecated
    @UML(identifier="analyze",
         obligation=MANDATORY,
         specification=OGC_01004)
    GridAnalysis analyze(GridCoverage gridCoverage)

  Deprecated. No replacement.

  Creates a `GridAnalysis` interface from a grid coverage. This allows grid analysis functions to be performed on a grid coverage.

  Parameters:
    `gridCoverage` - Grid coverage on which the analysis will be performed.
  Returns:
    A new `GridAnalysis` interface.

### doOperation

    @Deprecated
    @UML(identifier="doOperation",
         obligation=MANDATORY,
         specification=OGC_01004)
    GridCoverage doOperation(String operationName,
                                                                                               GeneralParameterValue[] parameters)
                             throws OperationNotFoundException,
                                    ParameterNotFoundException,
                                    InvalidParameterNameException,
                                    InvalidParameterValueException

  Deprecated.

  Applies a process operation to a grid coverage.

  Parameters:
    `operationName` - Name of the operation to be applied to the grid coverage.
    `parameters` - List of name value pairs for the parameters required for the operation.
  Returns:
    The grid coverage which has been applied the process operation.
  Throws:
    `OperationNotFoundException` - if `name` is not a know operation.
    `ParameterNotFoundException` - if a parameter was required for the operation but was not provided in the `parameters` list.
    `InvalidParameterNameException` - if a parameter doesn't have a recognized name.
    `InvalidParameterValueException` - if a parameter doesn't have a valid value.

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.