Class NumberRangePrefixTree.NRCell

    • Method Detail

      • getLevel

        public int getLevel()
        Description copied from interface: Cell
        Level 0 is the world (and has no parent), from then on a higher level means a smaller cell than the level before it.
        Specified by:
        getLevel in interface Cell
        Specified by:
        getLevel in interface NumberRangePrefixTree.UnitNRShape
      • getShapeRel

        public org.locationtech.spatial4j.shape.SpatialRelation getShapeRel()
        Description copied from interface: Cell
        Gets the relationship this cell has with the shape from which it was filtered from, assuming it came from a CellIterator. Arguably it belongs there but it's very convenient here.
        Specified by:
        getShapeRel in interface Cell
      • setShapeRel

        public void setShapeRel​(org.locationtech.spatial4j.shape.SpatialRelation rel)
        Description copied from interface: Cell
        Specified by:
        setShapeRel in interface Cell
      • isLeaf

        public boolean isLeaf()
        Description copied from interface: Cell
        Some cells are flagged as leaves, which are indexed as such. A leaf cell is either within some shape or it both intersects and the cell is at an accuracy threshold such that no smaller cells for the shape will be represented.
        Specified by:
        isLeaf in interface Cell
      • setLeaf

        public void setLeaf()
        Description copied from interface: Cell
        Set this cell to be a leaf. Warning: never call on a cell initialized to reference the same bytes from termsEnum, which should be treated as immutable. Note: not supported at level 0.
        Specified by:
        setLeaf in interface Cell
      • getTokenBytesWithLeaf

        public BytesRef getTokenBytesWithLeaf​(BytesRef result)
        Description copied from interface: Cell
        Returns the bytes for this cell, with a leaf byte if this is a leaf cell. The result param is used to save object allocation, though its bytes aren't used.
        Specified by:
        getTokenBytesWithLeaf in interface Cell
        Parameters:
        result - where the result goes, or null to create new
      • isPrefixOf

        public boolean isPrefixOf​(Cell c)
        Description copied from interface: Cell
        Returns if the target term is within/underneath this cell; not necessarily a direct descendant.
        Specified by:
        isPrefixOf in interface Cell
        Parameters:
        c - the term
      • compareToNoLeaf

        public int compareToNoLeaf​(Cell fromCell)
        Description copied from interface: Cell
        Equivalent to this.getTokenBytesNoLeaf(null).compareTo(fromCell.getTokenBytesNoLeaf(null)).
        Specified by:
        compareToNoLeaf in interface Cell
      • getNextLevelCells

        public CellIterator getNextLevelCells​(org.locationtech.spatial4j.shape.Shape shapeFilter)
        Description copied from interface: Cell
        Gets the cells at the next grid cell level underneath this one, optionally filtered by shapeFilter. The returned cells should have Cell.getShapeRel() set to their relation with shapeFilter. In addition, for non-points Cell.isLeaf() must be true when that relation is WITHIN.

        IMPORTANT: Cells returned from this iterator can be shared, as well as the bytes.

        Precondition: Never called when getLevel() == maxLevel.

        Specified by:
        getNextLevelCells in interface Cell
        Parameters:
        shapeFilter - an optional filter for the returned cells.
        Returns:
        A set of cells (no dups), sorted. Not Modifiable.
      • relate

        public org.locationtech.spatial4j.shape.SpatialRelation relate​(org.locationtech.spatial4j.shape.Shape shape)
        Specified by:
        relate in interface org.locationtech.spatial4j.shape.Shape
      • getBoundingBox

        public org.locationtech.spatial4j.shape.Rectangle getBoundingBox()
        Specified by:
        getBoundingBox in interface org.locationtech.spatial4j.shape.Shape
      • hasArea

        public boolean hasArea()
        Specified by:
        hasArea in interface org.locationtech.spatial4j.shape.Shape
      • getArea

        public double getArea​(org.locationtech.spatial4j.context.SpatialContext ctx)
        Specified by:
        getArea in interface org.locationtech.spatial4j.shape.Shape
      • getCenter

        public org.locationtech.spatial4j.shape.Point getCenter()
        Specified by:
        getCenter in interface org.locationtech.spatial4j.shape.Shape
      • getBuffered

        public org.locationtech.spatial4j.shape.Shape getBuffered​(double distance,
                                                                  org.locationtech.spatial4j.context.SpatialContext ctx)
        Specified by:
        getBuffered in interface org.locationtech.spatial4j.shape.Shape
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface org.locationtech.spatial4j.shape.Shape
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface org.locationtech.spatial4j.shape.Shape
        Overrides:
        equals in class Object
      • getContext

        public org.locationtech.spatial4j.context.SpatialContext getContext()
        Specified by:
        getContext in interface org.locationtech.spatial4j.shape.Shape
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • toStringDebug

        public String toStringDebug()
        Configure your IDE to use this.