Class CombinedInsertionStrategy

  • All Implemented Interfaces:
    InsertionStrategy

    @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 CombinedInsertionStrategy
    extends java.lang.Object
    implements InsertionStrategy
    Use two different insertion strategies for directory and leaf nodes.

    Using two different strategies was likely first suggested in:

    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

      • dirStrategy

        InsertionStrategy dirStrategy
        Strategy when inserting into directory nodes
      • leafStrategy

        InsertionStrategy leafStrategy
        Strategy when inserting into leaf nodes.
    • Constructor Detail

      • CombinedInsertionStrategy

        public CombinedInsertionStrategy​(InsertionStrategy dirStrategy,
                                         InsertionStrategy leafStrategy)
        Constructor.
        Parameters:
        dirStrategy - Strategy for directory nodes
        leafStrategy - Strategy for leaf nodes
    • Method Detail

      • choose

        public <A> int choose​(A options,
                              ArrayAdapter<? extends SpatialComparable,​A> getter,
                              SpatialComparable obj,
                              int height,
                              int depth)
        Description copied from interface: InsertionStrategy
        Choose insertion rectangle.
        Specified by:
        choose in interface InsertionStrategy
        Parameters:
        options - Options to choose from
        getter - Array adapter for options
        obj - Insertion object
        height - Tree height
        depth - Insertion depth (depth == height - 1 indicates leaf level)
        Returns:
        Subtree index in array.