| java.lang.Object org.geotools.referencing.operation.builder.MathTransformBuilder org.geotools.referencing.operation.builder.BursaWolfTransformBuilder
BursaWolfTransformBuilder | public class BursaWolfTransformBuilder extends MathTransformBuilder (Code) | | Builds
setup as BursaWolf transformation from a list of
.
The calculation uses least square method. Calculated parameters can be
used for following operations:
The equations: X = q * R * x + T , Where X
is the Matrix of destination points, q is the scale, R is the rotation
Matrix, x is the Matrix of source points and T is matrix of translation.
Expressing the errors, we get this: Err = A * Dx + l where
Err is the Error Matrix, A is Matrix of derivations, Dx is Matrix of
difference changes of 7 parameters, and l is value of DX, DY, DZ for
calculated from approximate values. Using the least square method to
minimalize the errors we get this result:
Dx = (ATA)-1 ATl
since: 2.4 version: $Id: BursaWolfTransformBuilder.java 24925 2007-03-27 20:12:08Z jgarnett $ author: Jan Jezek |
Method Summary | |
protected MathTransform | computeMathTransform() Returns MathtTransform setup as BursaWolf transformation. | protected GeneralMatrix | getA() Glues the submatrix of derivations into the A matrix. | public BursaWolfParameters | getBursaWolfParameters(GeodeticDatum Datum) Returns Bursa Wolf Transformation parameters.
Parameters: Datum - The target datum for this parameters. | public Class | getCoordinateSystemType() Returns the required coordinate system type, which is
. | protected GeneralMatrix | getDRalfa() Generates partial derivative with respect to alfa. | protected GeneralMatrix | getDRbeta() Generates partial derivative with respect to beta. | protected GeneralMatrix | getDRgamma() Generates partial derivative with respect to gamma. | public int | getDimension() Returns the dimension for
BursaWolfTransformBuilder.getSourceCRS source and
BursaWolfTransformBuilder.getTargetCRS target CRS, which is 2. | protected GeneralMatrix | getDq() Generates partial derivative in q (scale factor). | public GeneralMatrix | getDxMatrix() Method that claculates the parameters by iteration. | public int | getMinimumPointCount() Returns the minimum number of points required by this builder,
which is 3. | protected double[] | getParameters() Returns array of doubles of transformation parameters (dx, dy,
dz, ex, ey, ez, scale). | protected GeneralMatrix | getRalfa() Generates rotation matrix around X axis. | protected GeneralMatrix | getRbeta() Generates rotation matrix around Y axis. | protected GeneralMatrix | getRgamma() Generates rotation matrix around Z axis. | protected GeneralMatrix | getX() Fills the x matrix by coordinates of destination points. | protected GeneralMatrix | getl() Calculates the matrix of errors from aproximate values of
prameters. | protected GeneralMatrix | getx() Fills the x matrix by coordinates of source points. | public void | setTargetGeodeticDatum(GeodeticDatum gd) | protected GeneralMatrix | specialMul(GeneralMatrix R, GeneralMatrix x) |
BursaWolfTransformBuilder | public BursaWolfTransformBuilder(List vectors) throws MismatchedSizeException, MismatchedDimensionException, MismatchedReferenceSystemException(Code) | | Creates a BursaWolfTransformBuilder.
Parameters: vectors - list of |
computeMathTransform | protected MathTransform computeMathTransform() throws FactoryException(Code) | | Returns MathtTransform setup as BursaWolf transformation.
calculated MathTransform throws: FactoryException - when the size of source and destination pointis not the same or if the number of points is too small todefine such transformation. |
getA | protected GeneralMatrix getA()(Code) | | Glues the submatrix of derivations into the A matrix.
A mtarix |
getBursaWolfParameters | public BursaWolfParameters getBursaWolfParameters(GeodeticDatum Datum)(Code) | | Returns Bursa Wolf Transformation parameters.
Parameters: Datum - The target datum for this parameters. parameters the BursaWolfParameters |
getCoordinateSystemType | public Class getCoordinateSystemType()(Code) | | Returns the required coordinate system type, which is
.
coordinate system type |
getDRalfa | protected GeneralMatrix getDRalfa()(Code) | | Generates partial derivative with respect to alfa.
Matrix, that represents partial derivation of rotation Matrixwith respect to alfa. |
getDRbeta | protected GeneralMatrix getDRbeta()(Code) | | Generates partial derivative with respect to beta.
Matrix, that represents partial derivation of rotation Matrixwith respect to beta. |
getDRgamma | protected GeneralMatrix getDRgamma()(Code) | | Generates partial derivative with respect to gamma.
Matrix, that represents partial derivation of rotation Matrixwith respect to gamma. |
getDq | protected GeneralMatrix getDq()(Code) | | Generates partial derivative in q (scale factor).
rotation Matrix. |
getDxMatrix | public GeneralMatrix getDxMatrix()(Code) | | Method that claculates the parameters by iteration. The
tolarance is set to 1 10-8 and max �number of steps is set
to 20.
Matrix of parameters (dx, dy, dz, ex, ey, ez, scale). |
getMinimumPointCount | public int getMinimumPointCount()(Code) | | Returns the minimum number of points required by this builder,
which is 3.
the minimum number of points required by this builder which is3. |
getParameters | protected double[] getParameters()(Code) | | Returns array of doubles of transformation parameters (dx, dy,
dz, ex, ey, ez, scale).
array of doubles of transformation parameters (dx, dy, dz, ex,ey, ez, scale). |
getRalfa | protected GeneralMatrix getRalfa()(Code) | | Generates rotation matrix around X axis.
rotation Matrix |
getRbeta | protected GeneralMatrix getRbeta()(Code) | | Generates rotation matrix around Y axis.
rotation Matrix. |
getRgamma | protected GeneralMatrix getRgamma()(Code) | | Generates rotation matrix around Z axis.
rotation Matrix. |
getX | protected GeneralMatrix getX()(Code) | | Fills the x matrix by coordinates of destination points.
the X matrix |
getl | protected GeneralMatrix getl()(Code) | | Calculates the matrix of errors from aproximate values of
prameters.
the l matrix. |
getx | protected GeneralMatrix getx()(Code) | | Fills the x matrix by coordinates of source points.
x matrix. |
setTargetGeodeticDatum | public void setTargetGeodeticDatum(GeodeticDatum gd)(Code) | | |
Fields inherited from org.geotools.referencing.operation.builder.MathTransformBuilder | final protected MathTransformFactory mtFactory(Code)(Java Doc)
|
|
|