# All Classes

- All Classes Interface Summary Class Summary Exception Summary
  Class | Description
  --- | ---
  AbstractPrefixTreeQuery | Base class for Lucene Queries on SpatialPrefixTree fields.
  AbstractVisitingPrefixTreeQuery | Traverses a `SpatialPrefixTree` indexed field, using the template and visitor design patterns for subclasses to guide the traversal and collect matching documents.
  AbstractVisitingPrefixTreeQuery.VNode | A visitor node/cell found via the query shape for `AbstractVisitingPrefixTreeQuery.VisitorTemplate`.
  BBoxOverlapRatioValueSource | The algorithm is implemented as envelope on envelope (rect on rect) overlays rather than complex polygon on complex polygon overlays.
  BBoxSimilarityValueSource | A base class for calculating a spatial relevance rank per document from a provided `ShapeValuesSource` returning a `Rectangle` per-document.
  BBoxStrategy | A SpatialStrategy for indexing and searching Rectangles by storing its coordinates in numeric fields.
  BytesRefIteratorTokenStream | A TokenStream used internally by `PrefixTreeStrategy`.
  CachingDoubleValueSource | Caches the doubleVal of another value source in a HashMap so that it is computed only once.
  Cell | Represents a grid cell.
  CellCanPrune | Grid cells that share nothing with other cells when calling `Cell.getNextLevelCells(Shape)` might implement this interface.
  CellIterator | An Iterator of SpatialPrefixTree Cells.
  CellToBytesRefIterator | A reset'able `BytesRefIterator` wrapper around an `Iterator` of `Cell`s.
  CompositeSpatialStrategy | A composite `SpatialStrategy` based on `RecursivePrefixTreeStrategy` (RPT) and `SerializedDVStrategy` (SDV).
  CompositeVerifyQuery | A Query that considers an "indexQuery" to have approximate results, and a follow-on ShapeValuesSource is called to verify each hit from `TwoPhaseIterator.matches()`.
  ContainsPrefixTreeQuery | Finds docs where its indexed shape `CONTAINS` the query shape.
  DateRangePrefixTree | A PrefixTree for date ranges in which the levels of the tree occur at natural periods of time (e.g.
  DistanceToShapeValueSource | The distance from a provided Point to a Point retrieved from an ShapeValuesSource.
  DistanceValueSource | A DoubleValuesSource that returns the distance for a `PointVectorStrategy`.
  Geo3dBinaryCodec | Geo3d implementation of `BinaryCodec`
  Geo3dCircleShape | Specialization of a `Geo3dShape` which represents a `Circle`.
  Geo3dDistanceCalculator | Geo3d implementation of `DistanceCalculator`
  Geo3dPointShape | Specialization of a `Geo3dShape` which represents a `Point`.
  Geo3dRectangleShape | Specialization of a `Geo3dShape` which represents a `Rectangle`.
  Geo3dShape<T extends GeoAreaShape> | A Spatial4j Shape wrapping a `GeoAreaShape` ("Geo3D") -- a 3D planar geometry based Spatial4j Shape implementation.
  Geo3dShapeFactory | Geo3d implementation of `S2ShapeFactory`
  Geo3dSpatialContextFactory | Geo3d implementation of `SpatialContextFactory`
  GeohashPrefixTree | A `SpatialPrefixTree` based on Geohashes.
  GeohashPrefixTree.Factory | Factory for creating `GeohashPrefixTree` instances with useful defaults
  HeatmapFacetCounter | Computes spatial facets in two dimensions as a grid of numbers.
  HeatmapFacetCounter.Heatmap | Response structure
  IntersectsPrefixTreeQuery | A Query matching documents that have an `SpatialRelation.INTERSECTS` (i.e.
  IntersectsRPTVerifyQuery | A spatial Intersects predicate that distinguishes an approximated match from an exact match based on which cells are within the query shape.
  LegacyCell | The base for the original two SPT's: Geohash and Quad.
  NumberRangePrefixTree | A SpatialPrefixTree for single-dimensional numbers and number ranges of fixed precision values (not floating point).
  NumberRangePrefixTree.NRShape | Base interface for `Shape`s this prefix tree supports.
  NumberRangePrefixTree.UnitNRShape | A unit value Shape implemented as a stack of numbers, one for each level in the prefix tree.
  NumberRangePrefixTreeStrategy | A PrefixTree based on Number/Date ranges.
  NumberRangePrefixTreeStrategy.Facets | Facet response information
  NumberRangePrefixTreeStrategy.Facets.FacetParentVal | Holds a block of detailLevel counts aggregated to their parent level.
  PackedQuadPrefixTree | Uses a compact binary representation of 8 bytes to encode a spatial quad trie.
  PackedQuadPrefixTree.Factory | Factory for creating `PackedQuadPrefixTree` instances with useful defaults.
  PointPrefixTreeFieldCacheProvider | Implementation of `ShapeFieldCacheProvider` designed for `PrefixTreeStrategy`s that index points (AND ONLY POINTS!).
  PointVectorStrategy | Simple `SpatialStrategy` which represents Points in two numeric fields.
  PrefixTreeFacetCounter | Computes facets on cells for `PrefixTreeStrategy`.
  PrefixTreeFacetCounter.FacetVisitor | A callback/visitor of facet counts.
  PrefixTreeStrategy | An abstract SpatialStrategy based on `SpatialPrefixTree`.
  QuadPrefixTree | A `SpatialPrefixTree` which uses a quad tree in which an indexed term will be generated for each cell, 'A', 'B', 'C', 'D'.
  QuadPrefixTree.Factory | Factory for creating `QuadPrefixTree` instances with useful defaults
  ReciprocalDoubleValuesSource | Transforms a DoubleValuesSource using the formula v = k / (v + k)
  RecursivePrefixTreeStrategy | A `PrefixTreeStrategy` which uses `AbstractVisitingPrefixTreeQuery`.
  S2PrefixTree | Spatial prefix tree for S2 Geometry.
  S2PrefixTree.Factory | Factory for creating `S2PrefixTree` instances with useful defaults
  S2ShapeFactory | Shape factory for Spatial contexts that support S2 geometry.
  SerializedDVStrategy | A SpatialStrategy based on serializing a Shape stored into BinaryDocValues.
  ShapeAreaValueSource | The area of a Shape retrieved from an ShapeValuesSource
  ShapeFieldCache<T extends org.locationtech.spatial4j.shape.Shape> | Bounded Cache of Shapes associated with docIds.
  ShapeFieldCacheDistanceValueSource | A DoubleValuesSource that returns the spatial distance between an input point and a document's points in `ShapeFieldCacheProvider`.
  ShapeFieldCacheProvider<T extends org.locationtech.spatial4j.shape.Shape> | Provides access to a `ShapeFieldCache` for a given `LeafReader`.
  ShapeValues | Iterator over `Shape` objects for an index segment
  ShapeValuesPredicate | Compares a shape from a provided `ShapeValuesSource` with a given Shape and sees if it matches a given `SpatialOperation` (the predicate).
  ShapeValuesSource | Produces `ShapeValues` per-segment
  SpatialArgs | Principally holds the query `Shape` and the `SpatialOperation`.
  SpatialArgsParser | Parses a string that usually looks like "OPERATION(SHAPE)" into a `SpatialArgs` object.
  SpatialOperation | A predicate that compares a stored geometry to a supplied geometry.
  SpatialPrefixTree | A spatial Prefix Tree, or Trie, which decomposes shapes into prefixed strings at variable lengths corresponding to variable precision.
  SpatialPrefixTreeFactory | Abstract Factory for creating `SpatialPrefixTree` instances with useful defaults and passed on configurations defined in a Map.
  SpatialStrategy | The SpatialStrategy encapsulates an approach to indexing and searching based on shapes.
  TermQueryPrefixTreeStrategy | A basic implementation of `PrefixTreeStrategy` using a large `TermInSetQuery` of all the cells from `SpatialPrefixTree.getTreeCellIterator(org.locationtech.spatial4j.shape.Shape, int)`.
  UnsupportedSpatialOperation | Exception thrown when the `SpatialStrategy` cannot implement the requested operation.
  WithinPrefixTreeQuery | Finds docs where its indexed shape is `WITHIN` the query shape.