|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
@UML(identifier="CT_CoordinateTransformationFactory",
specification=OGC_01009)
public interface CoordinateOperationFactoryCreates coordinate operations. This factory is capable to find coordinate transformations or conversions between two coordinate reference systems.
| Method Summary | |
|---|---|
CoordinateOperation |
createConcatenatedOperation(Map<String,?> properties,
CoordinateOperation... operations)
Creates a concatenated operation from a sequence of operations. |
Conversion |
createDefiningConversion(Map<String,?> properties,
OperationMethod method,
ParameterValueGroup parameters)
Creates a defining conversion from a set of properties. |
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)
Returns an operation using a particular method for conversion or transformation between two coordinate reference systems. |
OperationMethod |
createOperationMethod(Map<String,?> properties,
Integer sourceDimension,
Integer targetDimension,
ParameterDescriptorGroup parameters)
Creates an operation method from a set of properties and a descriptor group. |
OperationMethod |
getOperationMethod(String name)
Returns the build-in operation method of the given name. |
| Methods inherited from interface Factory |
|---|
getVendor |
| Method Detail |
|---|
@UML(identifier="createFromCoordinateSystems",
specification=OGC_01009)
CoordinateOperation createOperation(CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS)
throws OperationNotFoundException,
FactoryException
Implementations may try to
query an authority factory first, and compute the operation next if no operation from
source to target code was explicitly defined by the authority.
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.
CoordinateOperation createOperation(CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS,
OperationMethod method)
throws OperationNotFoundException,
FactoryException
Example: A transformation between two geographic CRS using
different datum
requires a datum shift. Many methods exist for this purpose, including interpolations
in a grid, a scale/rotation/translation in geocentric coordinates or the Molodenski approximation.
When invoking createOperation without operation method, this factory may select by
default the most accurate transformation (typically interpolation in a grid). When invoking
createOperation with an operation method, user can force usage of Molodenski
approximation for instance.
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.Departure from OGC/ISO specification:
This method has been added at user request, in order to specify the desired transformation path when many are available.
CoordinateOperation createConcatenatedOperation(Map<String,?> properties,
CoordinateOperation... operations)
throws FactoryException
properties - Name and other properties to give to the new object.
Available properties are listed there.operations - The sequence of operations.
FactoryException - if the object creation failed.Departure from OGC/ISO specification:
This method has been added because OGC 01-009 does not define a factory method for creating such object.
Conversion createDefiningConversion(Map<String,?> properties,
OperationMethod method,
ParameterValueGroup parameters)
throws FactoryException
Some available properties are listed there. Additionally, the following properties are understood by this constructor:
properties - Set of properties. Shall contains at least "name".method - The operation method. A value can be obtained by getOperationMethod(String).parameters - The parameter values. A default set of parameters can be obtained by
method.getParameters().createValue() and modified before to be given to
this constructor.
FactoryException - if the object creation failed.CRSFactory.createProjectedCRS(Map, GeographicCRS, Conversion, CartesianCS),
CRSFactory.createDerivedCRS(Map, CoordinateReferenceSystem, Conversion, CoordinateSystem)Departure from OGC/ISO specification:
Defining conversions is a concept that appears in ISO 19111 textual specification without formalization in UML diagrams. This concept has been formalized in GeoAPI in order to allow the creation ofProjectedCRSinstances.
OperationMethod createOperationMethod(Map<String,?> properties,
Integer sourceDimension,
Integer targetDimension,
ParameterDescriptorGroup parameters)
throws FactoryException
OperationMethod
instances. However some implementations may have a collection of build-in
operation methods. For obtaining such build-in instance, see
getOperationMethod(String) instead.
Some available properties are listed there. Additionally, the following properties are understood by this constructor:
| Property name | Value type | Value given to |
|---|---|---|
| "formula" | Formula |
OperationMethod.getFormula() |
properties - Set of properties. Shall contains at least "name".sourceDimension - Number of dimensions in the source CRS of the operation method, or null.targetDimension - Number of dimensions in the target CRS of the operation method, or null.parameters - A description of the parameters for the operation method.
FactoryException - if the object creation failed.Departure from OGC/ISO specification:
This method has been added because OGC 01-009 does not define a factory method for creating such object.
OperationMethod getOperationMethod(String name)
throws NoSuchIdentifierException,
FactoryException
createOperation(CoordinateReferenceSystem, CoordinateReferenceSystem, OperationMethod)createDefiningConversion(Map, OperationMethod, ParameterValueGroup)Examples of typical operation method names are:
| OGC name | EPSG name |
|---|---|
| Mercator_1SP | Mercator (variant A) |
| Mercator_2SP | Mercator (variant B) |
| Transverse_Mercator | Transverse Mercator |
| Lambert_Conformal_Conic_1SP | Lambert Conic Conformal (1SP) |
| Lambert_Conformal_Conic_2SP | Lambert Conic Conformal (2SP) |
| Lambert_Azimuthal_Equal_Area | Lambert Azimuthal Equal Area |
| Albers_Conic_Equal_Area | Albers Equal Area |
| Cassini_Soldner | Cassini-Soldner |
| Orthographic | Orthographic |
Implementations may delegate to their MathTransformFactory, or delegate to their
CoordinateOperationAuthorityFactory, or get the operation method in some other way
at implementor choice.
name - The name of the operation method to fetch.
NoSuchIdentifierException - if no operation method of the given name is known to this factory.
FactoryException - if the method failed for some other reason.MathTransformFactory.getAvailableMethods(Class),
CoordinateOperationAuthorityFactory.createOperationMethod(String)Departure from OGC/ISO specification:
This method has been added in order to free the user from choosing whatever he should get the operation method fromCoordinateOperationAuthorityFactory, or fromMathTransformFactory, or creating it himself.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||