org.geotools.gce.geotiff.adapters
Class GeoTiffMetadata2CRSAdapter

Object
  extended by GeoTiffMetadata2CRSAdapter

public final class GeoTiffMetadata2CRSAdapter
extends 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
Module:
trunk/gt/plugin   (gt-plugin.jar) (Maven report) (SVN head)

Field Summary
static int DEFAULT_MAX
          The default value for #maxStrongReferences .
 
Constructor Summary
GeoTiffMetadata2CRSAdapter(Hints hints)
          Creates a new instance of GeoTiffMetadata2CRSAdapter
 
Method Summary
 CoordinateReferenceSystem createCoordinateSystem(GeoTiffIIOMetadataDecoder metadata)
          This method creates a CoordinateReferenceSystem object from the metadata which has been set earlier.
static Object get(Object key)
          Returns an object from the pool for the specified code.
 Hints getHints()
          Returns the Hints for this GeoTiffMetadata2CRSAdapter.
 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.
 MathTransform getRasterToModel(GeoTiffIIOMetadataDecoder metadata, boolean forceToCellCenter)
          Create the grid to world (or raster to model) transformation for this source.
 PixelInCell getRasterType(GeoTiffIIOMetadataDecoder metadata)
           
 
Methods inherited from class 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 CoordinateReferenceSystem createCoordinateSystem(GeoTiffIIOMetadataDecoder metadata)
                                                 throws IOException,
                                                        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:
IOException - if there is unexpected data in the GeoKey tags.
FactoryException
NullPointerException - if the csAuthorityFactory, datumFactory, crsFactory or metadata are uninitialized
UnsupportedOperationException - if the coordinate system specified by the GeoTiff file is not supported.

getRasterToModel

public 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 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 PixelInCell getRasterType(GeoTiffIIOMetadataDecoder metadata)

get

public static Object get(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-2009 Geotools. All Rights Reserved.