Package org.tinspin.index
Interface PointMultimap.Factory
-
- Enclosing interface:
- PointMultimap<T>
public static interface PointMultimap.Factory
-
-
Method Summary
Static Methods Modifier and Type Method Description static <T> PointMultimap<T>createAndLoadStrRTree(int dims, RTreeEntry<T>[] entries)Create an STR-loaded R*Tree.static <T> PointMultimap<T>createArray(int dims, int size)Create an array backed PointMap.static <T> PointMultimap<T>createKdTree(int dims)Create a kD-Tree.static <T> PointMultimap<T>createKdTree(IndexConfig cfg)Create a kD-Tree.static <T> PointMultimap<T>createPhTree(int dims)Create a PH-Tree.static <T> PointMultimap<T>createQuadtree(int dims)Create a plain Quadtree.static <T> PointMultimap<T>createQuadtree(int dims, int maxNodeCapacity, double[] center, double radius)Create a plain Quadtree.static <T> PointMultimap<T>createQuadtreeHC(int dims)Create a Quadtree with hypercube navigation.static <T> PointMultimap<T>createQuadtreeHC(int dims, int maxNodeCapacity, double[] center, double radius)Create a plain Quadtree.static <T> PointMultimap<T>createQuadtreeHC2(int dims)Create a Quadtree with hypercube navigation.static <T> PointMultimap<T>createQuadtreeHC2(int dims, int maxNodeCapacity, double[] center, double radius)Create a plain Quadtree.static <T> PointMultimap<T>createRStarTree(int dims)Create an R*Tree.
-
-
-
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 withRTreeEntry.createPoint(double[], Object)- Returns:
- New STR-loaded R*Tree
-
-