public class IterativeTransformation extends AbstractCoordinateOperation implements CoordinateOperation
CoordinateOperation until one or more coordinate(s)
converge to predifined values (saved in additional dimensions using
MemorizeCoordinate). This transformation should be used
when an iterative process is recommended (for instance when using a grid
using longitude and latitude calculated by a first approximate
transformation.precisionDEFAULT, LOCAL, UNKNOWN| Constructor and Description |
|---|
IterativeTransformation(CoordinateOperation op,
int[] realValueIndex,
int[] calculatedValueIndex,
double[] tol,
int maxIterations)
Build a new IterativeTransformation.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getPrecision()
Returns the precision of the transformation.
|
String |
toString()
Returns a String representation of this identifier.
|
double[] |
transform(double[] coord)
Return a double[] representing the same location as coord but in another
CoordinateReferenceSystem.
|
inverse, isIdentityaddAlias, addRemark, equals, getAliases, getAuthorityKey, getAuthorityName, getCode, getComponent, getIdentifier, getName, getRemarks, getShortName, hashCode, setIdentifier, setRemarks, setShortNameclone, finalize, getClass, notify, notifyAll, wait, wait, waitinverse, isIdentityaddAlias, addRemark, getAliases, getAuthorityKey, getAuthorityName, getCode, getName, getRemarks, getShortName, setRemarks, setShortNamepublic IterativeTransformation(CoordinateOperation op, int[] realValueIndex, int[] calculatedValueIndex, double[] tol, int maxIterations) throws Exception
op - the transformation to iteraterealValueIndex - a list of indexes referring to the reference values
the iteration should reachcalculatedValueIndex - the list of indexes referring to the calculated
values that must reach the reference values defined abovetol - the maximal difference accepted between the real value and the
target valueException - when the arrays in parameter does not have the same
lengthpublic double[] transform(double[] coord)
throws IllegalCoordinateException,
CoordinateOperationException
AbstractCoordinateOperationtransform in interface CoordinateOperationtransform in class AbstractCoordinateOperationcoord - the input coordinateIllegalCoordinateException - if coord is not
compatible with this CoordinateOperation.CoordinateOperationException - if this operation
failed during the transformation process.public double getPrecision()
AbstractCoordinateOperation Precision is a double
representing the mean error, in meters made on the position resulting
from this CoordinateOperation.
ex. : 0.001 means that the precision of the resulting position is about one millimeter
Default precision (or maximum precision) is considered to be equals to 1E-9 which is the value of an ulp (units in the last place) for a double value equals to 6378137.0 (Earth semi-major axis).
getPrecision in interface CoordinateOperationgetPrecision in class AbstractCoordinateOperationpublic String toString()
IdentifiableComponenttoString in class IdentifiableComponentCopyright © 2019 CNRS. All rights reserved.