|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@UML(identifier="CT_MathTransform", specification=OGC_01009) public interface MathTransform
Transforms multi-dimensional coordinate points. This interface transforms coordinate
value for a point given in the source
coordinate reference system to coordinate value for the same point in the
target coordinate reference system.
In a conversion, the transformation is accurate to within the
limitations of the computer making the calculations. In a transformation, where some of the operational parameters are derived from observations,
the transformation is accurate to within the limitations of those observations.
If a client application wishes to query the source and target
coordinate reference systems
of an operation, then it should keep hold of the CoordinateOperation
interface,
and use the contained math transform object whenever it wishes to perform a transform.
AffineTransform
,
PerspectiveTransform
,
Transform3D
,
MathTransformFactory
,
CoordinateOperation.getMathTransform()
Method Summary | |
---|---|
Matrix |
derivative(DirectPosition point)
Gets the derivative of this transform at a point. |
int |
getSourceDimensions()
Gets the dimension of input points. |
int |
getTargetDimensions()
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. |
String |
toWKT()
Returns a Well Known Text (WKT) for this object. |
DirectPosition |
transform(DirectPosition ptSrc,
DirectPosition 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 |
---|
@UML(identifier="getDimSource", specification=OGC_01009) int getSourceDimensions()
@UML(identifier="getDimTarget", specification=OGC_01009) int getTargetDimensions()
@UML(identifier="transform", specification=OGC_01009) DirectPosition transform(DirectPosition ptSrc, DirectPosition ptDst) throws MismatchedDimensionException, TransformException
ptSrc
and stores the result in
ptDst
. If ptDst
is null
, a new
DirectPosition
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.
MismatchedDimensionException
- if ptSrc
or
ptDst
doesn't have the expected dimension.
TransformException
- if the point can't be transformed.@UML(identifier="transformList", specification=OGC_01009) void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws TransformException
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
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.@UML(identifier="derivative", specification=OGC_01009) Matrix derivative(DirectPosition point) throws MismatchedDimensionException, 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.
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 ]
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
.
MismatchedDimensionException
- if point
doesn't have
the expected dimension.
TransformException
- if the derivative can't be evaluated at the
specified point.@UML(identifier="inverse", specification=OGC_01009) MathTransform inverse() throws NoninvertibleTransformException
NoninvertibleTransformException
- if the transform can't be inversed.@UML(identifier="isIdentity", specification=OGC_01009) boolean isIdentity()
true
if this MathTransform
is
an identity transform; false
otherwise.@UML(identifier="getWKT", specification=OGC_01009) String toWKT() throws UnsupportedOperationException
UnsupportedOperationException
- If this object can't be formatted as WKT.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |