org.geotools.coverage.processing.operation
Class Extrema

Object
  extended by AbstractOperation
      extended by Operation2D
          extended by OperationJAI
              extended by BaseStatisticsOperationJAI
                  extended by Extrema
All Implemented Interfaces:
Serializable, Operation

public class Extrema
extends BaseStatisticsOperationJAI

This operation simply wraps JAI Extrema operations described by ExtremaDescriptor inside a GeoTools operation in order to make it spatial-aware.

For the moment this is a very simple wrap. Plans on the 2.4 and successive versions of this operation are to add the ability to use spatial ROIs and to specific Spatial subsampling. As of now, ROI has to be a Java2D Shape subclass and the parameters to control x and y subsamplings got to be Integer, which means pixel-aware.

For more information on how the underlying JAI operators works you can have a look here: ExtremaDescriptor

How to use this operation Here is a very simple example on how to use this operation in order to the minimum and maximum of the source coverage. final OperationJAI op=new OperationJAI("Extrema"); ParameterValueGroup params = op.getParameters(); params.parameter("Source").setValue(coverage); coverage=(GridCoverage2D) op.doOperation(params,null); System.out.println(((double[])coverage.getProperty("minimum"))[0]); System.out.println(((double[])coverage.getProperty("minimum"))[1]); System.out.println(((double[])coverage.getProperty("minimum"))[2]); System.out.println(((double[])coverage.getProperty("maximum"))[0]); System.out.println(((double[])coverage.getProperty("maximum"))[1]); System.out.println(((double[])coverage.getProperty("maximum"))[2]);

Since:
2.4
Author:
Simone Giannecchini
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class OperationJAI
OperationJAI.Parameters
 
Field Summary
static String GT_SYNTHETIC_PROPERTY_MAX_LOCATIONS
          Locations of max values.
static String GT_SYNTHETIC_PROPERTY_MAXIMUM
          String key for getting the maximum vector.
static String GT_SYNTHETIC_PROPERTY_MIN_LOCATIONS
          Locations of min values.
static String GT_SYNTHETIC_PROPERTY_MINIMUM
          String key for getting the minimum vector.
static Logger LOGGER
          Logger for this class.
 
Fields inherited from class BaseStatisticsOperationJAI
ROI, SPATIAL_SUBSAMPLING_X, SPATIAL_SUBSAMPLING_Y
 
Fields inherited from class OperationJAI
operation, RENDERED_MODE
 
Fields inherited from class Operation2D
PRIMARY_SOURCE_INDEX, SOURCE_0
 
Fields inherited from class AbstractOperation
descriptor
 
Constructor Summary
Extrema()
          Constructs a default "Extrema" operation.
 
Method Summary
protected  boolean computeOnGeophysicsValues(ParameterValueGroup parameters)
          This operation MUST be performed on the geophysics data for this GridCoverage2D.
protected  Map<String,?> getProperties(RenderedImage data, CoordinateReferenceSystem crs, InternationalString name, MathTransform toCRS, GridCoverage2D[] sources, OperationJAI.Parameters parameters)
          Prepare the minimum and maximum properties for this extream operation.
 
Methods inherited from class BaseStatisticsOperationJAI
prepareParameters
 
Methods inherited from class OperationJAI
createRenderedImage, deriveCategory, deriveGridCoverage, deriveName, deriveRange, deriveSampleDimension, deriveUnit, doOperation, equals, getJAI, getOperationDescriptor, getQuantitative, resampleToCommonGeometry
 
Methods inherited from class Operation2D
extractSources, getFactory
 
Methods inherited from class AbstractOperation
getDescription, getDocURL, getName, getNumSources, getParameters, getVendor, getVersion, hashCode, toString
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

LOGGER

public static final Logger LOGGER
Logger for this class.


GT_SYNTHETIC_PROPERTY_MINIMUM

public static final String GT_SYNTHETIC_PROPERTY_MINIMUM
String key for getting the minimum vector.

See Also:
Constant Field Values

GT_SYNTHETIC_PROPERTY_MAXIMUM

public static final String GT_SYNTHETIC_PROPERTY_MAXIMUM
String key for getting the maximum vector.

See Also:
Constant Field Values

GT_SYNTHETIC_PROPERTY_MIN_LOCATIONS

public static final String GT_SYNTHETIC_PROPERTY_MIN_LOCATIONS
Locations of min values.

See Also:
Constant Field Values

GT_SYNTHETIC_PROPERTY_MAX_LOCATIONS

public static final String GT_SYNTHETIC_PROPERTY_MAX_LOCATIONS
Locations of max values.

See Also:
Constant Field Values
Constructor Detail

Extrema

public Extrema()
        throws OperationNotFoundException
Constructs a default "Extrema" operation.

Throws:
OperationNotFoundException
Method Detail

computeOnGeophysicsValues

protected boolean computeOnGeophysicsValues(ParameterValueGroup parameters)
This operation MUST be performed on the geophysics data for this GridCoverage2D.

Overrides:
computeOnGeophysicsValues in class Operation2D
Parameters:
parameters - ParameterValueGroup that describes this operation
Returns:
always true.
See Also:
GridCoverage2D.geophysics(boolean)

getProperties

protected Map<String,?> getProperties(RenderedImage data,
                                      CoordinateReferenceSystem crs,
                                      InternationalString name,
                                      MathTransform toCRS,
                                      GridCoverage2D[] sources,
                                      OperationJAI.Parameters parameters)
Prepare the minimum and maximum properties for this extream operation.

See ExtremaDescriptor for more info.

Overrides:
getProperties in class OperationJAI
Parameters:
data - The RenderedImage created by this operation.
crs - The coordinate reference system assigned to the coverage this OperationJAI will produce.
name - The name assigned to the coverage this OperationJAI will produce.
toCRS - The transform from grid to crs to be assigned to the coverage this OperationJAI will produce.
sources - The sources to be assigned to the coverage this OperationJAI will produce.
parameters - The parameters that were used by this OperationJAI.
Returns:
a Map with the properties generated by this OperationJAI or null if we haven't any.
See Also:
OperationJAI#getProperties(RenderedImage, CoordinateReferenceSystem, InternationalString, MathTransform, GridCoverage2D[], org.geotools.coverage.processing.OperationJAI.Parameters),


Copyright © 1996-2014 Geotools. All Rights Reserved.