Class PixelTranslation

Object
PixelTranslation
All Implemented Interfaces:
Serializable

public final class PixelTranslation extends Object implements Serializable
The translation to apply for different values of PixelOrientation.
Since:
2.5
Author:
Martin Desruisseaux (IRD)
See Also:
  • Field Details

    • orientation

      public final PixelOrientation orientation
      The pixel orientation for this translation.
    • dx

      public final double dx
      The translation among the x axis relative to pixel center. The value is typically in the [-0.5 .. +0.5] range.
    • dy

      public final double dy
      The translation among the y axis relative to pixel center. The value is typically in the [-0.5 .. +0.5] range.
  • Method Details

    • getPixelOrientation

      public static PixelOrientation getPixelOrientation(PixelInCell anchor) throws IllegalArgumentException
      Returns the pixel orientation for the given PixelInCell code.
      Parameters:
      anchor - The PixelInCell code, or null.
      Returns:
      The corresponding pixel orientation, or null if the argument was null.
      Throws:
      IllegalArgumentException - if the given code is unknown.
    • getPixelTranslation

      public static double getPixelTranslation(PixelInCell anchor)
      Returns the position relative to the pixel center. This method returns a value from the following table:

      Pixel in cell offset
      CELL_CENTER 0.0
      CELL_CORNER -0.5

      This method is typically used for n-dimensional grids, where the number of dimension is unknown.

      Parameters:
      anchor - The "pixel in cell" value.
      Returns:
      The translation for the given "pixel in cell" value.
    • getPixelTranslation

      public static PixelTranslation getPixelTranslation(PixelOrientation anchor) throws IllegalArgumentException
      Returns the specified position relative to the pixel center. This method returns a value from the following table:

      Pixel orientation x y
      CENTER 0.0 0.0
      UPPER_LEFT -0.5-0.5
      UPPER_RIGHT+0.5-0.5
      LOWER_LEFT -0.5+0.5
      LOWER_RIGHT+0.5+0.5

      This method can be used for grid restricted to 2 dimensions.

      Parameters:
      anchor - The pixel orientation.
      Returns:
      The position relative to the pixel center.
      Throws:
      IllegalArgumentException - if the specified orientation is unknown.
    • getPixelOrientation

      public static PixelOrientation getPixelOrientation(double dx, double dy)
      Returns the pixel orientation for the given offset, or null if none. This is the reverse of getPixelTranslation(PixelOrientation).
      Parameters:
      dx - The translation along x axis.
      dy - The translation along y axis.
      Returns:
      The pixel orientation of the given values, or null if none.
    • translate

      public static MathTransform translate(MathTransform gridToCRS, PixelInCell current, PixelInCell expected)
      Translates the specified math transform according the specified pixel orientations.
      Parameters:
      gridToCRS - A math transform from pixel coordinates to any CRS.
      current - The pixel orientation of the given gridToCRS transform.
      expected - The pixel orientation of the desired transform.
      Returns:
      The translation from current to expected.
    • translate

      public static MathTransform translate(MathTransform gridToCRS, PixelOrientation current, PixelOrientation expected, int xDimension, int yDimension)
      Translates the specified math transform according the specified pixel orientations.
      Parameters:
      gridToCRS - A math transform from pixel coordinates to any CRS.
      current - The pixel orientation of the given gridToCRS transform.
      expected - The pixel orientation of the desired transform.
      xDimension - The dimension of x coordinates (pixel columns). Often 0.
      yDimension - The dimension of y coordinates (pixel rows). Often 1.
      Returns:
      The translation from current to expected.
    • toString

      public String toString()
      Returns a string representation of this pixel translation.
      Overrides:
      toString in class Object