org.apache.lucene.spatial.prefix.tree

## Class GeohashPrefixTree

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

-     public class GeohashPrefixTree
      extends SpatialPrefixTree

  A `SpatialPrefixTree` based on Geohashes. Uses `GeohashUtils` to do all the geohash work.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `GeohashPrefixTree.Factory` Factory for creating `GeohashPrefixTree` instances with useful defaults

  - ### Field Summary

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

      `ctx, maxLevels, UTF8`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GeohashPrefixTree(com.spatial4j.core.context.SpatialContext ctx, int maxLevels)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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).
    `static int` | `getMaxLevelsPossible()` Any more than this and there's no point (double lat & lon are the same).
    `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.

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

- - ### Constructor Detail

    - #### GeohashPrefixTree

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

  - ### Method Detail

    - #### getMaxLevelsPossible

          public static int getMaxLevelsPossible()

      Any more than this and there's no point (double lat & lon are the same).

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

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.