Class DefaultOperation
-
- All Implemented Interfaces:
Serializable
,IdentifiedObject
,CoordinateOperation
,Operation
,SingleOperation
- Direct Known Subclasses:
DefaultConversion
,DefaultTransformation
public class DefaultOperation extends DefaultSingleOperation implements Operation
A parameterized mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. This coordinate operation thus uses an operation method, usually with associated parameter values.In the Geotools implementation, the parameter values are inferred from the transform. Other implementations may have to overrides the
getParameterValues()
method.- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
DefaultOperationMethod
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected OperationMethod
method
The operation method.-
Fields inherited from class AbstractCoordinateOperation
domainOfValidity, EMPTY_ACCURACY_ARRAY, sourceCRS, targetCRS, transform
-
Fields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
-
Fields inherited from class Formattable
SINGLE_LINE
-
Fields inherited from interface CoordinateOperation
COORDINATE_OPERATION_ACCURACY_KEY, DOMAIN_OF_VALIDITY_KEY, OPERATION_VERSION_KEY, SCOPE_KEY
-
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
-
-
Constructor Summary
Constructors Constructor Description DefaultOperation(Map<String,?> properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform, OperationMethod method)
Constructs an operation from a set of properties.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CoordinateOperation
create(Map<String,?> properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform, OperationMethod method, Class<? extends CoordinateOperation> type)
Returns a coordinate operation of the specified class.boolean
equals(AbstractIdentifiedObject object, boolean compareMetadata)
Compare this operation method with the specified object for equality.protected String
formatWKT(Formatter formatter)
Format this operation as a pseudo-WKT format.OperationMethod
getMethod()
Returns the operation method.ParameterValueGroup
getParameterValues()
Returns the parameter values.int
hashCode()
Returns a hash code value for this operation method.-
Methods inherited from class AbstractCoordinateOperation
getAccuracy, getAccuracy, getCoordinateOperationAccuracy, getDomainOfValidity, getMathTransform, getOperationVersion, getScope, getSourceCRS, getTargetCRS, getType
-
Methods inherited from class AbstractIdentifiedObject
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches, nameMatches
-
Methods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
-
Methods inherited from interface CoordinateOperation
getCoordinateOperationAccuracy, getDomainOfValidity, getMathTransform, getOperationVersion, getScope, getSourceCRS, getTargetCRS
-
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
-
-
-
Field Detail
-
method
protected final OperationMethod method
The operation method.
-
-
Constructor Detail
-
DefaultOperation
public DefaultOperation(Map<String,?> properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform, OperationMethod method)
Constructs an operation from a set of properties. The properties given in argument follow the same rules than for theAbstractCoordinateOperation
constructor.- Parameters:
properties
- Set of properties. Should contains at least"name"
.sourceCRS
- The source CRS.targetCRS
- The target CRS.transform
- Transform from positions in the source CRS to positions in the target CRS.method
- The operation method.
-
-
Method Detail
-
create
public static CoordinateOperation create(Map<String,?> properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform, OperationMethod method, Class<? extends CoordinateOperation> type)
Returns a coordinate operation of the specified class. This method may constructs instance ofConversion
orTransformation
among others.- Parameters:
properties
- Set of properties. Should contains at least"name"
.sourceCRS
- The source CRS.targetCRS
- The target CRS.transform
- Transform from positions in the source CRS to positions in the target CRS.method
- The operation method, ornull
.type
- The minimal type asConversion.class
,Projection.class
, etc. This method may create an instance of a subclass oftype
.- Returns:
- A new coordinate operation of the given type.
- See Also:
DefaultConversion.create(org.geotools.api.referencing.operation.Conversion, org.geotools.api.referencing.crs.CoordinateReferenceSystem, org.geotools.api.referencing.crs.CoordinateReferenceSystem, org.geotools.api.referencing.operation.MathTransform, java.lang.Class<? extends org.geotools.api.referencing.operation.Conversion>)
-
getMethod
public OperationMethod getMethod()
Returns the operation method.
-
getParameterValues
public ParameterValueGroup getParameterValues() throws UnsupportedOperationException
Returns the parameter values. The default implementation infer the parameter values from thetransform
, if possible.- Specified by:
getParameterValues
in interfaceOperation
- Returns:
- The parameter values.
- Throws:
UnsupportedOperationException
- if the parameters values can't be determined for current math transform implementation.- See Also:
DefaultMathTransformFactory.createParameterizedTransform(org.geotools.api.parameter.ParameterValueGroup)
,AbstractMathTransform.getParameterValues()
-
equals
public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
Compare this operation method with the specified object for equality. IfcompareMetadata
istrue
, then all available properties are compared including formula.- Overrides:
equals
in classAbstractCoordinateOperation
- Parameters:
object
- The object to compare tothis
.compareMetadata
-true
for performing a strict comparaison, orfalse
for comparing only properties relevant to transformations.- Returns:
true
if both objects are equal.
-
hashCode
public int hashCode()
Returns a hash code value for this operation method.- Overrides:
hashCode
in classAbstractCoordinateOperation
- Returns:
- The hash code value. This value doesn't need to be the same in past or future versions of this class.
-
formatWKT
protected String formatWKT(Formatter formatter)
Format this operation as a pseudo-WKT format. No WKT format were defined for coordinate operation at the time this method was written. This method may change in any future version until a standard format is found.- Overrides:
formatWKT
in classAbstractCoordinateOperation
- Parameters:
formatter
- The formatter to use.- Returns:
- The WKT element name.
- See Also:
Formattable.toWKT()
,Formattable.toString()
-
-