@Override public NumericData toNumericData() { return new NumericValue(time); }
@Override public MultiDimensionalNumericData getRangeForId( final byte[] partitionKey, final byte[] sortKey) { final long value = Long.class.cast(lexicoder.fromByteArray(sortKey)); final NumericData[] dataPerDimension = new NumericData[] {new NumericValue(value)}; return new BasicNumericDataset(dataPerDimension); }
/** * This utility method will convert a JTS envelope to that can be used in a GeoWave query. * * @return Constraints as a mapping of NumericData objects representing ranges for a latitude * dimension and a longitude dimension */ public static ConstraintSet basicConstraintsFromPoint( final double latitudeDegrees, final double longitudeDegrees) { // Create a NumericData object using the x axis final NumericData latitude = new NumericValue(latitudeDegrees); // Create a NumericData object using the y axis final NumericData longitude = new NumericValue(longitudeDegrees); final Map<Class<? extends NumericDimensionDefinition>, ConstraintData> constraintsPerDimension = new HashMap<>(); // Create and return a new IndexRange array with an x and y axis // range constraintsPerDimension.put(LongitudeDefinition.class, new ConstraintData(longitude, false)); constraintsPerDimension.put(LatitudeDefinition.class, new ConstraintData(latitude, false)); return new ConstraintSet(constraintsPerDimension); }
@Override public NumericData getNumericData(final ArrayWrapper<T> dataElement) { Double min = null, max = null; for (final T element : dataElement.getArray()) { final NumericData data = elementField.getNumericData(element); if ((min == null) || (max == null)) { min = data.getMin(); max = data.getMax(); } else { min = Math.min(min, data.getMin()); max = Math.max(max, data.getMax()); } } if ((min == null) || (max == null)) { return null; } if (min.equals(max)) { return new NumericValue(min); } return new NumericRange(min, max); }