org.geotoolkit.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, Localized, 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:
1.2
Version:
3.00
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form
Module:
coverage/geotk-coverage (download)    View source code for this class

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... 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 the 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, 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
 
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.
Returns:
A grid coverage using the default interpolations.

create

public static GridCoverage2D create(GridCoverage2D coverage,
                                    Interpolation... interpolations)
Constructs a new interpolator for an interpolation and its fallbacks. This method is typically invoked with only one interpolation method. If more than one interpolation is given, then the supplemental interpolations are 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).
Returns:
A grid coverage using the given interpolations.

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 the interpolations. The first array's element is the interpolation for this grid coverage. Other elements (if any) are fallbacks.

Returns:
The interpolations. The returned array contains at least one element.

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 © 2009-2012 Geotoolkit.org. All Rights Reserved.