Class HeatmapFacetCounter

java.lang.Object
org.apache.lucene.spatial.prefix.HeatmapFacetCounter

public class HeatmapFacetCounter extends Object
Computes spatial facets in two dimensions as a grid of numbers. The data is often visualized as a so-called "heatmap", hence the name.
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

    • MAX_ROWS_OR_COLUMNS

      public static final int MAX_ROWS_OR_COLUMNS
      Maximum number of supported rows (or columns).
  • Method Details

    • calcFacets

      public static HeatmapFacetCounter.Heatmap calcFacets(PrefixTreeStrategy strategy, IndexReaderContext context, Bits topAcceptDocs, org.locationtech.spatial4j.shape.Shape inputShape, int facetLevel, int maxCells) throws IOException
      Calculates spatial 2D facets (aggregated counts) in a grid, sometimes called a heatmap. Facet computation is implemented by navigating the underlying indexed terms efficiently. If you don't know exactly what facetLevel to go to for a given input box but you have some sense of how many cells there should be relative to the size of the shape, then consider using the logic that PrefixTreeStrategy uses when approximating what level to go to when indexing a shape given a distErrPct.
      Parameters:
      context - the IndexReader's context
      topAcceptDocs - a Bits to limit counted docs. If null, live docs are counted.
      inputShape - the shape to gather grid squares for; typically a Rectangle. The actual heatmap area will usually be larger since the cells on the edge that overlap are returned. We always return a rectangle of integers even if the inputShape isn't a rectangle -- the non-intersecting cells will all be 0. If null is given, the entire world is assumed.
      facetLevel - the target depth (detail) of cells.
      maxCells - the maximum number of cells to return. If the cells exceed this count, an
      Throws:
      IOException