public class Extrema extends BaseStatisticsOperationJAI
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]);
OperationJAI.Parameters| Modifier and Type | Field and Description |
|---|---|
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. |
ROI, SPATIAL_SUBSAMPLING_X, SPATIAL_SUBSAMPLING_Yoperation, RENDERED_MODEPRIMARY_SOURCE_INDEX, SOURCE_0descriptor| Constructor and Description |
|---|
Extrema()
Constructs a default
"Extrema" operation. |
| Modifier and Type | Method and Description |
|---|---|
String |
getName()
Returns the name of the processing operation.
|
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.
|
protected void |
handleJAIEXTParams(ParameterBlockJAI parameters,
ParameterValueGroup parameters2)
Extension point for adding to the JAI
ParameterBlockJAI object the parameters defined
in the ParameterValueGroup, which can be read by the JAI-EXT operations. |
convertPolygon, prepareParameterscreateRenderedImage, deriveCategory, deriveGridCoverage, deriveName, deriveRange, deriveSampleDimension, deriveUnit, doOperation, equals, extractSources, getJAI, getOperationDescriptor, getQuantitative, handleROINoDataInternal, handleROINoDataProperties, hashCode, resampleToCommonGeometryextractSources, getFactorygetDescription, getDocURL, getNumSources, getParameters, getVendor, getVersion, toStringpublic static final String GT_SYNTHETIC_PROPERTY_MINIMUM
String key for getting the minimum vector.public static final String GT_SYNTHETIC_PROPERTY_MAXIMUM
String key for getting the maximum vector.public static final String GT_SYNTHETIC_PROPERTY_MIN_LOCATIONS
public static final String GT_SYNTHETIC_PROPERTY_MAX_LOCATIONS
public Extrema()
throws OperationNotFoundException
"Extrema" operation.OperationNotFoundExceptionpublic String getName()
AbstractOperationgetName in interface OperationgetName in class AbstractOperationprotected Map<String,?> getProperties(RenderedImage data, CoordinateReferenceSystem crs, InternationalString name, MathTransform toCRS, GridCoverage2D[] sources, OperationJAI.Parameters parameters)
See ExtremaDescriptor for more info.
getProperties in class OperationJAIdata - 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.Map with the properties generated by this OperationJAI or null if
we haven't any.OperationJAI#getProperties(RenderedImage, CoordinateReferenceSystem,
InternationalString, MathTransform, GridCoverage2D[],
org.geotools.coverage.processing.OperationJAI.Parameters),protected void handleJAIEXTParams(ParameterBlockJAI parameters,
ParameterValueGroup parameters2)
OperationJAIParameterBlockJAI object the parameters defined
in the ParameterValueGroup, 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.
handleJAIEXTParams in class OperationJAIparameters - ParameterBlockJAI instance used by the current JAI-EXT/JAI
operationparameters2 - ParameterValueGroup instance containing input operation parametersCopyright © 1996–2019 Geotools. All rights reserved.