Class XYEncodingUtils

java.lang.Object
org.apache.lucene.geo.XYEncodingUtils

public final class XYEncodingUtils extends Object
reusable cartesian geometry encoding methods
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  • Field Details

  • Method Details

    • encode

      public static int encode(float x)
      Quantizes double (64 bit) values into 32 bits
      Parameters:
      x - cartesian value
      Returns:
      encoded value as a 32-bit int
      Throws:
      IllegalArgumentException - if value is out of bounds
    • decode

      public static float decode(int encoded)
      Turns quantized value from encode(float) back into a double.
      Parameters:
      encoded - encoded value: 32-bit quantized value.
      Returns:
      decoded value value.
    • decode

      public static float decode(byte[] src, int offset)
      Turns quantized value from byte array back into a double.
      Parameters:
      src - byte array containing 4 bytes to decode at offset
      offset - offset into src to decode from.
      Returns:
      decoded value.
    • floatArrayToDoubleArray

      public static double[] floatArrayToDoubleArray(float[] f)
      Convert an array of float numbers to double numbers.
      Parameters:
      f - The input floats
      Returns:
      Corresponding double array.