Class 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

protected abstract static class AbstractMathTransform.Inverse extends 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
  • 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:
      getSourceDimensions in interface org.opengis.referencing.operation.MathTransform
      Specified by:
      getSourceDimensions in class AbstractMathTransform
      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:
      getTargetDimensions in interface org.opengis.referencing.operation.MathTransform
      Specified by:
      getTargetDimensions in class AbstractMathTransform
      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 invokes inverse().getDomain(criteria) and transforms the returned envelope.
      Overrides:
      getDomain in class AbstractMathTransform
      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:
    • 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:
      derivative in interface org.opengis.referencing.operation.MathTransform
      Overrides:
      derivative in class AbstractMathTransform
      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 and point is null.
      org.opengis.geometry.MismatchedDimensionException - if point does 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:
      inverse in interface org.opengis.referencing.operation.MathTransform
      Overrides:
      inverse in class AbstractMathTransform
      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:
      isIdentity in interface org.opengis.referencing.operation.MathTransform
      Overrides:
      isIdentity in class AbstractMathTransform
      Returns:
    • computeHashCode

      protected int computeHashCode()
      Computes a hash value for this transform. This method is invoked by AbstractMathTransform.hashCode() when first needed.
      Overrides:
      computeHashCode in class AbstractMathTransform
      Returns:
      the hash code value. This value may change between different execution of the Apache SIS library.
    • equals

      public boolean equals(Object object, ComparisonMode mode)
      Compares the specified object with this inverse math transform for equality. The default implementation tests if object in an instance of the same class than this, and if so compares their inverse MathTransform.
      Specified by:
      equals in interface LenientComparable
      Overrides:
      equals in class AbstractMathTransform
      Parameters:
      object - the object to compare with this transform.
      mode - the strictness level of the comparison. Default to STRICT.
      Returns:
      true if the given object is considered equals to this math transform.
      See Also:
    • beforeFormat

      int beforeFormat(List<Object> transforms, int index, boolean inverse)
      Same work than AbstractMathTransform.beforeFormat(List, int, boolean) but with the knowledge that this transform is an inverse transform.
      Overrides:
      beforeFormat in class AbstractMathTransform
      Parameters:
      transforms - the full chain of concatenated transforms.
      index - the index of this transform in the transforms chain.
      inverse - always false, except if we are formatting the inverse transform.
      Returns:
      index of this transform in the transforms chain after processing.
      See Also:
    • formatTo

      protected String formatTo(Formatter formatter)
      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_MT and Inverse_MT are defined in the WKT 1 specification only.
      Overrides:
      formatTo in class AbstractMathTransform
      Parameters:
      formatter - the formatter to use.
      Returns:
      the WKT element name, which is "Param_MT" or "Inverse_MT" in the default implementation.
      See Also: