@Override public NumericRange getDenormalizedRanges(final BinRange binnedRange) { final Calendar startofEpoch = getStartEpoch(binnedRange.getBinId()); final long startOfEpochMillis = startofEpoch.getTimeInMillis(); final long minMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMin(); final long maxMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMax(); return new NumericRange(minMillis, maxMillis); } }
@Override public NumericRange getDenormalizedRanges(BinRange binnedRange) { int bin = ByteBuffer.wrap(binnedRange.getBinId()).getInt(); double center = bin * interval; if (binnedRange.isFullExtent()) { return new NumericRange(center - halfInterval, center + halfInterval); } return new NumericRange( center + binnedRange.getNormalizedMin(), center + binnedRange.getNormalizedMax()); }
@Override public NumericRange getDenormalizedRanges(final BinRange binnedRange) { final long startOfEpochMillis = getStartEpoch(binnedRange.getBinId()); final long minMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMin(); final long maxMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMax(); return new NumericRange(minMillis, maxMillis); }
public static MultiDimensionalCoordinateRanges getCoordinateRanges( final BinRange[][] binRangesPerDimension, final SpaceFillingCurve sfc, final int numDimensions, final byte tier) { final CoordinateRange[][] coordinateRangesPerDimension = new CoordinateRange[numDimensions][]; for (int d = 0; d < coordinateRangesPerDimension.length; d++) { coordinateRangesPerDimension[d] = new CoordinateRange[binRangesPerDimension[d].length]; for (int i = 0; i < binRangesPerDimension[d].length; i++) { final long[] range = sfc.normalizeRange( binRangesPerDimension[d][i].getNormalizedMin(), binRangesPerDimension[d][i].getNormalizedMax(), d); coordinateRangesPerDimension[d][i] = new CoordinateRange(range[0], range[1], binRangesPerDimension[d][i].getBinId()); } } return new MultiDimensionalCoordinateRanges(new byte[] {tier}, coordinateRangesPerDimension); }
next = new BinnedNumericDataset( binRangesPerDimension[dimension][i].getBinId(), new BasicNumericDataset(rangePerDimension)); ByteArrayUtils.combineArrays( current.getBinId(), binRangesPerDimension[dimension][i].getBinId()); next = new BinnedNumericDataset(combinedBinId, new BasicNumericDataset(rangePerDimension));