

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
Object AbstractFactory ReferencingFactory AbstractCoordinateOperationFactory DefaultCoordinateOperationFactory
public class DefaultCoordinateOperationFactory
Creates coordinate operations. This factory is capable to find
coordinate transformations or conversions
between two coordinate reference systems. It delegates
most of its work to one or many of createOperationStep
methods. Subclasses can
override those methods in order to extend the factory capability to some more CRS.
Field Summary 

Fields inherited from class AbstractCoordinateOperationFactory 

AXIS_CHANGES, DATUM_SHIFT, ELLIPSOID_SHIFT, GEOCENTRIC_CONVERSION, IDENTITY, INVERSE_OPERATION 
Fields inherited from class ReferencingFactory 

LOGGER 
Fields inherited from class AbstractFactory 

hints, MAXIMUM_PRIORITY, MINIMUM_PRIORITY, NORMAL_PRIORITY, priority 
Constructor Summary  

DefaultCoordinateOperationFactory()
Constructs a coordinate operation factory using the default factories. 

DefaultCoordinateOperationFactory(Hints userHints)
Constructs a coordinate operation factory using the specified hints. 

DefaultCoordinateOperationFactory(Hints userHints,
int priority)
Constructs a coordinate operation factory using the specified hints and priority. 
Method Summary  

protected CoordinateOperation 
createFromDatabase(CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS)
If the coordinate operation is explicitly defined in some database (typically EPSG), returns it. 
CoordinateOperation 
createOperation(CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS)
Returns an operation for conversion or transformation between two coordinate reference systems. 
CoordinateOperation 
createOperation(CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS,
OperationMethod method)
Deprecated. Current implementation ignore the method argument. 
protected CoordinateOperation 
createOperationStep(CompoundCRS sourceCRS,
CompoundCRS targetCRS)
Creates an operation between two compound coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(CompoundCRS sourceCRS,
SingleCRS targetCRS)
Creates an operation from a compound to a single coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(GeocentricCRS sourceCRS,
GeocentricCRS targetCRS)
Creates an operation between two geocentric coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(GeocentricCRS sourceCRS,
GeographicCRS targetCRS)
Creates an operation from a geocentric to a geographic coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(GeographicCRS sourceCRS,
GeocentricCRS targetCRS)
Creates an operation from a geographic to a geocentric coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(GeographicCRS sourceCRS,
GeographicCRS targetCRS)
Creates an operation between two geographic coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(GeographicCRS sourceCRS,
ProjectedCRS targetCRS)
Creates an operation from a geographic to a projected coordinate reference system. 
protected CoordinateOperation 
createOperationStep(GeographicCRS sourceCRS,
VerticalCRS targetCRS)
Creates an operation between a geographic and a vertical coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(ProjectedCRS sourceCRS,
GeographicCRS targetCRS)
Creates an operation from a projected to a geographic coordinate reference system. 
protected CoordinateOperation 
createOperationStep(ProjectedCRS sourceCRS,
ProjectedCRS targetCRS)
Creates an operation between two projected coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(SingleCRS sourceCRS,
CompoundCRS targetCRS)
Creates an operation from a single to a compound coordinate reference system. 
protected CoordinateOperation 
createOperationStep(TemporalCRS sourceCRS,
TemporalCRS targetCRS)
Creates an operation between two temporal coordinate reference systems. 
protected CoordinateOperation 
createOperationStep(VerticalCRS sourceCRS,
VerticalCRS targetCRS)
Creates an operation between two vertical coordinate reference systems. 
Methods inherited from class ReferencingFactory 

getVendor 
Methods inherited from class AbstractFactory 

addImplementationHints, equals, getPriority, hashCode, onDeregistration, onRegistration, toString 
Methods inherited from class Object 

clone, finalize, getClass, notify, notifyAll, wait, wait, wait 
Methods inherited from interface Factory 

getVendor 
Constructor Detail 

public DefaultCoordinateOperationFactory()
public DefaultCoordinateOperationFactory(Hints userHints)
CRS
, CS
,
DATUM
and MATH_TRANSFORM
FACTORY
hints.
userHints
 The hints, or null
