org.geotools.referencing.operation
Class DefaultOperation

Object
  extended by Formattable
      extended by AbstractIdentifiedObject
          extended by AbstractCoordinateOperation
              extended by DefaultSingleOperation
                  extended by 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
Module:
modules/library/referencing (gt-referencing.jar)

Field Summary
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
DefaultOperation(Map<String,?> properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform, OperationMethod method)
          Constructs an operation from a set of properties.
 
Method Summary
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, getPositionalAccuracy, getScope, getSourceCRS, getTargetCRS, getType, getValidArea
 
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
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
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 the AbstractCoordinateOperation 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 of Conversion or Transformation 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, or null.
type - The minimal type as Conversion.class, Projection.class, etc. This method may create an instance of a subclass of type.
Returns:
A new coordinate operation of the given type.
See Also:
DefaultConversion.create(org.opengis.referencing.operation.Conversion, org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.operation.MathTransform, java.lang.Class)

getMethod

public OperationMethod getMethod()
Returns the operation method.

Specified by:
getMethod in interface Operation

getParameterValues

public ParameterValueGroup getParameterValues()
                                       throws UnsupportedOperationException
Returns the parameter values. The default implementation infer the parameter values from the transform, if possible.

Specified by:
getParameterValues in interface Operation
Throws:
UnsupportedOperationException - if the parameters values can't be determined for current math transform implementation.
See Also:
DefaultMathTransformFactory.createParameterizedTransform(org.opengis.parameter.ParameterValueGroup), AbstractMathTransform.getParameterValues()

equals

public boolean equals(AbstractIdentifiedObject object,
                      boolean compareMetadata)
Compare this operation method with the specified object for equality. If compareMetadata is true, then all available properties are compared including formula.

Overrides:
equals in class AbstractCoordinateOperation
Parameters:
object - The object to compare to this.
compareMetadata - true for performing a strict comparaison, or false 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 class AbstractCoordinateOperation
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 class AbstractCoordinateOperation
Parameters:
formatter - The formatter to use.
Returns:
The WKT element name.
See Also:
Formattable.toWKT(), Formattable.toString()


Copyright © 1996-2010 Geotools. All Rights Reserved.