deegree-core-3.0-pre-nightly (2010/03/05 00:01) - official

org.deegree.crs.transformations.coordinate
Class MatrixTransform

java.lang.Object
  extended by org.deegree.crs.CRSIdentifiable
      extended by org.deegree.crs.transformations.Transformation
          extended by org.deegree.crs.transformations.coordinate.CRSTransformation
              extended by org.deegree.crs.transformations.coordinate.MatrixTransform

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: 18171 $, $Date: 2009-06-17 16:00:07 +0200 (Mi, 17 Jun 2009) $
Author:
Rutger Bezema, last edited by: $Author: mschneider $

Constructor Summary
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.GMatrix matrix)
          Construct a transform.
MatrixTransform(CoordinateSystem source, CoordinateSystem target, javax.vecmath.GMatrix matrix, CRSIdentifiable 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, CRSIdentifiable 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, CRSIdentifiable 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, CRSIdentifiable 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, canTransform, createFromTo, doTransform, doTransform, getSourceCRS, getSourceDimension, getTargetCRS, getTargetDimension, getTransformationName, getTransformationPath, inverse, isInverseTransform, setSourceCRS
 
Methods inherited from class org.deegree.crs.CRSIdentifiable
addAreaOfUse, addName, checkForNullObject, checkForNullObject, checkForNullObject, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getCode, getCodeAndName, getCodes, getDescription, getDescriptions, getName, getNames, getOrignalCodeStrings, getVersion, getVersions, hasCode, hasId, hasIdOrName, setDefaultAreaOfUse, setDefaultDescription, setDefaultId, setDefaultName, setDefaultVersion, 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,
                       CRSIdentifiable 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,
                       CRSIdentifiable 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,
                       CRSIdentifiable 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,
                       CRSIdentifiable 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 CRSIdentifiable

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-core-3.0-pre-nightly (2010/03/05 00:01) - official

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

]]>