org.geotools.io.coverage
Class GridCoverageReader

java.lang.Object
  extended byorg.geotools.io.coverage.GridCoverageReader
Direct Known Subclasses:
ExoreferencedGridCoverageReader

Deprecated. Replaced by AbstractGridCoverageReader.

public abstract class GridCoverageReader
extends java.lang.Object

Base class for reading GridCoverage objects. Reading is a two steps process: The input file must be set first, then the actual reading is performed with the getGridCoverage(int). Example:

 GridCoverageReader reader = ...
 reader.setInput(new File("MyCoverage.dat"), true);
 GridCoverage coverage = reader.getGridCoverage(0);
 
Subclasses needs to implements at least the following methods: The default implementation should be able to create acceptable grid coverage using informations provided by the two above-mentioned methods. However, other methods may be overriden too in order to get finner control on the result.

Version:
$Id: GridCoverageReader.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux

Field Summary
 java.lang.String formatName
          Deprecated. The format name (e.g.
protected  javax.imageio.ImageReader reader
          Deprecated. The ImageReader to use for decoding RenderedImages.
 
Constructor Summary
GridCoverageReader(java.lang.String formatName)
          Deprecated. Construct a GridCoverageReader for the specified format name.
 
Method Summary
abstract  CoordinateSystem getCoordinateSystem(int index)
          Deprecated. Returns the coordinate system for the GridCoverage to be read.
abstract  Envelope getEnvelope(int index)
          Deprecated. Returns the envelope for the GridCoverage to be read.
 GridCoverage getGridCoverage(int index)
          Deprecated. Read the grid coverage.
 GridRange getGridRange(int index)
          Deprecated. Returns the grid range for the GridCoverage to be read.
protected  java.util.Iterator getImageReaders(java.lang.Object input)
          Deprecated. Returns an Iterator containing all currently registered ImageReaders that claim to be able to decode the image.
 java.util.Locale getLocale()
          Deprecated. Returns the currently set Locale, or null if none has been set.
 java.lang.String getName(int index)
          Deprecated. Gets the GridCoverage name at the specified index.
 int getNumImages(boolean allowSearch)
          Deprecated. Returns the number of images available from the current input source.
 SampleDimension[] getSampleDimensions(int index)
          Deprecated. Returns the sample dimensions for each band of the GridCoverage to be read.
 void reset()
          Deprecated. Restores the GridCoverageReader to its initial state.
 void setInput(java.lang.Object input, boolean seekForwardOnly)
          Deprecated. Sets the input source to the given object.
 void setLocale(java.util.Locale locale)
          Deprecated. Sets the current Locale of this GridCoverageReader to the given value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

formatName

public final java.lang.String formatName
Deprecated. 
The format name (e.g. "PNG" or "GeoTIFF"). This format name should be understood by ImageIO.getImageReadersByFormatName(String), unless getImageReaders(java.lang.Object) is overriden.


reader

protected javax.imageio.ImageReader reader
Deprecated. 
The ImageReader to use for decoding RenderedImages. This reader is initially null and lazily created the first time setInput(java.lang.Object, boolean) is invoked. Once created, it is reused as much as possible. Invoking reset() dispose the reader and set it back to null.

Constructor Detail

GridCoverageReader

public GridCoverageReader(java.lang.String formatName)
Deprecated. 
Construct a GridCoverageReader for the specified format name.

Method Detail

reset

public void reset()
           throws java.io.IOException
Deprecated. 
Restores the GridCoverageReader to its initial state.

Throws:
java.io.IOException - if an error occurs while disposing resources.

setInput

public void setInput(java.lang.Object input,
                     boolean seekForwardOnly)
              throws java.io.IOException
Deprecated. 
Sets the input source to the given object. The input is usually a File or an URL object. But some other types (e.g. ImageInputStream) may be accepted too.

If this method is invoked for the first time or after a call to reset(), then it will queries getImageReaders(java.lang.Object) for a list of ImageReaders and select the first one that accept the input.

Parameters:
input - The File or URL to be read.
seekForwardOnly - if true, grid coverages and metadata may only be read in ascending order from the input source.
Throws:
java.io.IOException - if an I/O operation failed.
java.lang.IllegalArgumentException - if input is not an instance of one of the classes declared by the ImageReader service provider.

getNumImages

public int getNumImages(boolean allowSearch)
                 throws java.io.IOException
Deprecated. 
Returns the number of images available from the current input source. Note that some image formats do not specify how many images are present in the stream. Thus determining the number of images will require the entire stream to be scanned and may require memory for buffering. The allowSearch parameter may be set to false to indicate that an exhaustive search is not desired.

Parameters:
allowSearch - If true, the true number of images will be returned even if a search is required. If false, the reader may return -1 without performing the search.
Returns:
The number of images, or -1 if allowSearch is false and a search would be required.
Throws:
java.lang.IllegalStateException - If the input source has not been set, or if the input has been specified with seekForwardOnly set to true.
java.io.IOException - If an error occurs reading the information from the input source.

getName

public java.lang.String getName(int index)
                         throws java.io.IOException
Deprecated. 
Gets the GridCoverage name at the specified index. Default implementation returns the input path, or the "Untitled" string if input is not a File or an URL object.

Parameters:
index - The index of the image to be queried.
Returns:
The name for the GridCoverage at the specified index.
Throws:
java.lang.IllegalStateException - if the input source has not been set.
java.lang.IndexOutOfBoundsException - if the supplied index is out of bounds.
java.io.IOException - if an error occurs reading the width information from the input source.

getCoordinateSystem

public abstract CoordinateSystem getCoordinateSystem(int index)
                                              throws java.io.IOException
Deprecated. 
Returns the coordinate system for the GridCoverage to be read.

Parameters:
index - The index of the image to be queried.
Returns:
The coordinate system for the GridCoverage at the specified index.
Throws:
java.lang.IllegalStateException - if the input source has not been set.
java.lang.IndexOutOfBoundsException - if the supplied index is out of bounds.
java.io.IOException - if an error occurs reading the width information from the input source.

getEnvelope

public abstract Envelope getEnvelope(int index)
                              throws java.io.IOException
Deprecated. 
Returns the envelope for the GridCoverage to be read. The envelope must have the same number of dimensions than the coordinate system.

Parameters:
index - The index of the image to be queried.
Returns:
The envelope for the GridCoverage at the specified index.
Throws:
java.lang.IllegalStateException - if the input source has not been set.
java.lang.IndexOutOfBoundsException - if the supplied index is out of bounds.
java.io.IOException - if an error occurs reading the width information from the input source.

getGridRange

public GridRange getGridRange(int index)
                       throws java.io.IOException
Deprecated. 
Returns the grid range for the GridCoverage to be read. The grid range must have the same number of dimensions than the envelope. The default implementation construct a GridRange object using information provided by ImageReader.getWidth(int) and ImageReader.getHeight(int).

Parameters:
index - The index of the image to be queried.
Returns:
The grid range for the GridCoverage at the specified index.
Throws:
java.lang.IllegalStateException - if the input source has not been set.
java.lang.IndexOutOfBoundsException - if the supplied index is out of bounds.
java.io.IOException - if an error occurs reading the width information from the input source.

getSampleDimensions

public SampleDimension[] getSampleDimensions(int index)
                                      throws java.io.IOException
Deprecated. 
Returns the sample dimensions for each band of the GridCoverage to be read. If sample dimensions are not known, then this method returns null. The default implementation always returns null.

Parameters:
index - The index of the image to be queried.
Returns:
The category lists for the GridCoverage at the specified index. This array's length must be equals to the number of bands in GridCoverage.
Throws:
java.lang.IllegalStateException - if the input source has not been set.
java.lang.IndexOutOfBoundsException - if the supplied index is out of bounds.
java.io.IOException - if an error occurs reading the width information from the input source.

getGridCoverage

public GridCoverage getGridCoverage(int index)
                             throws java.io.IOException
Deprecated. 
Read the grid coverage. The default implementation gets the default ImageReadParam and checks if it is an instance of RawBinaryImageReadParam. If it is, this method then invokes RawBinaryImageReadParam#setStreamImageSize with informations provided by getGridRange(int). Finally, a grid coverage is constructed using informations provided by getName(int), getCoordinateSystem(int) and getEnvelope(int).

Parameters:
index - The index of the image to be queried.
Returns:
The GridCoverage at the specified index.
Throws:
java.lang.IllegalStateException - if the input source has not been set.
java.lang.IndexOutOfBoundsException - if the supplied index is out of bounds.
java.io.IOException - if an error occurs reading the width information from the input source.

getImageReaders

protected java.util.Iterator getImageReaders(java.lang.Object input)
Deprecated. 
Returns an Iterator containing all currently registered ImageReaders that claim to be able to decode the image. The default implementation returns ImageIO.getImageReadersByFormatName(formatName).

Parameters:
input - The input source.

setLocale

public void setLocale(java.util.Locale locale)
Deprecated. 
Sets the current Locale of this GridCoverageReader to the given value. A value of null removes any previous setting, and indicates that the reader should localize as it sees fit.


getLocale

public java.util.Locale getLocale()
Deprecated. 
Returns the currently set Locale, or null if none has been set.



Copyright © GeoTools. All Rights Reserved.