Geo-Line Aggregation
editGeo-Line Aggregation
editThe geo_line
aggregation aggregates all geo_point
values within a bucket into a LineString ordered
by the chosen sort
field. This sort
can be a date field, for example. The bucket returned is a valid
GeoJSON Feature representing the line geometry.
PUT test { "mappings": { "dynamic": "strict", "_source": { "enabled": false }, "properties": { "my_location": { "type": "geo_point" }, "group": { "type": "keyword" }, "@timestamp": { "type": "date" } } } } POST /test/_bulk?refresh {"index": {}} {"my_location": {"lat":37.3450570, "lon": -122.0499820}, "@timestamp": "2013-09-06T16:00:36"} {"index": {}} {"my_location": {"lat": 37.3451320, "lon": -122.0499820}, "@timestamp": "2013-09-06T16:00:37Z"} {"index": {}} {"my_location": {"lat": 37.349283, "lon": -122.0505010}, "@timestamp": "2013-09-06T16:00:37Z"} POST /test/_search?filter_path=aggregations { "aggs": { "line": { "geo_line": { "point": {"field": "my_location"}, "sort": {"field": "@timestamp"} } } } }
Which returns:
{ "aggregations": { "line": { "type" : "Feature", "geometry" : { "type" : "LineString", "coordinates" : [ [ -122.049982, 37.345057 ], [ -122.050501, 37.349283 ], [ -122.049982, 37.345132 ] ] }, "properties" : { "complete" : true } } } }
Options
edit-
point
- (Required)
This option specifies the name of the geo_point
field
Example usage configuring my_location
as the point field:
"point": { "field": "my_location" }
-
sort
- (Required)
This option specifies the name of the numeric field to use as the sort key for ordering the points
Example usage configuring @timestamp
as the sort key:
"point": { "field": "@timestamp" }
-
include_sort
-
(Optional, boolean, default:
false
)
This option includes, when true, an additional array of the sort values in the feature properties.
-
sort_order
-
(Optional, string, default:
"ASC"
)
This option accepts one of two values: "ASC", "DESC".
The line is sorted in ascending order by the sort key when set to "ASC", and in descending with "DESC".
-
size
-
(Optional, integer, default:
10000
)
The maximum length of the line represented in the aggregation. Valid sizes are between one and 10000.