Package org.apache.lucene.document

## Class LatLonShapeDocValues

- java.lang.Object
- - org.apache.lucene.document.LatLonShapeDocValues

-     public final class LatLonShapeDocValues
      extends Object

  A concrete implementation of `ShapeDocValues` for storing binary doc value representation of `LatLonShape` geometries in a `LatLonShapeDocValuesField`

  Note: This class cannot be instantiated directly. See `LatLonShape` for factory API based on different geometries.

  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Geometry` | `boundingBox` | the bounding box of the shape docvalue
    `protected Geometry` | `centroid` | the centroid of the shape docvalue
    `protected org.apache.lucene.document.ShapeDocValues.ShapeComparator` | `shapeComparator` | the geometry comparator used to check relations
    `protected static byte` | `VERSION` | doc value format version; used to support bwc for any encoding changes

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `LatLonShapeDocValues​(List<ShapeField.DecodedTriangle> tessellation)` | protected ctor for instantiating a lat lon doc value based on a tessellation
    `protected` | `LatLonShapeDocValues​(BytesRef binaryValue)` | protected ctor for instantiating a lat lon doc value based on an already retrieved binary format

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected BytesRef` | `binaryValue()` | returns the encoded doc values field as a `BytesRef`
    `protected Rectangle` | `computeBoundingBox()` |
    `protected Point` | `computeCentroid()` |
    `Rectangle` | `getBoundingBox()` |
    `Point` | `getCentroid()` |
    `protected int` | `getEncodedCentroidX()` | Retrieves the encoded x centroid location for the geometry(s)
    `protected int` | `getEncodedCentroidY()` | Retrieves the encoded y centroid location for the geometry(s)
    `int` | `getEncodedMaxX()` | returns the max x value for the shape's bounding box
    `int` | `getEncodedMaxY()` | returns the max y value for the shape's bounding box
    `int` | `getEncodedMinX()` | returns the min x value for the shape's bounding box
    `int` | `getEncodedMinY()` | returns the min y value for the shape's bounding box
    `protected org.apache.lucene.document.ShapeDocValues.Encoder` | `getEncoder()` |
    `ShapeField.DecodedTriangle.TYPE` | `getHighestDimension()` | Retrieves the highest dimensional type (POINT, LINE, TRIANGLE) for computing the geometry(s) centroid
    `static Query` | `newGeometryQuery​(String field, ShapeField.QueryRelation relation, Object... geometries)` | Creates a geometry query for shape docvalues
    `int` | `numberOfTerms()` | Returns the number of terms (tessellated triangles) for this shape
    `PointValues.Relation` | `relate​(Component2D component)` |
    `protected static int` | `vIntSize​(int i)` | Computes the variable Integer size in bytes
    `protected static int` | `vLongSize​(long i)` | Computes the variable Long size in bytes

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

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

- - ### Field Detail

    - #### VERSION

          protected static final byte VERSION

      doc value format version; used to support bwc for any encoding changes
      See Also:
        Constant Field Values

    - #### shapeComparator

          protected final org.apache.lucene.document.ShapeDocValues.ShapeComparator shapeComparator

      the geometry comparator used to check relations

    - #### centroid

          protected final Geometry centroid

      the centroid of the shape docvalue

    - #### boundingBox

          protected final Geometry boundingBox

      the bounding box of the shape docvalue

  - ### Constructor Detail

    - #### LatLonShapeDocValues

          protected LatLonShapeDocValues​(List<ShapeField.DecodedTriangle> tessellation)

      protected ctor for instantiating a lat lon doc value based on a tessellation

    - #### LatLonShapeDocValues

          protected LatLonShapeDocValues​(BytesRef binaryValue)

      protected ctor for instantiating a lat lon doc value based on an already retrieved binary format

  - ### Method Detail

    - #### getCentroid

          public Point getCentroid()

    - #### getBoundingBox

          public Rectangle getBoundingBox()

    - #### computeCentroid

          protected Point computeCentroid()

    - #### computeBoundingBox

          protected Rectangle computeBoundingBox()

    - #### getEncoder

          protected org.apache.lucene.document.ShapeDocValues.Encoder getEncoder()

    - #### binaryValue

          protected BytesRef binaryValue()

      returns the encoded doc values field as a `BytesRef`

    - #### numberOfTerms

          public int numberOfTerms()

      Returns the number of terms (tessellated triangles) for this shape

    - #### getEncodedMinX

          public int getEncodedMinX()

      returns the min x value for the shape's bounding box

    - #### getEncodedMinY

          public int getEncodedMinY()

      returns the min y value for the shape's bounding box

    - #### getEncodedMaxX

          public int getEncodedMaxX()

      returns the max x value for the shape's bounding box

    - #### getEncodedMaxY

          public int getEncodedMaxY()

      returns the max y value for the shape's bounding box

    - #### getEncodedCentroidX

          protected int getEncodedCentroidX()

      Retrieves the encoded x centroid location for the geometry(s)

    - #### getEncodedCentroidY

          protected int getEncodedCentroidY()

      Retrieves the encoded y centroid location for the geometry(s)

    - #### getHighestDimension

          public ShapeField.DecodedTriangle.TYPE getHighestDimension()

      Retrieves the highest dimensional type (POINT, LINE, TRIANGLE) for computing the geometry(s) centroid

    - #### newGeometryQuery

          public static Query newGeometryQuery​(String field,
                                               ShapeField.QueryRelation relation,
                                               Object... geometries)

      Creates a geometry query for shape docvalues

    - #### relate

          public PointValues.Relation relate​(Component2D component)
                                      throws IOException

      Throws:
        `IOException`

    - #### vLongSize

          protected static int vLongSize​(long i)

      Computes the variable Long size in bytes

    - #### vIntSize

          protected static int vIntSize​(int i)

      Computes the variable Integer size in bytes