Class CloseReinsert

  • All Implemented Interfaces:
    ReinsertStrategy

    @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 CloseReinsert
    extends AbstractPartialReinsert
    Reinsert objects on page overflow, starting with close objects first (even when they will likely be inserted into the same page again!)

    The strategy preferred by the R*-Tree

    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
    • Constructor Detail

      • CloseReinsert

        public CloseReinsert​(double reinsertAmount,
                             SpatialPrimitiveDistance<?> distance)
        Constructor.
        Parameters:
        reinsertAmount - Amount of objects to reinsert
        distance - Distance function to use for reinsertion
    • Method Detail

      • computeReinserts

        public <A> int[] computeReinserts​(A entries,
                                          ArrayAdapter<? extends SpatialComparable,​? super A> getter,
                                          SpatialComparable page)
        Description copied from interface: ReinsertStrategy
        Perform reinsertions.
        Parameters:
        entries - Entries in overflowing node
        getter - Adapter for the entries array
        page - Spatial extend of the page
        Returns:
        index of pages to reinsert.