Class 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:
    Serialized Form
    • Field Detail

      • 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 Detail

      • 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