Class AbstractMathTransform.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
- All Implemented Interfaces:
Parameterized,LenientComparable,org.opengis.referencing.operation.MathTransform
- Direct Known Subclasses:
AbstractMathTransform1D.Inverse,AbstractMathTransform2D.Inverse,EllipsoidToCentricTransform.Inverse,InterpolatedTransform.Inverse,SpecializableTransform.Inverse
- Enclosing class:
- AbstractMathTransform
Base class for implementations of inverse math transforms.
Subclasses need to implement the
inverse() method.
Serialization
This object may or may not be serializable, at implementation choices. Most Apache SIS implementations are serializable, but the serialized objects are not guaranteed to be compatible with future SIS versions. Serialization should be used only for short term storage or RMI between applications running the same SIS version.- Since:
- 0.5
- Version:
- 1.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform
AbstractMathTransform.Inverse -
Field Summary
Fields inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform
MAXIMUM_BUFFER_SIZE, MAXIMUM_FAILURES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) intbeforeFormat(List<Object> transforms, int index, boolean inverse) Same work thanAbstractMathTransform.beforeFormat(List, int, boolean)but with the knowledge that this transform is an inverse transform.protected intComputes a hash value for this transform.org.opengis.referencing.operation.Matrixderivative(org.opengis.geometry.DirectPosition point) Gets the derivative of this transform at a point.booleanequals(Object object, ComparisonMode mode) Compares the specified object with this inverse math transform for equality.protected StringFormats the inner part of a Well Known Text version 1 (WKT 1) element.Optional<org.opengis.geometry.Envelope>getDomain(DomainDefinition criteria) Returns the ranges of coordinate values which can be used as inputs.intGets the dimension of input points.intGets the dimension of output points.abstract org.opengis.referencing.operation.MathTransforminverse()Returns the inverse of this math transform.booleanTests whether this transform does not move any points.Methods inherited from class org.apache.sis.referencing.operation.transform.AbstractMathTransform
equals, getContextualParameters, getParameterDescriptors, getParameterValues, hashCode, isInverseEquals, mismatchedDimension, transform, transform, transform, transform, transform, transform, tryConcatenateMethods inherited from class org.apache.sis.io.wkt.FormattableObject
print, toString, toString, toWKTMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opengis.referencing.operation.MathTransform
toWKT
-
Constructor Details
-
Inverse
protected Inverse()Constructs an inverse math transform.
-
-
Method Details
-
getSourceDimensions
public int getSourceDimensions()Gets the dimension of input points. The default implementation returns the dimension of output points of the inverse math transform.- Specified by:
getSourceDimensionsin interfaceorg.opengis.referencing.operation.MathTransform- Specified by:
getSourceDimensionsin classAbstractMathTransform- Returns:
- the number of dimensions of input points.
- See Also:
-
getTargetDimensions
public int getTargetDimensions()Gets the dimension of output points. The default implementation returns the dimension of input points of the inverse math transform.- Specified by:
getTargetDimensionsin interfaceorg.opengis.referencing.operation.MathTransform- Specified by:
getTargetDimensionsin classAbstractMathTransform- Returns:
- the number of dimensions of output points.
- See Also:
-
getDomain
public Optional<org.opengis.geometry.Envelope> getDomain(DomainDefinition criteria) throws org.opengis.referencing.operation.TransformException Returns the ranges of coordinate values which can be used as inputs. The default implementation invokesinverse().getDomain(criteria)and transforms the returned envelope.- Overrides:
getDomainin classAbstractMathTransform- Parameters:
criteria- controls the definition of transform domain.- Returns:
- estimation of a domain where this transform is considered numerically applicable.
- Throws:
org.opengis.referencing.operation.TransformException- if the domain cannot be estimated.- Since:
- 1.3
- See Also:
-
MathTransforms.getDomain(MathTransform)CoordinateOperation.getDomainOfValidity()
-
derivative
public org.opengis.referencing.operation.Matrix derivative(org.opengis.geometry.DirectPosition point) throws org.opengis.referencing.operation.TransformException Gets the derivative of this transform at a point. The default implementation computes the inverse of the matrix returned by the inverse math transform.- Specified by:
derivativein interfaceorg.opengis.referencing.operation.MathTransform- Overrides:
derivativein classAbstractMathTransform- Parameters:
point- the coordinate tuple where to evaluate the derivative.- Returns:
- the derivative at the specified point (never
null). - Throws:
NullPointerException- if the derivative depends on coordinates andpointisnull.org.opengis.geometry.MismatchedDimensionException- ifpointdoes not have the expected dimension.org.opengis.referencing.operation.TransformException- if the derivative cannot be evaluated at the specified point.
-
inverse
public abstract org.opengis.referencing.operation.MathTransform inverse()Returns the inverse of this math transform. The returned transform should be the enclosing math transform.- Specified by:
inversein interfaceorg.opengis.referencing.operation.MathTransform- Overrides:
inversein classAbstractMathTransform- Returns:
- the inverse of this transform.
-
isIdentity
public boolean isIdentity()Tests whether this transform does not move any points. The default implementation delegates this tests to the inverse math transform.- Specified by:
isIdentityin interfaceorg.opengis.referencing.operation.MathTransform- Overrides:
isIdentityin classAbstractMathTransform- Returns:
-
computeHashCode
protected int computeHashCode()Computes a hash value for this transform. This method is invoked byAbstractMathTransform.hashCode()when first needed.- Overrides:
computeHashCodein classAbstractMathTransform- Returns:
- the hash code value. This value may change between different execution of the Apache SIS library.
-
equals
Compares the specified object with this inverse math transform for equality. The default implementation tests ifobjectin an instance of the same class thanthis, and if so compares their inverseMathTransform.- Specified by:
equalsin interfaceLenientComparable- Overrides:
equalsin classAbstractMathTransform- Parameters:
object- the object to compare with this transform.mode- the strictness level of the comparison. Default toSTRICT.- Returns:
trueif the given object is considered equals to this math transform.- See Also:
-
beforeFormat
Same work thanAbstractMathTransform.beforeFormat(List, int, boolean)but with the knowledge that this transform is an inverse transform.- Overrides:
beforeFormatin classAbstractMathTransform- Parameters:
transforms- the full chain of concatenated transforms.index- the index of this transform in thetransformschain.inverse- alwaysfalse, except if we are formatting the inverse transform.- Returns:
- index of this transform in the
transformschain after processing. - See Also:
-
formatTo
Formats the inner part of a Well Known Text version 1 (WKT 1) element. If this inverse math transform has any parameter values, then this method formats the WKT as in the super-class method. Otherwise this method formats the math transform as an"Inverse_MT"entity.Compatibility note:Param_MTandInverse_MTare defined in the WKT 1 specification only.- Overrides:
formatToin classAbstractMathTransform- Parameters:
formatter- the formatter to use.- Returns:
- the WKT element name, which is
"Param_MT"or"Inverse_MT"in the default implementation. - See Also:
-