Module org.apache.lucene.spatial3d
Package org.apache.lucene.spatial3d.geom
Class PlanetModel.DocValueEncoder
java.lang.Object
org.apache.lucene.spatial3d.geom.PlanetModel.DocValueEncoder
- Enclosing class:
PlanetModel
Utility class for encoding / decoding from lat/lon (decimal degrees) into sortable doc value
numerics (integers)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleprivate final doubleprivate final doubleprivate final doubleprivate final PlanetModelprivate static final doubleprivate final doubleprivate final doubleprivate final doubleprivate final doubleprivate final doubleprivate final double -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateDocValueEncoder(PlanetModel planetModel) construct an encoder/decoder instance from the provided PlanetModel definition -
Method Summary
Modifier and TypeMethodDescriptiondecodePoint(long docValue) Decode GeoPoint value from long docvalues value.private doubledecodeX(int x) doubledecodeXValue(long docValue) Decode X value from long docvalues value.private doubledecodeY(int y) doubledecodeYValue(long docValue) Decode Y value from long docvalues value.private doubledecodeZ(int z) doubledecodeZValue(long docValue) Decode Z value from long docvalues value.longencodePoint(double x, double y, double z) Encode a point.longencodePoint(GeoPoint point) Encode a point.private intencodeX(double x) private intencodeY(double y) private intencodeZ(double z) doubleroundDownX(double startValue) Round the provided X value down, by encoding it, decrementing it, and unencoding it.doubleroundDownY(double startValue) Round the provided Y value down, by encoding it, decrementing it, and unencoding it.doubleroundDownZ(double startValue) Round the provided Z value down, by encoding it, decrementing it, and unencoding it.doubleroundUpX(double startValue) Round the provided X value up, by encoding it, incrementing it, and unencoding it.doubleroundUpY(double startValue) Round the provided Y value up, by encoding it, incrementing it, and unencoding it.doubleroundUpZ(double startValue) Round the provided Z value up, by encoding it, incrementing it, and unencoding it.
-
Field Details
-
planetModel
-
inverseMaximumValue
private static final double inverseMaximumValue- See Also:
-
inverseXFactor
private final double inverseXFactor -
inverseYFactor
private final double inverseYFactor -
inverseZFactor
private final double inverseZFactor -
xFactor
private final double xFactor -
yFactor
private final double yFactor -
zFactor
private final double zFactor -
STEP_FUDGE
private static final double STEP_FUDGE- See Also:
-
xStep
private final double xStep -
yStep
private final double yStep -
zStep
private final double zStep
-
-
Constructor Details
-
DocValueEncoder
construct an encoder/decoder instance from the provided PlanetModel definition
-
-
Method Details
-
encodePoint
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 valuey- is the y valuez- is the z value- Returns:
- the encoded long
-
decodePoint
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.
-
encodeX
private int encodeX(double x) -
decodeX
private double decodeX(int x) -
encodeY
private int encodeY(double y) -
decodeY
private double decodeY(int y) -
encodeZ
private int encodeZ(double z) -
decodeZ
private double decodeZ(int z)
-