deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.crs.transformations.coordinate
Class MatrixTransform

java.lang.Object
  extended by org.deegree.crs.Identifiable
      extended by org.deegree.crs.transformations.Transformation
          extended by org.deegree.crs.transformations.coordinate.CRSTransformation
              extended by org.deegree.crs.transformations.coordinate.MatrixTransform
All Implemented Interfaces:
Serializable

public class MatrixTransform
extends CRSTransformation

The MatrixTransform class allows transformations using matrices. Although technically n × m matrices are possible, at the moment only 2 × 2, 3 × 3 and 4 × 4 matrices are supported.

Version:
$Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
Author:
Rutger Bezema, last edited by: $Author: mschneider $
See Also:
Serialized Form

Constructor Summary
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.GMatrix matrix)
          Construct a transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.GMatrix matrix, Identifiable id)
          Construct a transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.Matrix3d matrix)
          Construct a 3d transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.Matrix3d matrix, Identifiable id)
          Construct a 3d transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.Matrix4d matrix)
          Construct a 4d transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.Matrix4d matrix, Identifiable id)
          Construct a 4d transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.Matrix4d matrix, String transformationName)
          Construct a 4d transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.Matrix4d matrix, String transformationName, Identifiable id)
          Construct a 4d transform.
 
Method Summary
 List<javax.vecmath.Point3d> doTransform(List<javax.vecmath.Point3d> srcPts)
          Do a transformation, e.g. the incoming data will be transformed into other coordinates.
 boolean equals(Object object)
           
 int getDimSource()
           
 int getDimTarget()
           
 String getImplementationName()
           
 javax.vecmath.GMatrix getMatrix()
           
 boolean isIdentity()
           
 
Methods inherited from class org.deegree.crs.transformations.Transformation
areInverse, createFromTo, doTransform, doTransform, getSourceCRS, getSourceDimension, getTargetCRS, getTargetDimension, getTransformationName, getTransformationPath, inverse, isInverseTransform, setSourceCRS
 
Methods inherited from class org.deegree.crs.Identifiable
checkForNullObject, checkForNullObject, checkForNullObject, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getDescription, getDescriptions, getIdAndName, getIdentifier, getIdentifiers, getName, getNames, getVersion, getVersions, hasID, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.GMatrix matrix,
                       Identifiable id)
Construct a transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -
id - an identifiable instance containing information about this transformation

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.GMatrix matrix)
Construct a transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.Matrix3d matrix,
                       Identifiable id)
Construct a 3d transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -
id - an identifiable instance containing information about this transformation

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.Matrix3d matrix)
Construct a 3d transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.Matrix4d matrix,
                       Identifiable id)
Construct a 4d transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -
id - an identifiable instance containing information about this transformation

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.Matrix4d matrix)
Construct a 4d transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.Matrix4d matrix,
                       String transformationName,
                       Identifiable id)
Construct a 4d transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -
transformationName - the 'optional' name of the transformation, which is useful to specify the 'helmert' transformation.
id - an identifiable instance containing information about this transformation

MatrixTransform

public MatrixTransform(CoordinateSystem source,
                       CoordinateSystem target,
                       javax.vecmath.Matrix4d matrix,
                       String transformationName)
Construct a 4d transform.

Parameters:
source - the source coordinate system
target - the target coordinate system.
matrix -
transformationName - the 'optional' name of the transformation, which is useful to specify the 'helmert' transformation.
Method Detail

doTransform

public List<javax.vecmath.Point3d> doTransform(List<javax.vecmath.Point3d> srcPts)
Description copied from class: Transformation
Do a transformation, e.g. the incoming data will be transformed into other coordinates.

Specified by:
doTransform in class Transformation
Parameters:
srcPts - the points which must be transformed, expected are following values either, long_1, lat_1, height_1, long_2, lat_2, height_2. or long_1, lat_1, long_2, lat_2
Returns:
the transformed points

getDimSource

public int getDimSource()
Returns:
the dimension of input points.

getDimTarget

public int getDimTarget()
Returns:
the dimension of output points.

isIdentity

public boolean isIdentity()
Specified by:
isIdentity in class Transformation
Returns:
true if this transformation holds an identity matrix (e.g. doesn't transform at all).

equals

public boolean equals(Object object)
Overrides:
equals in class Identifiable

getMatrix

public final javax.vecmath.GMatrix getMatrix()
Returns:
the matrix.

getImplementationName

public String getImplementationName()
Specified by:
getImplementationName in class Transformation
Returns:
the name of the transformation.

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org