Class AdaptiveSortTileRecursiveBulkSplit
- java.lang.Object
-
- elki.index.tree.spatial.rstarvariants.strategies.bulk.AbstractBulkSplit
-
- elki.index.tree.spatial.rstarvariants.strategies.bulk.AdaptiveSortTileRecursiveBulkSplit
-
- All Implemented Interfaces:
BulkSplit
public class AdaptiveSortTileRecursiveBulkSplit extends AbstractBulkSplit
This is variation of the original STR bulk load for non-rectangular data spaces. Instead of iterating through the dimensions and splitting each by (approximately) the same factor, this variation tries to adjust the factor to the extends of the data space. I.e. if the data set is twice as wide as high, this should produce twice as many partitions on the X than on the Y axis. Whether or not this offers benefits greatly depends on the distance queries used. But for symmetric distances, the resulting pages should be more rectangular, which often is beneficial. SeeSortTileRecursiveBulkSplit
for the original STR bulk load.- Since:
- 0.6.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AdaptiveSortTileRecursiveBulkSplit.Par
Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description static AdaptiveSortTileRecursiveBulkSplit
STATIC
Static instance.
-
Constructor Summary
Constructors Constructor Description AdaptiveSortTileRecursiveBulkSplit()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends SpatialComparable>
java.util.List<java.util.List<T>>partition(java.util.List<T> spatialObjects, int minEntries, int maxEntries)
Partitions the specified feature vectorsprotected <T extends SpatialComparable>
voidstrPartition(java.util.List<T> objs, int start, int end, int depth, int dims, int maxEntries, SpatialSingleMeanComparator c, java.util.List<java.util.List<T>> ret)
Recursively partition.-
Methods inherited from class elki.index.tree.spatial.rstarvariants.strategies.bulk.AbstractBulkSplit
chooseBulkSplitPoint, trivialPartition
-
-
-
-
Field Detail
-
STATIC
public static final AdaptiveSortTileRecursiveBulkSplit STATIC
Static instance.
-
-
Method Detail
-
partition
public <T extends SpatialComparable> java.util.List<java.util.List<T>> partition(java.util.List<T> spatialObjects, int minEntries, int maxEntries)
Description copied from interface:BulkSplit
Partitions the specified feature vectors- Type Parameters:
T
- actual type we split- Parameters:
spatialObjects
- the spatial objects to be partitionedminEntries
- the minimum number of entries in a partitionmaxEntries
- the maximum number of entries in a partition- Returns:
- the partition of the specified spatial objects
-
strPartition
protected <T extends SpatialComparable> void strPartition(java.util.List<T> objs, int start, int end, int depth, int dims, int maxEntries, SpatialSingleMeanComparator c, java.util.List<java.util.List<T>> ret)
Recursively partition.- Type Parameters:
T
- data type- Parameters:
objs
- Object liststart
- Subinterval startend
- Subinterval enddepth
- Iteration depth (must be less than dimensionality!)dims
- Total number of dimensionsmaxEntries
- Maximum page sizec
- Comparison helperret
- Output list
-
-