org.apache.lucene.spatial.prefix.tree

## Class QuadPrefixTree

- java.lang.Object
- - org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree
  - - org.apache.lucene.spatial.prefix.tree.QuadPrefixTree

    public class QuadPrefixTree
    extends SpatialPrefixTree

A `SpatialPrefixTree` which uses a quad tree in which an indexed term will be generated for each node, 'A', 'B', 'C', 'D'.

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

### Nested Class Summary

Nested Classes
`static class` `QuadPrefixTree.Factory` Factory for creating `QuadPrefixTree` instances with useful defaults

### Field Summary

Fields
`static int` `DEFAULT_MAX_LEVELS`
`double` `gridH`
`static int` `MAX_LEVELS_POSSIBLE`

### Fields inherited from class org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree

`ctx, maxLevels, UTF8`

### Constructor Summary

Constructors
Constructor and Description
`QuadPrefixTree(com.spatial4j.core.context.SpatialContext ctx)`
`QuadPrefixTree(com.spatial4j.core.context.SpatialContext ctx, int maxLevels)`
`QuadPrefixTree(com.spatial4j.core.context.SpatialContext ctx, com.spatial4j.core.shape.Rectangle bounds, int maxLevels)`

### Method Summary

Methods
`int` `getLevelForDistance(double dist)` Returns the level of the largest grid in which its longest side is less than or equal to the provided distance (in degrees).
`Node` `getNode(byte[] bytes, int offset, int len)`
`Node` `getNode(com.spatial4j.core.shape.Point p, int level)`
`Node` `getNode(String token)` The cell for the specified token.
`void` `printInfo(PrintStream out)`

### Methods inherited from class org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree

`getMaxLevels, getNode, getNodes, getNodes, getSpatialContext, getWorldNode, nodesToTokenStrings, toString`

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

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

### Field Detail

#### MAX_LEVELS_POSSIBLE

    public static final int MAX_LEVELS_POSSIBLE

See Also:
  Constant Field Values

#### DEFAULT_MAX_LEVELS

    public static final int DEFAULT_MAX_LEVELS

See Also:
  Constant Field Values

#### gridH

    public final double gridH

### Constructor Detail

#### QuadPrefixTree

    public QuadPrefixTree(com.spatial4j.core.context.SpatialContext ctx,
                  com.spatial4j.core.shape.Rectangle bounds,
                  int maxLevels)

#### QuadPrefixTree

    public QuadPrefixTree(com.spatial4j.core.context.SpatialContext ctx)

#### QuadPrefixTree

    public QuadPrefixTree(com.spatial4j.core.context.SpatialContext ctx,
                  int maxLevels)

### Method Detail

#### printInfo

    public void printInfo(PrintStream out)

#### getLevelForDistance

    public int getLevelForDistance(double dist)

Description copied from class: `SpatialPrefixTree`
Returns the level of the largest grid in which its longest side is less than or equal to the provided distance (in degrees). Consequently `dist` acts as an error epsilon declaring the amount of detail needed in the grid, such that you can get a grid with just the right amount of precision.

Specified by:
  `getLevelForDistance` in class `SpatialPrefixTree`
Parameters:
  `dist` - >= 0
Returns:
  level [1 to maxLevels]

#### getNode

    public Node getNode(com.spatial4j.core.shape.Point p,
               int level)

Overrides:
  `getNode` in class `SpatialPrefixTree`

#### getNode

    public Node getNode(String token)

Description copied from class: `SpatialPrefixTree`
The cell for the specified token. The empty string should be equal to `SpatialPrefixTree.getWorldNode()`. Precondition: Never called when token length > maxLevel.

Specified by:
  `getNode` in class `SpatialPrefixTree`

#### getNode

    public Node getNode(byte[] bytes,
               int offset,
               int len)

Specified by:
  `getNode` in class `SpatialPrefixTree`