org.geotools.coverage.processing
Class Operation2D

Object
  extended by AbstractOperation
      extended by Operation2D
All Implemented Interfaces:
Serializable, Operation
Direct Known Subclasses:
Crop, Interpolate, OperationJAI, Resample, SelectSampleDimension

public abstract class Operation2D
extends AbstractOperation

An operation working on GridCoverage2D sources.

Since:
2.1
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form

Field Summary
protected static int PRIMARY_SOURCE_INDEX
          Index of the source GridCoverage2D to use as a model.
static ParameterDescriptor SOURCE_0
          Convenience constant for the first source GridCoverage2D.
 
Fields inherited from class AbstractOperation
descriptor
 
Constructor Summary
Operation2D(ParameterDescriptorGroup descriptor)
          Constructs an operation.
 
Method Summary
protected  boolean computeOnGeophysicsValues(ParameterValueGroup parameters)
          Returns true if grid coverage content should be converted from sample values to geophysics value before to apply an operation.
protected  ViewType extractSources(ParameterValueGroup parameters, String[] sourceNames, GridCoverage2D[] sources)
          Extracts and prepares the sources for this Operation2D, taking into account the need for going to the geophysics view of the data in case this operation requires so.
protected static GridCoverageFactory getFactory(Hints hints)
          Returns the factory to use for creating new GridCoverage2D objects.
 
Methods inherited from class AbstractOperation
doOperation, equals, getDescription, getDocURL, getName, getNumSources, getParameters, getVendor, getVersion, hashCode, toString
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PRIMARY_SOURCE_INDEX

protected static final int PRIMARY_SOURCE_INDEX
Index of the source GridCoverage2D to use as a model. The destination grid coverage will reuse the same coordinate reference system, envelope and qualitative categories than this primary source.

For operations expecting only one source, there is no ambiguity. But for operations expecting more than one source, the choice of a primary source is somewhat arbitrary. This constant is used merely as a flag for spotting those places in the code.

Since:
2.4
See Also:
Constant Field Values

SOURCE_0

public static final ParameterDescriptor SOURCE_0
Convenience constant for the first source GridCoverage2D. The parameter name is "Source" (as specified in OGC implementation specification) and the alias is "source0" (for compatibility with Java Advanced Imaging).

Constructor Detail

Operation2D

public Operation2D(ParameterDescriptorGroup descriptor)
Constructs an operation. The operation name will be the same than the parameter descriptor name.

Parameters:
descriptor - The parameters descriptor.
Method Detail

computeOnGeophysicsValues

protected boolean computeOnGeophysicsValues(ParameterValueGroup parameters)
Returns true if grid coverage content should be converted from sample values to geophysics value before to apply an operation. This method is invoked automatically by doOperation. If this method returns true, then the computation will be performed on the geophysics view as returned by GridCoverage2D.geophysics(true). If this method returns false, then the view will not be changed before the operation is applied (i.e. the geophysics method is not invoked at all). The default implementation always returns true.

Parameters:
parameters - The parameters supplied by the user to the doOperation method.
Returns:
true if this operation should be applied on geophysics values.
Since:
2.4
See Also:
GridCoverage2D.geophysics(boolean)

extractSources

protected ViewType extractSources(ParameterValueGroup parameters,
                                  String[] sourceNames,
                                  GridCoverage2D[] sources)
                           throws ParameterNotFoundException,
                                  InvalidParameterValueException
Extracts and prepares the sources for this Operation2D, taking into account the need for going to the geophysics view of the data in case this operation requires so.

This method fills the sources array with needed sources, changing to their geophysics view if needed.

Parameters:
parameters - Parameters that will control this operation.
sourceNames - Names of the sources to extract from ParameterValueGroup.
sources - On input, an array with the same length than sourceNames. On output, the GridCoverage2D to be used as sources for this operation.
Returns:
The type of the primary source, or null if unknow or if the type should not be changed.
Throws:
IllegalArgumentException - if an argument is null, or if sources and sourceNames doesn't have length.
ParameterNotFoundException - if a required source has not been found.
InvalidParameterValueException - if a source doesn't contain a value of type GridCoverage2D.
Since:
2.4

getFactory

protected static GridCoverageFactory getFactory(Hints hints)
Returns the factory to use for creating new GridCoverage2D objects.

Since:
2.2


Copyright © 1996-2014 Geotools. All Rights Reserved.