I saved the route in ElasticSearch as a polygon. Now I have a circle (point and radius), I can check that the points of the circle intersect the polygon or not (below is the code that I used).
Question: How can I get points in a route that intersects a circle?

public Boolean isMatchingDoc(Long elasticDocId, Double latitude, Double longitude, Long radius) { Coordinate origin = new Coordinate(latitude, longitude); ShapeBuilder circleShapeBuilder = ShapeBuilder.newCircleBuilder().center(origin).radius(radius, DistanceUnit.METERS); GeoShapeQueryBuilder geoShapeQueryBuilder = QueryBuilders.geoShapeQuery("route", circleShapeBuilder); SearchRequestBuilder finalQuery = client.prepareSearch(INDEX).setTypes(TYPE) .setQuery(QueryBuilders.termQuery("_id", elasticDocId)).setPostFilter(geoShapeQueryBuilder); SearchResponse searchResponse = finalQuery.execute().actionGet(); SearchHits searchHits = searchResponse.getHits(); if (searchHits.getTotalHits() > 0) { return true; } return false; }
java elasticsearch geo
Viswanath lekshmanan
source share