Interface PointMultimap.Factory

  • Enclosing interface:
    PointMultimap<T>

    public static interface PointMultimap.Factory
    • Method Detail

      • createArray

        static <T> PointMultimap<T> createArray​(int dims,
                                                int size)
        Create an array backed PointMap. 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 PointArray
      • createKdTree

        static <T> PointMultimap<T> createKdTree​(int dims)
        Create a kD-Tree.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        Returns:
        New kD-Tree
      • createKdTree

        static <T> PointMultimap<T> createKdTree​(IndexConfig cfg)
        Create a kD-Tree.
        Type Parameters:
        T - Value type
        Parameters:
        cfg - Index configuration.
        Returns:
        New kD-Tree
      • createPhTree

        static <T> PointMultimap<T> createPhTree​(int dims)
        Create a PH-Tree.
        Type Parameters:
        T - Value type
        Parameters:
        dims - Number of dimensions.
        Returns:
        New PH-Tree
      • createQuadtree

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

        static <T> PointMultimap<T> createQuadtree​(int dims,
                                                   int maxNodeCapacity,
                                                   double[] center,
                                                   double radius)
        Create a plain Quadtree. Center/radius are used to find a good initial root. They do not need to be exact. If possible, they 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.
        center - Estimated center of all coordinates.
        radius - Estimated maximum orthogonal distance from center for all coordinates.
        Returns:
        New Quadtree
      • createQuadtreeHC

        static <T> PointMultimap<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> PointMultimap<T> createQuadtreeHC​(int dims,
                                                     int maxNodeCapacity,
                                                     double[] center,
                                                     double radius)
        Create a plain Quadtree. Center/radius are used to find a good initial root. They do not need to be exact. If possible, they 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.
        center - Estimated center of all coordinates.
        radius - Estimated maximum orthogonal distance from center for all coordinates.
        Returns:
        New QuadtreeHC
      • createQuadtreeHC2

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

        static <T> PointMultimap<T> createQuadtreeHC2​(int dims,
                                                      int maxNodeCapacity,
                                                      double[] center,
                                                      double radius)
        Create a plain Quadtree. Center/radius are used to find a good initial root. They do not need to be exact. If possible, they 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.
        center - Estimated center of all coordinates.
        radius - Estimated maximum orthogonal distance from center for all coordinates.
        Returns:
        New QuadtreeHC2
      • createRStarTree

        static <T> PointMultimap<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> PointMultimap<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.createPoint(double[], Object)
        Returns:
        New STR-loaded R*Tree