deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.crs.configuration
Interface CRSProvider

All Known Implementing Classes:
AbstractCRSProvider, DeegreeCRSProvider, GMLCRSProvider, PROJ4CRSProvider

public interface CRSProvider

The CRSProvider will allow the support for different crs-definitions formats within the crs package. All implementation should consider the fact that the deegree-crs package will assume all incoming and outgoing latitude/longitude coordinates in radians.

Version:
$Revision: 18308 $, $Date: 2009-07-02 14:40:19 +0200 (Do, 02. Jul 2009) $
Author:
Rutger Bezema, last edited by: $Author: rbezema $

Method Summary
 boolean canExport()
           
 void clearCache()
           
 void export(StringBuilder sb, List<CoordinateSystem> crsToExport)
          Exports the crs to the implemented format.
 List<String> getAvailableCRSIds()
          This method should be called if one is only interested in the available identifiers and not in the coordinatesystems themselves.
 List<CoordinateSystem> getAvailableCRSs()
          This method should be called to see if the provider is able to create all defined crs's, thus verifying the correctness of the configuration.
 CoordinateSystem getCRSByID(String id)
           
 Identifiable getIdentifiable(String id)
          This method is more general than the getCRSByID(String), because it represents a possibility to return an arbitrary Identifiable Object from the providers backend.
 Transformation getTransformation(CoordinateSystem sourceCRS, CoordinateSystem targetCRS)
          This method is should retrieve a transformation (chain) which transforms coordinates from the given source into the given target crs.
 

Method Detail

getTransformation

Transformation getTransformation(CoordinateSystem sourceCRS,
                                 CoordinateSystem targetCRS)
                                 throws CRSConfigurationException
This method is should retrieve a transformation (chain) which transforms coordinates from the given source into the given target crs. If no such transformation could be found or the implementation does not support inverse lookup of transformations null should be returned.

Parameters:
sourceCRS - start of the transformation (chain)
targetCRS - end point of the transformation (chain).
Returns:
the Transformation Object or null if no such Object was found.
Throws:
CRSConfigurationException - if the implementation was confronted by an exception and could not deliver the requested Object. This exception should not be thrown no Transformation was found, in this case null should be returned.

getIdentifiable

Identifiable getIdentifiable(String id)
                             throws CRSConfigurationException
This method is more general than the getCRSByID(String), because it represents a possibility to return an arbitrary Identifiable Object from the providers backend.

Parameters:
id - string representation of the resource to retrieve
Returns:
the Identifiable Object or null if no such Object was found.
Throws:
CRSConfigurationException - if the implementation was confronted by an exception and could not deliver the requested Object. This exception should not be thrown if the given id wasn't found, in this case null should be returned.

getCRSByID

CoordinateSystem getCRSByID(String id)
                            throws CRSConfigurationException
Parameters:
id - string representation of the CoordinateSystem
Returns:
the identified CRS or null if no such CRS was found.
Throws:
CRSConfigurationException - if the implementation was confronted by an exception and could not deliver the requested crs. This exception should not be thrown if the given id wasn't found, in this case null should be returned.

getAvailableCRSs

List<CoordinateSystem> getAvailableCRSs()
                                        throws CRSConfigurationException
This method should be called to see if the provider is able to create all defined crs's, thus verifying the correctness of the configuration.

Returns:
all configured CRSs.
Throws:
CRSConfigurationException - if the implementation was confronted by an exception and could not deliver the requested crs. This exception should not be thrown if no CoordinateSystems were found, in the latter case an empty List ( a list with size == 0 ) should be returned.

getAvailableCRSIds

List<String> getAvailableCRSIds()
                                throws CRSConfigurationException
This method should be called if one is only interested in the available identifiers and not in the coordinatesystems themselves.

Returns:
the identifiers of all configured CRSs.
Throws:
CRSConfigurationException - if the implementation was confronted by an exception and could not deliver the requested crs. This exception should not be thrown if no CoordinateSystems were found, in the latter case an empty List ( a list with size == 0 ) should be returned.

export

void export(StringBuilder sb,
            List<CoordinateSystem> crsToExport)
Exports the crs to the implemented format. Try calling canExport() before executing this method.

Parameters:
sb - the StringBuilder which will contain the exported version of the given crs.
crsToExport - the CoordinateSystems to export.
See Also:
canExport()

canExport

boolean canExport()
Returns:
true if this provider can export a given crs.

clearCache

void clearCache()

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org