/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2003-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.coverage.processing.operation; import javax.media.jai.operator.BandSelectDescriptor; // For javadoc import org.opengis.coverage.Coverage; import org.opengis.parameter.ParameterValueGroup; import org.opengis.parameter.ParameterDescriptor; import org.geotools.factory.Hints; import org.geotools.coverage.processing.Operation2D; import org.geotools.metadata.iso.citation.Citations; import org.geotools.parameter.DefaultParameterDescriptor; import org.geotools.parameter.DefaultParameterDescriptorGroup; /** * Chooses N {@linkplain org.geotools.coverage.GridSampleDimension sample dimensions} * from a grid coverage and copies their sample data to the destination grid coverage in the order * specified. The {@code "SampleDimensions"} parameter specifies the source * {@link org.geotools.coverage.GridSampleDimension} indices, and its size * ({@code SampleDimensions.length}) determines the number of sample dimensions of the destination * grid coverage. The destination coverage may have any number of sample dimensions, and a particular * sample dimension of the source coverage may be repeated in the destination coverage by specifying * it multiple times in the {@code "SampleDimensions"} parameter. *
* Geotools extension:
* This operation can also be used for selecting a different "visible sample dimension". Some
* images may contain useful data in more than one sample dimension, but renderer the content
* using only 1 sample dimension at time. The {@code "VisibleSampleDimension"} parameter can be
* used for selecting this sample dimension. If omitted, then the new grid coverage will inherit
* its source's visible sample dimension.
*
*
Name: "SelectSampleDimension"
* JAI operator: "{@linkplain BandSelectDescriptor BandSelect}"
* Parameters:
Name | *Class | *Default value | *Minimum value | *Maximum value | *
---|---|---|---|---|
{@code "Source"} | *{@link org.geotools.coverage.grid.GridCoverage2D} | *N/A | *N/A | *N/A | *
{@code "SampleDimensions"} | *{@code int[]} | *Same as source | *N/A | *N/A | *
{@code "VisibleSampleDimension"} | *{@link java.lang.Integer} | *Same as source | *0 | *N/A | *