| org.geotools.referencing.operation.transform.AbstractMathTransform org.geotools.referencing.operation.builder.LocalizationGridTransform2D
LocalizationGridTransform2D | final class LocalizationGridTransform2D extends AbstractMathTransform implements MathTransform2D,Serializable(Code) | | Transform a set of coordinate points using a grid of localization.
Input coordinates are index in this two-dimensional array.
Those input coordinates (or index) should be in the range
xinput = [0..width-1] and
yinput = [0..height-1] inclusive,
where
width and
height are the number of columns and
rows in the grid of localization. Output coordinates are the values stored in
the grid of localization at the specified index. If input coordinates (index)
are non-integer values, then output coordinates are interpolated using a bilinear
interpolation. If input coordinates are outside the grid range, then output
coordinates are extrapolated.
since: 2.0 version: $Id: LocalizationGridTransform2D.java 29101 2008-02-06 12:11:19Z desruisseaux $ author: Remi Eve author: Martin DesruisseauxWarpTransform2Djavax.media.jai.WarpGridWarpTransform2D.getWarp |
Method Summary | |
public Matrix | derivative(Point2D point) Gets the derivative of this transform at a point. | public boolean | equals(Object object) Compare this transform with the specified object for equality. | public ParameterDescriptorGroup | getParameterDescriptors() Returns the parameter descriptors for this math transform. | public int | getSourceDimensions() Returns the dimension of input points. | public int | getTargetDimensions() Returns the dimension of output points. | public int | hashCode() Returns a hash value for this transform. | public MathTransform | inverse() Returns the inverse transform. | final void | inverseTransform(Point2D source, Point2D.Double target, AffineTransform tr) Apply the inverse transform to a set of points. | public boolean | isIdentity() Tests if this transform is the identity transform. | public void | transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts) Transforme des coordonnées sources (généralement des index de pixels) en coordonnées
destinations (généralement des degrés de longitude et latitude). | public void | transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Transforme des coordonnées sources (généralement des index de pixels) en coordonnées
destinations (généralement des degrés de longitude et latitude). |
LocalizationGridTransform2D | protected LocalizationGridTransform2D(int width, int height, double[] grid, AffineTransform global)(Code) | | Constructs a localization grid using the specified data.
Parameters: width - Number of grid's columns. Parameters: height - Number of grid's rows. Parameters: grid - The localization grid as an array of (x,y) coordinates.This array is not cloned; this is the caller's responsability to ensurethat it will not be modified as long as this transformation is stronglyreachable. Parameters: global - A global affine transform for the whole grid. |
derivative | public Matrix derivative(Point2D point)(Code) | | Gets the derivative of this transform at a point.
|
equals | public boolean equals(Object object)(Code) | | Compare this transform with the specified object for equality.
|
getParameterDescriptors | public ParameterDescriptorGroup getParameterDescriptors()(Code) | | Returns the parameter descriptors for this math transform.
|
getSourceDimensions | public int getSourceDimensions()(Code) | | Returns the dimension of input points.
|
getTargetDimensions | public int getTargetDimensions()(Code) | | Returns the dimension of output points.
|
hashCode | public int hashCode()(Code) | | Returns a hash value for this transform.
|
inverse | public MathTransform inverse()(Code) | | Returns the inverse transform.
|
inverseTransform | final void inverseTransform(Point2D source, Point2D.Double target, AffineTransform tr) throws TransformException(Code) | | Apply the inverse transform to a set of points. More specifically, this method transform
"real world" coordinates to grid coordinates. This method use an iterative algorithm for
that purpose. A
TransformException is thrown in the computation do not converge.
The algorithm applied by this method and its callers is:
- Transform the first point using a "global" affine transform (i.e. the affine
transformed computed using the "least squares" method in LocalizationGrid).
Other points will be transformed using the last successful affine transform,
since we assume that the points to transform are close to each other.
- Next, compute a local affine transform and use if for transforming the point
again. Recompute again the local affine transform and continue until the cell
(x0,y0) doesn't change.
Parameters: source - The "real world" coordinate to transform. Parameters: target - A pre-allocated destination point. This pointcan't be the same than source ! Parameters: tr - In input, the affine transform to use for the first step.In output, the last affine transform used for the transformation. |
isIdentity | public boolean isIdentity()(Code) | | Tests if this transform is the identity transform.
|
transform | public void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)(Code) | | Transforme des coordonnées sources (généralement des index de pixels) en coordonnées
destinations (généralement des degrés de longitude et latitude). Les transformations
feront intervenir des interpolations linéaires si les coordonnées sources ne sont pas
entières.
Parameters: srcPts - Points d'entrée. Parameters: srcOff - Index du premier point d'entrée à transformer. Parameters: dstPts - Points de sortie. Parameters: dstOff - Index du premier point de sortie. Parameters: numPts - Nombre de points à transformer. |
transform | public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)(Code) | | Transforme des coordonnées sources (généralement des index de pixels) en coordonnées
destinations (généralement des degrés de longitude et latitude). Les transformations
feront intervenir des interpolations linéaires si les coordonnées sources ne sont pas
entières.
Parameters: srcPts - Points d'entrée. Parameters: srcOff - Index du premier point d'entrée à transformer. Parameters: dstPts - Points de sortie. Parameters: dstOff - Index du premier point de sortie. Parameters: numPts - Nombre de points à transformer. |
Methods inherited from org.geotools.referencing.operation.transform.AbstractMathTransform | public Shape createTransformedShape(Shape shape) throws TransformException(Code)(Java Doc) public Matrix derivative(Point2D point) throws TransformException(Code)(Java Doc) public Matrix derivative(DirectPosition point) throws TransformException(Code)(Java Doc) protected static void ensureNonNull(String name, Object object) throws IllegalArgumentException(Code)(Java Doc) public boolean equals(Object object)(Code)(Java Doc) protected String formatWKT(Formatter formatter)(Code)(Java Doc) public ParameterDescriptorGroup getParameterDescriptors()(Code)(Java Doc) public ParameterValueGroup getParameterValues()(Code)(Java Doc) abstract public int getSourceDimensions()(Code)(Java Doc) abstract public int getTargetDimensions()(Code)(Java Doc) public int hashCode()(Code)(Java Doc) public MathTransform inverse() throws NoninvertibleTransformException(Code)(Java Doc) public boolean isIdentity()(Code)(Java Doc) protected static boolean needCopy(int srcOff, int dimSource, int dstOff, int dimTarget, int numPts)(Code)(Java Doc) protected static double rollLongitude(double x)(Code)(Java Doc) public Point2D transform(Point2D ptSrc, Point2D ptDst) throws TransformException(Code)(Java Doc) public DirectPosition transform(DirectPosition ptSrc, DirectPosition ptDst) throws TransformException(Code)(Java Doc) public void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts) throws TransformException(Code)(Java Doc)
|
|
|