if none.public DefaultCoordinateOperationFactory(Hints userHints, int priority)
CRS
, CS
,
DATUM
and MATH_TRANSFORM
FACTORY
hints.
userHints
 The hints, or null
if none.priority
 The priority for this factory, as a number between
MINIMUM_PRIORITY
and
MAXIMUM_PRIORITY
inclusive.Method Detail 

public CoordinateOperation createOperation(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS) throws OperationNotFoundException, FactoryException
The default implementation inspects the CRS and delegates the work to one or
many createOperationStep(...)
methods. This method fails if no path
between the CRS is found.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
OperationNotFoundException
 if no operation path was found from sourceCRS
to targetCRS
.
FactoryException
 if the operation creation failed for some other reason.public CoordinateOperation createOperation(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, OperationMethod method) throws OperationNotFoundException, FactoryException
method
argument.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.method
 the algorithmic method for conversion or transformation
sourceCRS
to targetCRS
.
OperationNotFoundException
 if no operation path was found from sourceCRS
to targetCRS
.
FactoryException
 if the operation creation failed for some other reason.protected CoordinateOperation createOperationStep(TemporalCRS sourceCRS, TemporalCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(VerticalCRS sourceCRS, VerticalCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(GeographicCRS sourceCRS, VerticalCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(GeographicCRS sourceCRS, GeographicCRS targetCRS) throws FactoryException
(NORTH,WEST)
to (EAST,NORTH)
), performs units conversion
and apply datum shifts if needed.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(ProjectedCRS sourceCRS, ProjectedCRS targetCRS) throws FactoryException
sourceCRS
to its base
geographic CRS.targetCRS
.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(GeographicCRS sourceCRS, ProjectedCRS targetCRS) throws FactoryException
where the conversion fromsourceCRS → baseCRS → targetCRS
baseCRS
to targetCRS
is obtained
from targetCRS.getConversionFromBase()
.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(ProjectedCRS sourceCRS, GeographicCRS targetCRS) throws FactoryException
where the conversion fromsourceCRS → baseCRS → targetCRS
sourceCRS
to baseCRS
is obtained
from the inverse of
sourceCRS.getConversionFromBase()
.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(GeocentricCRS sourceCRS, GeocentricCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(GeographicCRS sourceCRS, GeocentricCRS targetCRS) throws FactoryException
"Ellipsoid_To_Geocentric"
math transform.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(GeocentricCRS sourceCRS, GeographicCRS targetCRS) throws FactoryException
"Geocentric_To_Ellipsoid"
math transform.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(CompoundCRS sourceCRS, SingleCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(SingleCRS sourceCRS, CompoundCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createOperationStep(CompoundCRS sourceCRS, CompoundCRS targetCRS) throws FactoryException
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
.
FactoryException
 If the operation can't be constructed.protected CoordinateOperation createFromDatabase(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS)
sourceCRS
to targetCRS
, or if this method
failed to create an operation from the database), returns null
.
The default implementation always returns null
, since there is no database
connected to a DefaultCoordinateOperationFactory
instance. In other words,
the default implementation is "standalone": it tries to figure out transformation
paths by itself. Subclasses should override this method if they can fetch a more
accurate operation from some database. The mean subclass doing so is
AuthorityBackedFactory
.
This method is invoked by createOperation(sourceCRS,
targetCRS)
before to try to figure out a transformation path by itself. It is also
invoked by various createOperationStep(...)
methods when an intermediate CRS was
obtained by GeneralDerivedCRS.getBaseCRS()
(this case occurs especially during
geographic from/to projected CRS
operations). This method is not invoked for synthetic CRS generated by
createOperationStep(...)
, since those temporary CRS are not expected to exist
in a database.
sourceCRS
 Input coordinate reference system.targetCRS
 Output coordinate reference system.
sourceCRS
to targetCRS
if and only if
one is explicitly defined in some underlying database, or null
otherwise.


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 