Interface BoxMultimap.Factory

  • Enclosing interface:
    BoxMultimap<T>

    public static interface BoxMultimap.Factory
    • Method Detail

      • createArray

        static <T> BoxMultimap<T> createArray​(int dims,
                                              int size)
        Create an array backed BoxMap. This is only for testing and rather inefficient for large data sets.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        size - Number of entries.
        Returns:
        New RectArray
      • createQuadtree

        static <T> BoxMultimap<T> createQuadtree​(int dims)
        Create a plain Quadtree.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        Returns:
        New Quadtree
      • createQuadtree

        static <T> BoxMultimap<T> createQuadtree​(int dims,
                                                 int maxNodeCapacity,
                                                 double[] min,
                                                 double[] max)
        Create a plain Quadtree. Min/max are used to find a good initial root. They do not need to be exact. If possible, min/max should span an area that is somewhat larger rather than smaller than the actual data.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        maxNodeCapacity - Maximum entries in a node before the node is split. The default is 10.
        min - Estimated minimum of all coordinates.
        max - Estimated maximum of all coordinates.
        Returns:
        New Quadtree
      • createQuadtreeHC

        static <T> BoxMultimap<T> createQuadtreeHC​(int dims)
        Create a Quadtree with hypercube navigation.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        Returns:
        New QuadtreeHC
      • createQuadtreeHC

        static <T> BoxMultimap<T> createQuadtreeHC​(int dims,
                                                   int maxNodeCapacity,
                                                   double[] min,
                                                   double[] max)
        Create a plain Quadtree. Min/max are used to find a good initial root. They do not need to be exact. If possible, min/max should span an area that is somewhat larger rather than smaller than the actual data.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        maxNodeCapacity - Maximum entries in a node before the node is split. The default is 10.
        min - Estimated minimum of all coordinates.
        max - Estimated maximum of all coordinates.
        Returns:
        New QuadtreeHC
      • createRStarTree

        static <T> BoxMultimap<T> createRStarTree​(int dims)
        Create an R*Tree.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        Returns:
        New R*Tree
      • createAndLoadStrRTree

        static <T> BoxMultimap<T> createAndLoadStrRTree​(int dims,
                                                        RTreeEntry<T>[] entries)
        Create an STR-loaded R*Tree.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        entries - All entries of the tree. Entries can be created with RTreeEntry.createBox(double[], double[], Object)
        Returns:
        New STR-loaded R*Tree