org.geotools.coverage.grid.io.imageio.geotiff
Class GeoTiffMetadata2CRSAdapter

java.lang.Object
  extended by org.geotools.coverage.grid.io.imageio.geotiff.GeoTiffMetadata2CRSAdapter

public final class GeoTiffMetadata2CRSAdapter
extends java.lang.Object

The GeoTiffMetadata2CRSAdapter is responsible for interpreting the metadata provided by the GeoTiffIIOMetadataDecoder for the purposes of constructing a CoordinateSystem object representative of the information found in the tags.

This class implements the flow indicated by the following diagram:

To use this class, the GeoTiffReader should create an instance with the CoordinateSystemAuthorityFactory specified by the GeoTiffFormat instance which created the reader. The image specific metadata should then be set with the appropriate accessor methods. Finally, the createCoordinateSystem() method is called to produce the CoordinateReferenceSystem object specified by the metadata.

Author:
Bryce Nordgren / USDA Forest Service, Simone Giannecchini, Daniele Romagnoli

Field Summary
static int DEFAULT_MAX
          The default value for #maxStrongReferences .
 
Constructor Summary
GeoTiffMetadata2CRSAdapter(Hints hints)
          Creates a new instance of GeoTiffMetadata2CRSAdapter
 
Method Summary
 org.opengis.referencing.crs.CoordinateReferenceSystem createCoordinateSystem(GeoTiffIIOMetadataDecoder metadata)
          This method creates a CoordinateReferenceSystem object from the metadata which has been set earlier.
static java.lang.Object get(java.lang.Object key)
          Returns an object from the pool for the specified code.
 Hints getHints()
          Returns the Hints for this GeoTiffMetadata2CRSAdapter.
 org.opengis.referencing.operation.MathTransform getRasterToModel(GeoTiffIIOMetadataDecoder metadata)
          Create the grid to world (or raster to model) transformation for this source respecting ALWAYS the OGC PixelInCell.CELL_CENTER convention for the ImageDatum of the underlying ImageCRS.
 org.opengis.referencing.operation.MathTransform getRasterToModel(GeoTiffIIOMetadataDecoder metadata, boolean forceToCellCenter)
          Create the grid to world (or raster to model) transformation for this source.
 org.opengis.referencing.datum.PixelInCell getRasterType(GeoTiffIIOMetadataDecoder metadata)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX

public static final int DEFAULT_MAX
The default value for #maxStrongReferences .

See Also:
Constant Field Values
Constructor Detail

GeoTiffMetadata2CRSAdapter

public GeoTiffMetadata2CRSAdapter(Hints hints)
Creates a new instance of GeoTiffMetadata2CRSAdapter

Parameters:
hints - a map of hints to locate the authority and object factories. (can be null)
Method Detail

createCoordinateSystem

public org.opengis.referencing.crs.CoordinateReferenceSystem createCoordinateSystem(GeoTiffIIOMetadataDecoder metadata)
                                                                             throws java.io.IOException,
                                                                                    org.opengis.referencing.FactoryException
This method creates a CoordinateReferenceSystem object from the metadata which has been set earlier. If it cannot create the CoordinateReferenceSystem, then one of three exceptions is thrown to indicate the error.

Returns:
the CoordinateReferenceSystem object representing the file data
Throws:
java.io.IOException - if there is unexpected data in the GeoKey tags.
org.opengis.referencing.FactoryException
java.lang.NullPointerException - if the csAuthorityFactory, datumFactory, crsFactory or metadata are uninitialized
java.lang.UnsupportedOperationException - if the coordinate system specified by the GeoTiff file is not supported.

getRasterToModel

public org.opengis.referencing.operation.MathTransform getRasterToModel(GeoTiffIIOMetadataDecoder metadata)
                                                                 throws GeoTiffException
Create the grid to world (or raster to model) transformation for this source respecting ALWAYS the OGC PixelInCell.CELL_CENTER convention for the ImageDatum of the underlying ImageCRS.

Parameters:
metadata - containing the information to build the MathTransform for going from grid to world.
Throws:
GeoTiffException
See Also:
this email post

getRasterToModel

public org.opengis.referencing.operation.MathTransform getRasterToModel(GeoTiffIIOMetadataDecoder metadata,
                                                                        boolean forceToCellCenter)
                                                                 throws GeoTiffException
Create the grid to world (or raster to model) transformation for this source.

Parameters:
metadata - containing the information to build the MathTransform for going from grid to world.
forceToCellCenter - if true, force to create the raster to model transformation respecting the OGC PixelInCell.CELL_CENTER convention for the ImageDatum of the underlying ImageCRS.
Throws:
GeoTiffException
See Also:
this email post

getRasterType

public org.opengis.referencing.datum.PixelInCell getRasterType(GeoTiffIIOMetadataDecoder metadata)

get

public static java.lang.Object get(java.lang.Object key)
Returns an object from the pool for the specified code. If the object was retained as a weak reference, the referent is returned.

Parameters:
key - to use for doing the lookup inside the pool.
Returns:
a cached instance of a GeoTiffMetadata2CRSAdapter suitable for the provided key.

getHints

public Hints getHints()
Returns the Hints for this GeoTiffMetadata2CRSAdapter.

Returns:
Hints for this GeoTiffMetadata2CRSAdapter.


Copyright © 1996-2010 Geotools. All Rights Reserved.