org.geotools.referencing.operation.transform
Class ExponentialTransform1D

Object
  extended by Formattable
      extended by AbstractMathTransform
          extended by ExponentialTransform1D
All Implemented Interfaces:
Serializable, MathTransform, MathTransform1D

public class ExponentialTransform1D
extends AbstractMathTransform
implements MathTransform1D, Serializable

A one dimensional exponentional transform. Input values x are converted into output values y using the following equation:

y  =  scale×basex

This equation may be written in other form:

basea + b×x  =  basea×(baseb)x

Since:
2.0
Author:
Martin Desruisseaux (IRD)
See Also:
LogarithmicTransform1D, LinearTransform1D, Serialized Form
Module:

Nested Class Summary
static class ExponentialTransform1D.Provider
          The provider for the ExponentialTransform1D.
 
Nested classes/interfaces inherited from class AbstractMathTransform
AbstractMathTransform.Inverse
 
Field Summary
 double base
          The base to be raised to a power.
 double scale
          The scale value to be multiplied.
 
Fields inherited from class Formattable
SINGLE_LINE
 
Constructor Summary
protected ExponentialTransform1D(double base, double scale)
          Constructs a new exponentional transform.
 
Method Summary
static MathTransform1D create(double base, double scale)
          Constructs a new exponentional transform.
 double derivative(double value)
          Gets the derivative of this function at a value.
 boolean equals(Object object)
          Compares the specified object with this math transform for equality.
 ParameterDescriptorGroup getParameterDescriptors()
          Returns the parameter descriptors for this math transform.
 ParameterValueGroup getParameterValues()
          Returns the parameter values for this math transform.
 int getSourceDimensions()
          Gets the dimension of input points, which is 1.
 int getTargetDimensions()
          Gets the dimension of output points, which is 1.
 int hashCode()
          Returns a hash value for this transform.
 MathTransform1D inverse()
          Creates the inverse transform of this object.
 double transform(double value)
          Transforms the specified value.
 void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          Transforms a list of coordinate point ordinal values.
 void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          Transforms a list of coordinate point ordinal values.
 
Methods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, rollLongitude, transform, transform, transform, transform
 
Methods inherited from class Formattable
toString, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface MathTransform
derivative, isIdentity, toWKT, transform
 

Field Detail

base

public final double base
The base to be raised to a power.


scale

public final double scale
The scale value to be multiplied.

Constructor Detail

ExponentialTransform1D

protected ExponentialTransform1D(double base,
                                 double scale)
Constructs a new exponentional transform. This constructor is provided for subclasses only. Instances should be created using the factory method, which may returns optimized implementations for some particular argument values.

Parameters:
base - The base to be raised to a power.
scale - The scale value to be multiplied.
Method Detail

create

public static MathTransform1D create(double base,
                                     double scale)
Constructs a new exponentional transform.

Parameters:
base - The base to be raised to a power.
scale - The scale value to be multiplied.
Returns:
The math transform.

getParameterDescriptors

public ParameterDescriptorGroup getParameterDescriptors()
Returns the parameter descriptors for this math transform.

Overrides:
getParameterDescriptors in class AbstractMathTransform
Returns:
The parameter descriptors for this math transform, or null.
See Also:
OperationMethod.getParameters()

getParameterValues

public ParameterValueGroup getParameterValues()
Returns the parameter values for this math transform.

Overrides:
getParameterValues in class AbstractMathTransform
Returns:
A copy of the parameter values for this math transform.
See Also:
Operation.getParameterValues()

getSourceDimensions

public int getSourceDimensions()
Gets the dimension of input points, which is 1.

Specified by:
getSourceDimensions in interface MathTransform
Specified by:
getSourceDimensions in class AbstractMathTransform

getTargetDimensions

public int getTargetDimensions()
Gets the dimension of output points, which is 1.

Specified by:
getTargetDimensions in interface MathTransform
Specified by:
getTargetDimensions in class AbstractMathTransform

inverse

public MathTransform1D inverse()
Creates the inverse transform of this object.

Specified by:
inverse in interface MathTransform
Specified by:
inverse in interface MathTransform1D
Overrides:
inverse in class AbstractMathTransform

derivative

public double derivative(double value)
Gets the derivative of this function at a value.

Specified by:
derivative in interface MathTransform1D

transform

public double transform(double value)
Transforms the specified value.

Specified by:
transform in interface MathTransform1D

transform

public void transform(float[] srcPts,
                      int srcOff,
                      float[] dstPts,
                      int dstOff,
                      int numPts)
Transforms a list of coordinate point ordinal values.

Specified by:
transform in interface MathTransform
Overrides:
transform in class AbstractMathTransform

transform

public void transform(double[] srcPts,
                      int srcOff,
                      double[] dstPts,
                      int dstOff,
                      int numPts)
Transforms a list of coordinate point ordinal values.

Specified by:
transform in interface MathTransform

hashCode

public int hashCode()
Returns a hash value for this transform. This value need not remain consistent between different implementations of the same class.

Overrides:
hashCode in class AbstractMathTransform

equals

public boolean equals(Object object)
Compares the specified object with this math transform for equality.

Overrides:
equals in class AbstractMathTransform
Parameters:
object - The object to compare with this transform.
Returns:
true if the given object is a transform of the same class and if, given identical source position, the transformed position would be the equals.


Copyright © 1996-2009 Geotools. All Rights Reserved.