org.geotools.ct
Interface MathTransform

All Known Subinterfaces:
LinearTransform, MathTransform1D, MathTransform2D
All Known Implementing Classes:
AbstractMathTransform, MapProjection

Deprecated. Replaced by MathTransform in the org.opengis.referencing.operation package.

public interface MathTransform

Transforms multi-dimensional coordinate points. This interface transforms coordinate value for a point given in the source coordinate system to coordinate value for the same point in the target coordinate system. In an ISO conversion, the transformation is accurate to within the limitations of the computer making the calculations. In an ISO transformation, where some of the operational parameters are derived from observations, the transformation is accurate to within the limitations of those observations.

Version:
$Id: MathTransform.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
OpenGIS, Martin Desruisseaux
See Also:
CT_MathTransform, AffineTransform, PerspectiveTransform, javax.media.j3d.Transform3D, MathTransform2D

Method Summary
 Matrix derivative(CoordinatePoint point)
          Deprecated. Gets the derivative of this transform at a point.
 int getDimSource()
          Deprecated. Gets the dimension of input points.
 int getDimTarget()
          Deprecated. Gets the dimension of output points.
 MathTransform inverse()
          Deprecated. Creates the inverse transform of this object.
 boolean isIdentity()
          Deprecated. Tests whether this transform does not move any points.
 CoordinatePoint transform(CoordinatePoint ptSrc, CoordinatePoint ptDst)
          Deprecated. Transforms the specified ptSrc and stores the result in ptDst.
 void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          Deprecated. Transforms a list of coordinate point ordinal values.
 void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          Deprecated. Transforms a list of coordinate point ordinal values.
 

Method Detail

getDimSource

public int getDimSource()
Deprecated. 
Gets the dimension of input points.

See Also:
CT_MathTransform.getDimSource()

getDimTarget

public int getDimTarget()
Deprecated. 
Gets the dimension of output points.

See Also:
CT_MathTransform.getDimTarget()

transform

public CoordinatePoint transform(CoordinatePoint ptSrc,
                                 CoordinatePoint ptDst)
                          throws org.opengis.spatialschema.geometry.MismatchedDimensionException,
                                 org.opengis.referencing.operation.TransformException
Deprecated. 
Transforms the specified ptSrc and stores the result in ptDst. If ptDst is null, a new CoordinatePoint object is allocated and then the result of the transformation is stored in this object. In either case, ptDst, which contains the transformed point, is returned for convenience. If ptSrc and ptDst are the same object, the input point is correctly overwritten with the transformed point.

Parameters:
ptSrc - the specified coordinate point to be transformed.
ptDst - the specified coordinate point that stores the result of transforming ptSrc, or null.
Returns:
the coordinate point after transforming ptSrc and storing the result in ptDst, or a newly created point if ptDst was null.
Throws:
org.opengis.spatialschema.geometry.MismatchedDimensionException - if ptSrc or ptDst doesn't have the expected dimension.
org.opengis.referencing.operation.TransformException - if the point can't be transformed.
See Also:
CT_MathTransform.transform(org.opengis.pt.PT_CoordinatePoint)

transform

public void transform(double[] srcPts,
                      int srcOff,
                      double[] dstPts,
                      int dstOff,
                      int numPts)
               throws org.opengis.referencing.operation.TransformException
Deprecated. 
Transforms a list of coordinate point ordinal values. This method is provided for efficiently transforming many points. The supplied array of ordinal values will contain packed ordinal values. For example, if the source dimension is 3, then the ordinals will be packed in this order: (x0,y0,z0, x1,y1,z1 ...).

Parameters:
srcPts - the array containing the source point coordinates.
srcOff - the offset to the first point to be transformed in the source array.
dstPts - the array into which the transformed point coordinates are returned. May be the same than srcPts.
dstOff - the offset to the location of the first transformed point that is stored in the destination array.
numPts - the number of point objects to be transformed.
Throws:
org.opengis.referencing.operation.TransformException - if a point can't be transformed.
See Also:
CT_MathTransform.transformList(double[])

transform

public void transform(float[] srcPts,
                      int srcOff,
                      float[] dstPts,
                      int dstOff,
                      int numPts)
               throws org.opengis.referencing.operation.TransformException
Deprecated. 
Transforms a list of coordinate point ordinal values. This method is provided for efficiently transforming many points. The supplied array of ordinal values will contain packed ordinal values. For example, if the source dimension is 3, then the ordinals will be packed in this order: (x0,y0,z0, x1,y1,z1 ...).

Parameters:
srcPts - the array containing the source point coordinates.
srcOff - the offset to the first point to be transformed in the source array.
dstPts - the array into which the transformed point coordinates are returned. May be the same than srcPts.
dstOff - the offset to the location of the first transformed point that is stored in the destination array.
numPts - the number of point objects to be transformed.
Throws:
org.opengis.referencing.operation.TransformException - if a point can't be transformed.

derivative

public Matrix derivative(CoordinatePoint point)
                  throws org.opengis.spatialschema.geometry.MismatchedDimensionException,
                         org.opengis.referencing.operation.TransformException
Deprecated. 
Gets the derivative of this transform at a point. The derivative is the matrix of the non-translating portion of the approximate affine map at the point. The matrix will have dimensions corresponding to the source and target coordinate systems. If the input dimension is M, and the output dimension is N, then the matrix will have size N×M. The elements of the matrix {en,m : n=0..(N-1)} form a vector in the output space which is parallel to the displacement caused by a small change in the m'th ordinate in the input space.

For example, if the input dimension is 4 and the output dimension is 3, then a small displacement (x0, x1, x2, x3) in the input space will result in a displacement (y0, y1, y2) in the output space computed as below (en,m are the matrix's elements):
 [ y0 ]     [ e00  e01  e02  e03 ] [ x0 ]
 [ y1 ]  =  [ e10  e11  e12  e13 ] [ x1 ]
 [ y2 ]     [ e20  e21  e22  e23 ] [ x2 ]
                                   [ x3 ]
 

Parameters:
point - The coordinate point where to evaluate the derivative. Null value is accepted only if the derivative is the same everywhere. For example affine transform accept null value since they produces identical derivative no matter the coordinate value. But most map projection will requires a non-null value.
Returns:
The derivative at the specified point (never null). This method never returns an internal object: changing the matrix will not change the state of this math transform.
Throws:
java.lang.NullPointerException - if the derivative dependents on coordinate and point is null.
org.opengis.spatialschema.geometry.MismatchedDimensionException - if point doesn't have the expected dimension.
org.opengis.referencing.operation.TransformException - if the derivative can't be evaluated at the specified point.
See Also:
CT_MathTransform.derivative(org.opengis.pt.PT_CoordinatePoint)

inverse

public MathTransform inverse()
                      throws org.opengis.referencing.operation.NoninvertibleTransformException
Deprecated. 
Creates the inverse transform of this object. The target of the inverse transform is the source of the original. The source of the inverse transform is the target of the original. Using the original transform followed by the inverse's transform will result in an identity map on the source coordinate space, when allowances for error are made. This method may fail if the transform is not one to one. However, all cartographic projections should succeed.

Returns:
The inverse transform.
Throws:
org.opengis.referencing.operation.NoninvertibleTransformException - if the transform can't be inversed.
See Also:
CT_MathTransform.inverse()

isIdentity

public boolean isIdentity()
Deprecated. 
Tests whether this transform does not move any points.

Returns:
true if this MathTransform is an identity transform; false otherwise.
See Also:
CT_MathTransform.isIdentity()


Copyright © GeoTools. All Rights Reserved.