Class Extrema
- All Implemented Interfaces:
Serializable
,Operation
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class OperationJAI
OperationJAI.Parameters
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Locations of max values.static final String
String
key for getting the maximum vector.static final String
Locations of min values.static final String
String
key for getting the minimum vector.static final 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetName()
Returns the name of the processing operation.getProperties
(RenderedImage data, CoordinateReferenceSystem crs, InternationalString name, MathTransform toCRS, GridCoverage2D[] sources, OperationJAI.Parameters parameters) Prepare the minimum and maximum properties for this extream operation.protected void
handleJAIEXTParams
(ParameterBlockJAI parameters, ParameterValueGroup parameters2) Extension point for adding to the JAIParameterBlockJAI
object the parameters defined in theParameterValueGroup
, which can be read by the JAI-EXT operations.Methods inherited from class BaseStatisticsOperationJAI
convertPolygon, prepareParameters
Methods inherited from class OperationJAI
createRenderedImage, deriveCategory, deriveGridCoverage, deriveName, deriveRange, deriveSampleDimension, deriveUnit, doOperation, equals, extractSources, getJAI, getOperationDescriptor, getQuantitative, handleROINoDataInternal, handleROINoDataProperties, hashCode, resampleToCommonGeometry
Methods inherited from class Operation2D
extractSources, getFactory
Methods inherited from class AbstractOperation
getDescription, getDocURL, getNumSources, getParameters, getVendor, getVersion, toString
-
Field Details
-
LOGGER
Logger
for this class. -
GT_SYNTHETIC_PROPERTY_MINIMUM
String
key for getting the minimum vector.- See Also:
-
GT_SYNTHETIC_PROPERTY_MAXIMUM
String
key for getting the maximum vector.- See Also:
-
GT_SYNTHETIC_PROPERTY_MIN_LOCATIONS
Locations of min values.- See Also:
-
GT_SYNTHETIC_PROPERTY_MAX_LOCATIONS
Locations of max values.- See Also:
-
-
Constructor Details
-
Extrema
Constructs a default"Extrema"
operation.- Throws:
OperationNotFoundException
-
-
Method Details
-
getName
Description copied from class:AbstractOperation
Returns the name of the processing operation. The default implementation returns the AbstractOperation.descriptor code name.- Specified by:
getName
in interfaceOperation
- Overrides:
getName
in classAbstractOperation
- Returns:
- The name of the processing operation.
-
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 classOperationJAI
- Parameters:
data
- TheRenderedImage
created by this operation.crs
- The coordinate reference system assigned to the coverage thisOperationJAI
will produce.name
- The name assigned to the coverage thisOperationJAI
will produce.toCRS
- The transform from grid tocrs
to be assigned to the coverage thisOperationJAI
will produce.sources
- The sources to be assigned to the coverage thisOperationJAI
will produce.parameters
- The parameters that were used by thisOperationJAI
.- Returns:
- a
Map
with the properties generated by thisOperationJAI
or null if we haven't any.
-
handleJAIEXTParams
Description copied from class:OperationJAI
Extension point for adding to the JAIParameterBlockJAI
object the parameters defined in theParameterValueGroup
, which can be read by the JAI-EXT operations.Notice that if you are using JAI, the new parameters will not be accepted by the
ParameterBlockJAI
instance.- Overrides:
handleJAIEXTParams
in classOperationJAI
- Parameters:
parameters
-ParameterBlockJAI
instance used by the current JAI-EXT/JAI operationparameters2
-ParameterValueGroup
instance containing input operation parameters
-