Class FarReinsert

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

    Alternative strategy mentioned in 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

      • FarReinsert

        public FarReinsert​(double reinsertAmount,
                           SpatialPrimitiveDistance<?> distance)
        Constructor.
        Parameters:
        reinsertAmount - Amount to reinsert
        distance - Distance function
    • 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.