Class LimitedReinsertOverflowTreatment

  • All Implemented Interfaces:
    OverflowTreatment

    @Reference(authors="Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger",
               title="The R*-tree: an efficient and robust access method for points and rectangles",
               booktitle="Proc. 1990 ACM SIGMOD Int. Conf. Management of Data",
               url="https://doi.org/10.1145/93597.98741",
               bibkey="DBLP:conf/sigmod/BeckmannKSS90")
    public class LimitedReinsertOverflowTreatment
    extends java.lang.Object
    implements OverflowTreatment
    Limited reinsertions, as proposed by the R*-Tree: For each real insert, allow reinsertions to happen only once per level.

    Reference:

    Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger
    The R*-tree: an efficient and robust access method for points and rectangles
    Proc. 1990 ACM SIGMOD Int. Conf. Management of Data

    Since:
    0.5.0
    Author:
    Erich Schubert
    • Field Detail

      • reinsertions

        private long[] reinsertions
        Bitset to keep track of levels a reinsert has been performed at.
      • reinsertStrategy

        private final ReinsertStrategy reinsertStrategy
        Strategy for the actual reinsertions
    • Constructor Detail

      • LimitedReinsertOverflowTreatment

        public LimitedReinsertOverflowTreatment​(ReinsertStrategy reinsertStrategy)
        Constructor.
        Parameters:
        reinsertStrategy - Reinsertion strategy
    • Method Detail

      • handleOverflow

        public <N extends AbstractRStarTreeNode<N,​E>,​E extends SpatialEntry> boolean handleOverflow​(AbstractRStarTree<N,​E,​?> tree,
                                                                                                                N node,
                                                                                                                elki.index.tree.IndexTreePath<E> path)
        Description copied from interface: OverflowTreatment
        Handle overflow in the given node.
        Specified by:
        handleOverflow in interface OverflowTreatment
        Type Parameters:
        N - Node
        E - Entry
        Parameters:
        tree - Tree
        node - Node
        path - Path
        Returns:
        true when already handled (e.g., by reinserting)