org.opengis.coverage.SampleDimension Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gt-opengis Show documentation
Show all versions of gt-opengis Show documentation
Standard interfaces implemented throughout the library.
/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2011-2015, Open Source Geospatial Foundation (OSGeo)
* (C) 2005 Open Geospatial Consortium Inc.
*
* All Rights Reserved. http://www.opengis.org/legal/
*/
package org.opengis.coverage;
import static org.opengis.annotation.Obligation.MANDATORY;
import static org.opengis.annotation.Specification.OGC_01004;
import javax.measure.Unit;
import org.opengis.annotation.UML;
import org.opengis.util.InternationalString;
/**
* Contains information for an individual sample dimension of {@linkplain Coverage coverage}. This
* interface is applicable to any coverage type. For {@linkplain
* org.opengis.coverage.grid.GridCoverage grid coverages}, the sample dimension refers to an
* individual band.
*
* @version Grid Coverage specification 1.0
* @author Martin Desruisseaux (IRD)
* @since GeoAPI 1.0
*/
@UML(identifier = "CV_SampleDimension", specification = OGC_01004)
public interface SampleDimension {
/**
* Sample dimension title or description. This string may be null or empty if no description is
* present.
*
* @return A description for this sample dimension.
*/
@UML(identifier = "description", obligation = MANDATORY, specification = OGC_01004)
InternationalString getDescription();
/**
* A code value indicating grid value data type. This will also indicate the number of bits for
* the data type.
*
* @return A code value indicating grid value data type.
*/
@UML(identifier = "sampleDimensionType", obligation = MANDATORY, specification = OGC_01004)
SampleDimensionType getSampleDimensionType();
/**
* Sequence of category names for the values contained in a sample dimension. This allows for
* names to be assigned to numerical values. The first entry in the sequence relates to a cell
* value of zero. For grid coverages, category names are only valid for a classified grid data.
*
* For example:
*
*
* - 0 Background
*
- 1 Water
*
- 2 Forest
*
- 3 Urban
*
*
* Note: If no category names exist, an empty sequence is returned.
*
* @return The category names.
*/
@UML(identifier = "categoryNames", obligation = MANDATORY, specification = OGC_01004)
InternationalString[] getCategoryNames();
/**
* Values to indicate no data values for the sample dimension. For low precision sample
* dimensions, this will often be no data values.
*
* @return The values to indicate no data values for the sample dimension.
* @see #getMinimumValue
* @see #getMaximumValue
*/
@UML(identifier = "noDataValue", obligation = MANDATORY, specification = OGC_01004)
double[] getNoDataValues();
/**
* The minimum value occurring in the sample dimension. If this value is not available, this
* value can be determined from the {@link
* org.opengis.coverage.processing.GridAnalysis#getMinValue} operation. This value can be empty
* if this value is not provided by the implementation.
*
* @return The minimum value occurring in the sample dimension.
* @see #getMaximumValue
* @see #getNoDataValues
*/
@UML(identifier = "minimumValue", obligation = MANDATORY, specification = OGC_01004)
double getMinimumValue();
/**
* The maximum value occurring in the sample dimension. If this value is not available, this
* value can be determined from the {@link
* org.opengis.coverage.processing.GridAnalysis#getMaxValue} operation. This value can be empty
* if this value is not provided by the implementation.
*
* @return The maximum value occurring in the sample dimension.
* @see #getMinimumValue
* @see #getNoDataValues
*/
@UML(identifier = "maximumValue", obligation = MANDATORY, specification = OGC_01004)
double getMaximumValue();
/**
* The unit information for this sample dimension. This interface typically is provided with
* grid coverages which represent digital elevation data. This value will be {@code null} if no
* unit information is available.
*
* @return The unit information for this sample dimension.
*/
@UML(identifier = "units", obligation = MANDATORY, specification = OGC_01004)
Unit> getUnits();
/**
* Offset is the value to add to grid values for this sample dimension. This attribute is
* typically used when the sample dimension represents elevation data. The default for this
* value is 0.
*
* @return The offset.
* @see #getScale
*/
@UML(identifier = "offset", obligation = MANDATORY, specification = OGC_01004)
double getOffset();
/**
* Scale is the value which is multiplied to grid values for this sample dimension. This
* attribute is typically used when the sample dimension represents elevation data. The default
* for this value is 1.
*
* @return The scale factor.
* @see #getOffset
*/
@UML(identifier = "scale", obligation = MANDATORY, specification = OGC_01004)
double getScale();
}