Package org.apache.lucene.spatial3d.geom

## Class PlanetModel.DocValueEncoder

- java.lang.Object
- - org.apache.lucene.spatial3d.geom.PlanetModel.DocValueEncoder

- Enclosing class:
    PlanetModel

      public static class PlanetModel.DocValueEncoder
      extends Object

  Utility class for encoding / decoding from lat/lon (decimal degrees) into sortable doc value numerics (integers)

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `GeoPoint` | `decodePoint​(long docValue)` | Decode GeoPoint value from long docvalues value.
    `double` | `decodeXValue​(long docValue)` | Decode X value from long docvalues value.
    `double` | `decodeYValue​(long docValue)` | Decode Y value from long docvalues value.
    `double` | `decodeZValue​(long docValue)` | Decode Z value from long docvalues value.
    `long` | `encodePoint​(double x, double y, double z)` | Encode a point.
    `long` | `encodePoint​(GeoPoint point)` | Encode a point.
    `double` | `roundDownX​(double startValue)` | Round the provided X value down, by encoding it, decrementing it, and unencoding it.
    `double` | `roundDownY​(double startValue)` | Round the provided Y value down, by encoding it, decrementing it, and unencoding it.
    `double` | `roundDownZ​(double startValue)` | Round the provided Z value down, by encoding it, decrementing it, and unencoding it.
    `double` | `roundUpX​(double startValue)` | Round the provided X value up, by encoding it, incrementing it, and unencoding it.
    `double` | `roundUpY​(double startValue)` | Round the provided Y value up, by encoding it, incrementing it, and unencoding it.
    `double` | `roundUpZ​(double startValue)` | Round the provided Z value up, by encoding it, incrementing it, and unencoding it.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### encodePoint

          public long encodePoint​(GeoPoint point)

      Encode a point.
      Parameters:
        `point` - is the point
      Returns:
        the encoded long

    - #### encodePoint

          public long encodePoint​(double x,
                                  double y,
                                  double z)

      Encode a point.
      Parameters:
        `x` - is the x value
        `y` - is the y value
        `z` - is the z value
      Returns:
        the encoded long

    - #### decodePoint

          public GeoPoint decodePoint​(long docValue)

      Decode GeoPoint value from long docvalues value.
      Parameters:
        `docValue` - is the doc values value.
      Returns:
        the GeoPoint.

    - #### decodeXValue

          public double decodeXValue​(long docValue)

      Decode X value from long docvalues value.
      Parameters:
        `docValue` - is the doc values value.
      Returns:
        the x value.

    - #### decodeYValue

          public double decodeYValue​(long docValue)

      Decode Y value from long docvalues value.
      Parameters:
        `docValue` - is the doc values value.
      Returns:
        the y value.

    - #### decodeZValue

          public double decodeZValue​(long docValue)

      Decode Z value from long docvalues value.
      Parameters:
        `docValue` - is the doc values value.
      Returns:
        the z value.

    - #### roundDownX

          public double roundDownX​(double startValue)

      Round the provided X value down, by encoding it, decrementing it, and unencoding it.
      Parameters:
        `startValue` - is the starting value.
      Returns:
        the rounded value.

    - #### roundUpX

          public double roundUpX​(double startValue)

      Round the provided X value up, by encoding it, incrementing it, and unencoding it.
      Parameters:
        `startValue` - is the starting value.
      Returns:
        the rounded value.

    - #### roundDownY

          public double roundDownY​(double startValue)

      Round the provided Y value down, by encoding it, decrementing it, and unencoding it.
      Parameters:
        `startValue` - is the starting value.
      Returns:
        the rounded value.

    - #### roundUpY

          public double roundUpY​(double startValue)

      Round the provided Y value up, by encoding it, incrementing it, and unencoding it.
      Parameters:
        `startValue` - is the starting value.
      Returns:
        the rounded value.

    - #### roundDownZ

          public double roundDownZ​(double startValue)

      Round the provided Z value down, by encoding it, decrementing it, and unencoding it.
      Parameters:
        `startValue` - is the starting value.
      Returns:
        the rounded value.

    - #### roundUpZ

          public double roundUpZ​(double startValue)

      Round the provided Z value up, by encoding it, incrementing it, and unencoding it.
      Parameters:
        `startValue` - is the starting value.
      Returns:
        the rounded value.