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
`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.