Refine search
@Override public GeoResults<GeoLocation<byte[]>> geoRadius(byte[] key, Circle within) { RedisCommand<GeoResults<GeoLocation<byte[]>>> command = new RedisCommand<GeoResults<GeoLocation<byte[]>>>("GEORADIUS", new GeoResultsDecoder()); return read(key, ByteArrayCodec.INSTANCE, command, key, convert(within.getCenter().getX()), convert(within.getCenter().getY()), within.getRadius().getValue(), within.getRadius().getMetric().getAbbreviation()); }
@Override public Circle convert(Document source) { if (source == null) { return null; } Document center = (Document) source.get("center"); Number radius = (Number) source.get("radius"); Assert.notNull(center, "Center must not be null!"); Assert.notNull(radius, "Radius must not be null!"); Distance distance = new Distance(toPrimitiveDoubleValue(radius)); if (source.containsKey("metric")) { String metricString = (String) source.get("metric"); Assert.notNull(metricString, "Metric must not be null!"); distance = distance.in(Metrics.valueOf(metricString)); } return new Circle(DocumentToPointConverter.INSTANCE.convert(center), distance); } }
@Override public Document convert(Circle source) { if (source == null) { return null; } Document result = new Document(); result.put("center", PointToDocumentConverter.INSTANCE.convert(source.getCenter())); result.put("radius", source.getRadius().getNormalizedValue()); result.put("metric", source.getRadius().getMetric().toString()); return result; } }
argument.add(toList(((Circle) shape).getCenter())); argument.add(((Circle) shape).getRadius().getNormalizedValue()); argument.add(toList(((Circle) shape).getCenter())); argument.add(((Circle) shape).getRadius()); argument.add(((Sphere) shape).getRadius().getNormalizedValue());
point = ((Circle) o).getCenter(); distance = ((Circle) o).getRadius(); } else if (o instanceof Point) { distance = (Distance) distObject; } else if (distObject instanceof Number) { distance = new Distance(((Number) distObject).doubleValue(), Metrics.KILOMETERS); } else { throw new InvalidDataAccessApiUsageException(String
new Circle(criteria.getNear().getPoint(), criteria.getNear().getDistance())); for (GeoResult<GeoLocation<byte[]>> y : x) { allKeys.add(y.getContent().getName());
argument.add(toList(((Circle) shape).getCenter())); argument.add(((Circle) shape).getRadius().getNormalizedValue()); argument.add(toList(((Circle) shape).getCenter())); argument.add(((Circle) shape).getRadius()); argument.add(((Sphere) shape).getRadius().getNormalizedValue());
/** * Creates a new {@link GeoRadiusCommand} given a {@link Circle}. * * @param circle must not be {@literal null}. * @return a new {@link GeoRadiusCommand} for a {@link Circle}. */ public static GeoRadiusCommand within(Circle circle) { Assert.notNull(circle, "Circle must not be null!"); return within(circle.getRadius()).from(circle.getCenter()); }
point = ((Circle) o).getCenter(); distance = ((Circle) o).getRadius(); } else if (o instanceof Point) { distance = (Distance) distObject; } else if (distObject instanceof Number) { distance = new Distance(((Number) distObject).doubleValue(), Metrics.KILOMETERS); } else { throw new InvalidDataAccessApiUsageException(String
@Override public Document convert(Circle source) { if (source == null) { return null; } Document result = new Document(); result.put("center", PointToDocumentConverter.INSTANCE.convert(source.getCenter())); result.put("radius", source.getRadius().getNormalizedValue()); result.put("metric", source.getRadius().getMetric().toString()); return result; } }
private static void applyNear(JsonArray startRange, JsonArray endRange, Iterator<Object> iterator, List<AbstractFalsePositiveEvaluator> evaluators, PropertyPath path) { if (!iterator.hasNext()) { throw new IllegalArgumentException("Not enough parameters for near"); } Point near = checkedNext(iterator, Point.class, "Near queries need a Point as first argument"); Distance distance = checkedNext(iterator, Distance.class, "Near queries need a maximum Distance as second argument"); evaluators.add(new CircleFalsePositiveEvaluator(path, new Circle(near, distance))); double[] boundingBox = GeoUtils.getBoundingBoxForNear(near, distance); startRange.add(boundingBox[0]).add(boundingBox[1]); endRange.add(boundingBox[2]).add(boundingBox[3]); }
@Override public GeoResults<GeoLocation<byte[]>> geoRadius(byte[] key, Circle within) { RedisCommand<GeoResults<GeoLocation<byte[]>>> command = new RedisCommand<GeoResults<GeoLocation<byte[]>>>("GEORADIUS", new GeoResultsDecoder()); return read(key, ByteArrayCodec.INSTANCE, command, key, convert(within.getCenter().getX()), convert(within.getCenter().getY()), within.getRadius().getValue(), within.getRadius().getMetric().getAbbreviation()); }
@Override public boolean pointInCircle(Point p, Circle c) { Point2D center = new Point2D.Double(c.getCenter().getX(), c.getCenter().getY()); return pointNear(p, center, c.getRadius().getNormalizedValue()); }
point = ((Circle) o).getCenter(); distance = ((Circle) o).getRadius(); } else if (o instanceof Point) { distance = (Distance) distObject; } else if (distObject instanceof Number) { distance = new Distance(((Number) distObject).doubleValue(), Metrics.KILOMETERS); } else { throw new InvalidDataAccessApiUsageException(String
@Override public Circle convert(Document source) { if (source == null) { return null; } Document center = (Document) source.get("center"); Number radius = (Number) source.get("radius"); Assert.notNull(center, "Center must not be null!"); Assert.notNull(radius, "Radius must not be null!"); Distance distance = new Distance(toPrimitiveDoubleValue(radius)); if (source.containsKey("metric")) { String metricString = (String) source.get("metric"); Assert.notNull(metricString, "Metric must not be null!"); distance = distance.in(Metrics.valueOf(metricString)); } return new Circle(DocumentToPointConverter.INSTANCE.convert(center), distance); } }
private static void applyNear(JsonArray startRange, JsonArray endRange, Iterator<Object> iterator, List<AbstractFalsePositiveEvaluator> evaluators, PropertyPath path) { if (!iterator.hasNext()) { throw new IllegalArgumentException("Not enough parameters for near"); } Point near = checkedNext(iterator, Point.class, "Near queries need a Point as first argument"); Distance distance = checkedNext(iterator, Distance.class, "Near queries need a maximum Distance as second argument"); evaluators.add(new CircleFalsePositiveEvaluator(path, new Circle(near, distance))); double[] boundingBox = GeoUtils.getBoundingBoxForNear(near, distance); startRange.add(boundingBox[0]).add(boundingBox[1]); endRange.add(boundingBox[2]).add(boundingBox[3]); }
@Override public GeoResults<GeoLocation<byte[]>> geoRadius(byte[] key, Circle within) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(within, "Within must not be null!"); try { return JedisConverters.geoRadiusResponseToGeoResultsConverter(within.getRadius().getMetric()) .convert(connection.getCluster().georadius(key, within.getCenter().getX(), within.getCenter().getY(), within.getRadius().getValue(), JedisConverters.toGeoUnit(within.getRadius().getMetric()))); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public boolean pointInCircle(Point p, Circle c) { Point2D center = new Point2D.Double(c.getCenter().getX(), c.getCenter().getY()); return pointNear(p, center, c.getRadius().getNormalizedValue()); }