org.geotools.coverage.processing.operation
Class Interpolate
java.lang.Object
org.geotools.coverage.processing.AbstractOperation
org.geotools.coverage.processing.Operation2D
org.geotools.coverage.processing.operation.Interpolate
- All Implemented Interfaces:
- java.io.Serializable, org.opengis.coverage.processing.Operation
public class Interpolate
- extends Operation2D
Specifies the interpolation type to be used to interpolate values for points which fall between
grid cells. The default value is nearest neighbor. The new interpolation type operates on all
sample dimensions. Possible values for type are: "NearestNeighbor"
, "Bilinear"
and "Bicubic"
(the "Optimal"
interpolation type is currently not supported).
Geotools extension:
The Geotools implementation provides two extensions to OpenGIS specification: First, it accepts
also an Interpolation
argument type, for interoperability with
Java Advanced Imaging. Second, it
accepts also an array of String
or Interpolation
objects. When an array is specified, the first interpolation in the array is applied. If this
interpolation returns a NaN
value, then the second interpolation is tried as a fallback.
If the second interpolation returns also a NaN
value, then the third one is tried and so
on until an interpolation returns a real number or until we reach the end of interpolation list.
This behavior is convenient when processing remote sensing images of geophysics data, for example
Sea Surface Temperature (SST), in which clouds may mask many pixels (i.e. set them
to some NaN
values). Because "Bicubic"
interpolation needs 4×4 pixels while
"Bilinear"
interpolation needs only 2x2 pixels, the "Bilinear"
interpolation is
less likely to fails because of clouds (NaN
values) than the "Bicubic"
one
(note: only one NaN
value is enough to make an interpolation fails). One can workaround
the problem by trying a bicubic interpolation first, then a linear interpolation if
"Bicubic"
failed at a particular location, etc. This behavior can be
specified with the following "Type"
argument:
new String[]{"Bicubic", "Bilinear", "NearestNeighbor"}
.
Name: "Interpolate"
JAI operator: N/A
Parameters:
Name |
Class |
Default value |
Minimum value |
Maximum value |
"Source" |
GridCoverage2D |
N/A |
N/A |
N/A |
"Type" |
CharSequence |
"NearestNeighbor" |
N/A |
N/A |
- Since:
- 2.2
- Version:
- $Id: Interpolate.java 30643 2008-06-12 18:27:03Z acuster $
- Author:
- Martin Desruisseaux (IRD)
- See Also:
Operations.interpolate(org.opengis.coverage.grid.GridCoverage, java.lang.String)
,
Interpolator2D
,
Serialized Form
Field Summary |
static org.opengis.parameter.ParameterDescriptor |
TYPE
The parameter descriptor for the interpolation type. |
Constructor Summary |
Interpolate()
Constructs an "Interpolate" operation. |
Method Summary |
org.opengis.coverage.Coverage |
doOperation(org.opengis.parameter.ParameterValueGroup parameters,
Hints hints)
Applies an interpolation to a grid coverage. |
Methods inherited from class org.geotools.coverage.processing.AbstractOperation |
ensureNonNull, equals, getDescription, getDocURL, getName, getNumSources, getParameters, getProcessor, getVendor, getVersion, hashCode, toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
TYPE
public static final org.opengis.parameter.ParameterDescriptor TYPE
- The parameter descriptor for the interpolation type.
Interpolate
public Interpolate()
- Constructs an
"Interpolate"
operation.
doOperation
public org.opengis.coverage.Coverage doOperation(org.opengis.parameter.ParameterValueGroup parameters,
Hints hints)
- Applies an interpolation to a grid coverage. This method is invoked
by
DefaultProcessor
for the
"Interpolate"
operation.
- Specified by:
doOperation
in class AbstractOperation
- Parameters:
parameters
- List of name value pairs for the parameters required for the operation.hints
- A set of rendering hints, or null
if none. The DefaultProcessor
may provides hints for the following keys: Hints.COORDINATE_OPERATION_FACTORY
and Hints.JAI_INSTANCE
.
- Returns:
- The result as a coverage.
Copyright © 1996-2010 Geotools. All Rights Reserved.