Class NormalizedProjection.Inverse
java.lang.Object
org.apache.sis.io.wkt.FormattableObject
org.apache.sis.referencing.operation.transform.AbstractMathTransform
org.apache.sis.referencing.operation.transform.AbstractMathTransform.Inverse
org.apache.sis.referencing.operation.transform.AbstractMathTransform2D.Inverse
org.apache.sis.referencing.operation.projection.NormalizedProjection.Inverse
- All Implemented Interfaces:
Serializable
,Parameterized
,LenientComparable
,org.opengis.referencing.operation.MathTransform
,org.opengis.referencing.operation.MathTransform2D
- Enclosing class:
- NormalizedProjection
private static final class NormalizedProjection.Inverse
extends AbstractMathTransform2D.Inverse
implements Serializable
Reverse of a normalized map projection.
Note that a slightly modified copy of this class is in
LongitudeWraparound.Inverse
.
If this is class is modified, consider updating LongitudeWraparound.Inverse
accordingly.- Since:
- 0.6
- Version:
- 1.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform
AbstractMathTransform.Inverse
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final NormalizedProjection
The projection to reverse, which is the enclosing transform.private static final long
For cross-version compatibility. -
Constructor Summary
ConstructorsConstructorDescriptionInverse
(NormalizedProjection forward) Creates a reverse projection for the given forward projection. -
Method Summary
Modifier and TypeMethodDescriptionorg.opengis.referencing.operation.MathTransform2D
inverse()
Returns the inverse of this math transform, which is the forward projection.org.opengis.referencing.operation.Matrix
transform
(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) Reverse projects the specifiedsrcPts
and stores the result indstPts
.void
transform
(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) Inverse transforms an arbitrary number of coordinate tuples.protected org.opengis.referencing.operation.MathTransform
tryConcatenate
(boolean applyOtherFirst, org.opengis.referencing.operation.MathTransform other, org.opengis.referencing.operation.MathTransformFactory factory) Concatenates or pre-concatenates in an optimized way this projection with the given transform, if possible.Methods inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform2D.Inverse
createTransformedShape, derivative, transform
Methods inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform.Inverse
computeHashCode, derivative, equals, formatTo, getDomain, getSourceDimensions, getTargetDimensions, isIdentity
Methods inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform
equals, getContextualParameters, getParameterDescriptors, getParameterValues, hashCode, transform, transform, transform, transform
Methods inherited from class org.apache.sis.io.wkt.FormattableObject
print, toString, toString, toWKT
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opengis.referencing.operation.MathTransform
derivative, getSourceDimensions, getTargetDimensions, isIdentity, toWKT, transform, transform, transform, transform
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor cross-version compatibility.- See Also:
-
forward
The projection to reverse, which is the enclosing transform.
-
-
Constructor Details
-
Inverse
Inverse(NormalizedProjection forward) Creates a reverse projection for the given forward projection.
-
-
Method Details
-
inverse
public org.opengis.referencing.operation.MathTransform2D inverse()Returns the inverse of this math transform, which is the forward projection.- Specified by:
inverse
in interfaceorg.opengis.referencing.operation.MathTransform
- Specified by:
inverse
in interfaceorg.opengis.referencing.operation.MathTransform2D
- Specified by:
inverse
in classAbstractMathTransform2D.Inverse
- Returns:
- the inverse of this transform.
-
transform
public org.opengis.referencing.operation.Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws org.opengis.referencing.operation.TransformException Reverse projects the specifiedsrcPts
and stores the result indstPts
. If the derivative has been requested, then this method will delegate the derivative calculation to the enclosing class and inverts the resulting matrix.- Specified by:
transform
in classAbstractMathTransform
- Parameters:
srcPts
- the array containing the source coordinates (cannot benull
).srcOff
- the offset to the point to be transformed in the source array.dstPts
- the array into which the transformed coordinates is returned. May be the same thansrcPts
. May benull
if only the derivative matrix is desired.dstOff
- the offset to the location of the transformed point that is stored in the destination array.derivate
-true
for computing the derivative, orfalse
if not needed.- Returns:
- the matrix of the transform derivative at the given source position,
or
null
if thederivate
argument isfalse
. - Throws:
org.opengis.referencing.operation.TransformException
- if the point cannot be transformed or if a problem occurred while calculating the derivative.- See Also:
-
transform
public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws org.opengis.referencing.operation.TransformException Inverse transforms an arbitrary number of coordinate tuples. This method optimizes the case where conversions can be applied by a loop with indices in increasing order.- Specified by:
transform
in interfaceorg.opengis.referencing.operation.MathTransform
- Overrides:
transform
in classAbstractMathTransform
- Parameters:
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 thansrcPts
.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.- Throws:
org.opengis.referencing.operation.TransformException
- if a point cannot be transformed. Some implementations will stop at the first failure, wile some other implementations will fill the untransformable points with Double.NaN values, continue and throw the exception only at end. Implementations that fall in the latter case should set the last completed transform tothis
.
-
tryConcatenate
protected org.opengis.referencing.operation.MathTransform tryConcatenate(boolean applyOtherFirst, org.opengis.referencing.operation.MathTransform other, org.opengis.referencing.operation.MathTransformFactory factory) throws org.opengis.util.FactoryException Concatenates or pre-concatenates in an optimized way this projection with the given transform, if possible. If no optimization is available, returnsnull
.- Overrides:
tryConcatenate
in classAbstractMathTransform
- Parameters:
applyOtherFirst
-true
if the transformation order isother
followed bythis
, orfalse
if the transformation order isthis
followed byother
.other
- the other math transform to (pre-)concatenate with this transform.factory
- the factory which is (indirectly) invoking this method, ornull
if none.- Returns:
- the math transforms combined in an optimized way, or
null
if no such optimization is available. - Throws:
org.opengis.util.FactoryException
- if an error occurred while combining the transforms.- See Also:
-