public interface SpaceFillingCurve extends Persistable
Modifier and Type | Method and Description |
---|---|
RangeDecomposition |
decomposeRange(MultiDimensionalNumericData query,
boolean overInclusiveOnEdge,
int maxRanges)
* Returns a collection of ranges on the 1-d space filling curve that correspond to the
n-dimensional range described in the query parameter.
|
RangeDecomposition |
decomposeRangeFully(MultiDimensionalNumericData query)
* Returns a collection of ranges on the 1-d space filling curve that correspond to the
n-dimensional range described in the query parameter.
|
long[] |
getCoordinates(byte[] id)
* Gets n-dimensional coordinates from a single dimension
|
BigInteger |
getEstimatedIdCount(MultiDimensionalNumericData data)
* Determines the estimated number of rows a multi-dimensional range will span within this space
filling curve
|
byte[] |
getId(Double[] values)
* Maps a n-dimensional value to a single dimension, i.e.
|
double[] |
getInsertionIdRangePerDimension()
* Get the range/size of a single insertion ID for each dimension
|
MultiDimensionalNumericData |
getRanges(byte[] id)
* Gets n-dimensional ranges from a single dimension, i.e.
|
long[] |
normalizeRange(double minValue,
double maxValue,
int dimension)
* Determines the coordinates within this space filling curve for a dimension given a range
|
fromBinary, toBinary
byte[] getId(Double[] values)
values
- n-dimensional value to be encoded in the SFC. The size of value corresponds to
the number of dimensionsMultiDimensionalNumericData getRanges(byte[] id)
id
- the SFC ID to calculate the ranges of values represented.long[] getCoordinates(byte[] id)
id
- the SFC ID to calculate the coordinates for each dimension.RangeDecomposition decomposeRangeFully(MultiDimensionalNumericData query)
This method will decompose the range all the way down to the unit interval of 1.
query
- describes the n-dimensional query window that will be decomposedRangeDecomposition decomposeRange(MultiDimensionalNumericData query, boolean overInclusiveOnEdge, int maxRanges)
This method will roll up the ranges based on the maxRanges parameter. Ranges will be "connected" based on the minimization of distance between the end of one range and the start of the next.
query
- describes the n-dimensional query window that will be decomposedBigInteger getEstimatedIdCount(MultiDimensionalNumericData data)
data
- describes the n-dimensional range to estimate the row count forlong[] normalizeRange(double minValue, double maxValue, int dimension)
minValue
- describes the minimum of a range in a single dimension used to determine the
SFC coordinate rangemaxValue
- describes the maximum of a range in a single dimension used to determine the
SFC coordinate rangedimension
- the dimensiondouble[] getInsertionIdRangePerDimension()
Copyright © 2013–2022. All rights reserved.