|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.
Method Summary | |
---|---|
Matrix |
derivative(CoordinatePoint point)
Gets the derivative of this transform at a point. |
int |
getDimSource()
Gets the dimension of input points. |
int |
getDimTarget()
Gets the dimension of output points. |
MathTransform |
inverse()
Creates the inverse transform of this object. |
boolean |
isIdentity()
Tests whether this transform does not move any points. |
CoordinatePoint |
transform(CoordinatePoint ptSrc,
CoordinatePoint ptDst)
Transforms the specified ptSrc and stores the result in ptDst . |
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. |
Method Detail |
---|
int getDimSource()
int getDimTarget()
CoordinatePoint transform(CoordinatePoint ptSrc, CoordinatePoint ptDst) throws TransformException
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.
ptSrc
- the specified coordinate point to be transformed.ptDst
- the specified coordinate point that stores the result of transforming
ptSrc
, or null
.
ptSrc
and storing the result
in ptDst
, or a newly created point if ptDst
was null.
TransformException
- if the point can't be transformed.void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws TransformException
getDimSource()
.
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.
TransformException
- if a point can't be transformed.void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts) throws TransformException
getDimSource()
.
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.
TransformException
- if a point can't be transformed.Matrix derivative(CoordinatePoint point) throws TransformException
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. (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):
[ y<sub>0</sub> ] [ e<sub>00</sub> e<sub>01</sub> e<sub>02</sub> e<sub>03</sub> ] [ x<sub>0</sub> ] [ y<sub>1</sub> ] = [ e<sub>10</sub> e<sub>11</sub> e<sub>12</sub> e<sub>13</sub> ] [ x<sub>1</sub> ] [ y<sub>2</sub> ] [ e<sub>20</sub> e<sub>21</sub> e<sub>22</sub> e<sub>23</sub> ] [ x<sub>2</sub> ] <sub> </sub> <sub> </sub> <sub> </sub> <sub> </sub> <sub> </sub> [ x<sub>3</sub> ]
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.
null
). This method never
returns an internal object: changing the matrix will not change the state of this
math transform.
NullPointerException
- if the derivative dependents on coordinate and point
is
null
.
TransformException
- if the derivative can't be evaluated at the specified point.MathTransform inverse() throws NoninvertibleTransformException
NoninvertibleTransformException
- if the transform can't be inversed.boolean isIdentity()
true
if this MathTransform
is an identity transform;
false
otherwise.
|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://deegree.sourceforge.net