org.geotools.coverage.grid
Class Interpolator2D

Object
  extended by PropertySourceImpl
      extended by AbstractCoverage
          extended by AbstractGridCoverage
              extended by GridCoverage2D
                  extended by Calculator2D
                      extended by Interpolator2D
All Implemented Interfaces:
Serializable, PropertySource, RenderedCoverage, Coverage, GridCoverage

public final class Interpolator2D
extends Calculator2D

A grid coverage using an interpolation for evaluating points. This interpolator is not used for nearest-neighbor interpolation (use the plain GridCoverage2D class for that). It should work for other kinds of interpolation however.

Since:
2.2
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form
Module:
modules/library/coverage (gt-coverage.jar)

Nested Class Summary
 
Nested classes/interfaces inherited from class GridCoverage2D
GridCoverage2D.Renderable
 
Field Summary
 
Fields inherited from class Calculator2D
source
 
Fields inherited from class GridCoverage2D
gridGeometry, image
 
Fields inherited from class AbstractGridCoverage
LOGGER
 
Fields inherited from class AbstractCoverage
crs
 
Fields inherited from class PropertySourceImpl
cachedPropertyNames, properties, propertySources
 
Method Summary
static GridCoverage2D create(GridCoverage2D coverage)
          Constructs a new interpolator using default interpolations.
static GridCoverage2D create(GridCoverage2D coverage, Interpolation interpolation)
          Constructs a new interpolator for a single interpolation.
static GridCoverage2D create(GridCoverage2D coverage, Interpolation[] interpolations)
          Constructs a new interpolator for an interpolation and its fallbacks.
 double[] evaluate(Point2D coord, double[] dest)
          Returns a sequence of double values for a given two-dimensional point in the coverage.
 float[] evaluate(Point2D coord, float[] dest)
          Returns a sequence of float values for a given two-dimensional point in the coverage.
 int[] evaluate(Point2D coord, int[] dest)
          Returns a sequence of integer values for a given two-dimensional point in the coverage.
 Interpolation getInterpolation()
          Returns the primary interpolation used by this Interpolator2D.
 Interpolation[] getInterpolations()
          Returns interpolations.
protected  GridCoverage2D specialize(GridCoverage2D view)
          Invoked by view(type) when the packed, geophysics or photographic view of this grid coverage needs to be created.
 
Methods inherited from class GridCoverage2D
dispose, evaluate, evaluate, evaluate, evaluate, evaluate, geophysics, getCoordinateReferenceSystem2D, getDebugString, getEnvelope, getEnvelope2D, getGridGeometry, getNumSampleDimensions, getOptimalDataBlockSizes, getRenderableImage, getRenderedImage, getSampleDimension, getSampleDimensions, getViewTypes, isDataEditable, prefetch, show, show, toString, view
 
Methods inherited from class AbstractGridCoverage
formatEvaluateError, formatEvaluateError, getDataBlock, getDataBlock, getDataBlock, getDataBlock, getDataBlock, getDataBlock, getGridPacking, getNumOverviews, getOverview, getOverviewGridGeometry, getPackedDataBlock, getSources, setDataBlock, setDataBlock, setDataBlock, setDataBlock, setDataBlock, setDataBlock, setPackedDataBlock
 
Methods inherited from class AbstractCoverage
evaluate, evaluate, evaluateInverse, find, find, getCommonPointRule, getCoordinateReferenceSystem, getDimension, getDomainElements, getDomainExtents, getLocale, getName, getRangeElements, getRangeType, list, select, show
 
Methods inherited from class PropertySourceImpl
getProperties, getProperty, getPropertyClass, getPropertyNames, getPropertyNames
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface GridCoverage
getDataBlock, getDataBlock, getDataBlock, getDataBlock, getDataBlock, getDataBlock, getGridPacking, getNumOverviews, getOverview, getOverviewGridGeometry, getPackedDataBlock, getSources, setDataBlock, setDataBlock, setDataBlock, setDataBlock, setDataBlock, setDataBlock
 
Methods inherited from interface Coverage
evaluate, evaluate, evaluateInverse, find, find, getCommonPointRule, getCoordinateReferenceSystem, getDomainElements, getDomainExtents, getRangeElements, getRangeType, list, select
 
Methods inherited from interface PropertySource
getProperty, getPropertyClass, getPropertyNames, getPropertyNames
 

Method Detail

create

public static GridCoverage2D create(GridCoverage2D coverage)
Constructs a new interpolator using default interpolations.

Parameters:
coverage - The coverage to interpolate.

create

public static GridCoverage2D create(GridCoverage2D coverage,
                                    Interpolation interpolation)
Constructs a new interpolator for a single interpolation.

Parameters:
coverage - The coverage to interpolate.
interpolation - The interpolation to use.

create

public static GridCoverage2D create(GridCoverage2D coverage,
                                    Interpolation[] interpolations)
Constructs a new interpolator for an interpolation and its fallbacks. The fallbacks are used if the primary interpolation failed because of NaN values in the interpolated point neighbor.

Parameters:
coverage - The coverage to interpolate.
interpolations - The interpolation to use and its fallback (if any).

specialize

protected GridCoverage2D specialize(GridCoverage2D view)
Invoked by view(type) when the packed, geophysics or photographic view of this grid coverage needs to be created. This method applies to the new grid coverage the same interpolations than this grid coverage.

Specified by:
specialize in class Calculator2D
Parameters:
view - A view derived from the source coverage.
Returns:
The grid coverage to be returned by view.
Since:
2.5

getInterpolations

public Interpolation[] getInterpolations()
Returns interpolations. The first array's element is the interpolation for this grid coverage. Other elements (if any) are fallbacks.


getInterpolation

public Interpolation getInterpolation()
Returns the primary interpolation used by this Interpolator2D.

Overrides:
getInterpolation in class GridCoverage2D
Returns:
The interpolation.

evaluate

public int[] evaluate(Point2D coord,
                      int[] dest)
               throws CannotEvaluateException
Returns a sequence of integer values for a given two-dimensional point in the coverage.

Overrides:
evaluate in class GridCoverage2D
Parameters:
coord - The coordinate point where to evaluate.
dest - An array in which to store values, or null.
Returns:
An array containing values.
Throws:
CannotEvaluateException - if the values can't be computed at the specified coordinate. More specifically, PointOutsideCoverageException is thrown if the evaluation failed because the input point has invalid coordinates.

evaluate

public float[] evaluate(Point2D coord,
                        float[] dest)
                 throws CannotEvaluateException
Returns a sequence of float values for a given two-dimensional point in the coverage.

Overrides:
evaluate in class GridCoverage2D
Parameters:
coord - The coordinate point where to evaluate.
dest - An array in which to store values, or null.
Returns:
An array containing values.
Throws:
CannotEvaluateException - if the values can't be computed at the specified coordinate. More specifically, PointOutsideCoverageException is thrown if the evaluation failed because the input point has invalid coordinates.

evaluate

public double[] evaluate(Point2D coord,
                         double[] dest)
                  throws CannotEvaluateException
Returns a sequence of double values for a given two-dimensional point in the coverage.

Overrides:
evaluate in class GridCoverage2D
Parameters:
coord - The coordinate point where to evaluate.
dest - An array in which to store values, or null.
Returns:
An array containing values.
Throws:
CannotEvaluateException - if the values can't be computed at the specified coordinate. More specifically, PointOutsideCoverageException is thrown if the evaluation failed because the input point has invalid coordinates.


Copyright © 1996-2009 Geotools. All Rights Reserved.