@Override public GeoRect getGeoCell() { org.elasticsearch.common.geo.GeoPoint northWest = new org.elasticsearch.common.geo.GeoPoint(); org.elasticsearch.common.geo.GeoPoint southEast = new org.elasticsearch.common.geo.GeoPoint(); GeohashUtils.decodeCell(getKey(), northWest, southEast); return new GeoRect(new GeoPoint(northWest.getLat(), northWest.getLon()), new GeoPoint(southEast.getLat(), southEast.getLon())); } };
@Test public void testGraphQueryGeoPoint() { graph.prepareVertex("v1", VISIBILITY_A) .setProperty("location", new GeoPoint(38.9186, -77.2297, "Reston, VA"), VISIBILITY_A) .save(AUTHORIZATIONS_A_AND_B); graph.prepareVertex("v2", VISIBILITY_A) .setProperty("location", new GeoPoint(38.9544, -77.3464, "Reston, VA"), VISIBILITY_A) .save(AUTHORIZATIONS_A_AND_B); List<Vertex> vertices = IterableUtils.toList(graph.query(AUTHORIZATIONS_A) .has("location", GeoCompare.WITHIN, new GeoCircle(38.9186, -77.2297, 1)) .vertices()); Assert.assertEquals(1, IterableUtils.count(vertices)); GeoPoint geoPoint = (GeoPoint) vertices.get(0).getPropertyValue("location"); assertEquals(38.9186, geoPoint.getLatitude(), 0.001); assertEquals(-77.2297, geoPoint.getLongitude(), 0.001); assertEquals("Reston, VA", geoPoint.getDescription()); vertices = IterableUtils.toList(graph.query(AUTHORIZATIONS_A) .has("location", GeoCompare.WITHIN, new GeoCircle(38.9186, -77.2297, 25)) .vertices()); Assert.assertEquals(2, IterableUtils.count(vertices)); vertices = IterableUtils.toList(graph.query(AUTHORIZATIONS_A) .has("location", TextPredicate.CONTAINS, "Reston") .vertices()); Assert.assertEquals(2, IterableUtils.count(vertices)); }
GeoPoint geoPoint = (GeoPoint) propertyValue; Map<String, Object> propertyValueMap = new HashMap<>(); propertyValueMap.put("lat", geoPoint.getLatitude()); propertyValueMap.put("lon", geoPoint.getLongitude()); if (geoPoint.getDescription() != null) { jsonBuilder.field(property.getName(), geoPoint.getDescription());
GeoPoint geoPoint = (GeoPoint) propertyValue; Map<String, Object> propertyValueMap = new HashMap<>(); propertyValueMap.put("lat", geoPoint.getLatitude()); propertyValueMap.put("lon", geoPoint.getLongitude()); jsonBuilder.field(property.getName() + GEO_PROPERTY_NAME_SUFFIX, propertyValueMap); if (geoPoint.getDescription() != null) { jsonBuilder.field(property.getName(), geoPoint.getDescription());
@Override public GeohashResult getGeohashResults(String name) { List<GeohashBucket> buckets = new ArrayList<GeohashBucket>(); Aggregation agg = this.searchResponse.getAggregations().get(name); if (agg == null) { return null; } if (agg instanceof GeoHashGrid) { GeoHashGrid h = (GeoHashGrid) agg; for (GeoHashGrid.Bucket b : h.getBuckets()) { org.elasticsearch.common.geo.GeoPoint g = b.getKeyAsGeoPoint(); GeohashBucket geohashBucket = new GeohashBucket(b.getKey(), b.getDocCount(), new GeoPoint(g.getLat(), g.getLon())) { @Override public GeoRect getGeoCell() { org.elasticsearch.common.geo.GeoPoint northWest = new org.elasticsearch.common.geo.GeoPoint(); org.elasticsearch.common.geo.GeoPoint southEast = new org.elasticsearch.common.geo.GeoPoint(); GeohashUtils.decodeCell(getKey(), northWest, southEast); return new GeoRect(new GeoPoint(northWest.getLat(), northWest.getLon()), new GeoPoint(southEast.getLat(), southEast.getLon())); } }; buckets.add(geohashBucket); } } else { throw new VertexiumException("Aggregation is not a geohash: " + agg.getClass().getName()); } return new GeohashResult(buckets); } }