По заданному широту / долготу найдите каждый круг, в котором находится широта / долгота.
У меня есть список документов geoshape, как это:
{
"location" : {
"type" : "circle",
"coordinates" : [-45.0, 45.0],
"radius" : "8000m"
}
}
Учитывая лат / лнг, я хочу найти все документы, в которых находится этот лат / лнг.
1 ответ
Решение
Вам нужно использовать geo_shape
запрос, как этот:
{
"query": {
"bool": {
"filter": {
"geo_shape": {
"location": {
"shape": {
"type": "point",
"coordinates": [ -77.03653, 38.897676 ] <-- lon/lat to search
},
"relation": "contains" <-- use the contains relationship
}
}
}
}
}
}
в coordinates
Параметр, убедитесь, что установили долготу перед широтой, а не наоборот (спасибо GeoJSON)