in data-access/nexustiles/dao/ElasticsearchProxy.py [0:0]
def find_days_in_range_asc(self, min_lat, max_lat, min_lon, max_lon, ds, start_time, end_time, **kwargs):
search_start_s = datetime.utcfromtimestamp(start_time).strftime(ELASTICSEARCH_FORMAT)
search_end_s = datetime.utcfromtimestamp(end_time).strftime(ELASTICSEARCH_FORMAT)
params = {
"size": "0",
"_source": "tile_min_time_dt",
"query": {
"bool": {
"filter": [
{
"term": {
"dataset_s": {
"value": ds
}
}
},
{
"range": {
"tile_min_time_dt": {
"gte": search_start_s,
"lte": search_end_s
}
}
},
{
"geo_shape": {
"geo": {
"shape": {
"type": "envelope",
"coordinates": [[min_lon, max_lat],[max_lon, min_lat]]
},
"relation": "intersects"
}
}
}
]
}
},
"aggs": {
"days_range_agg": {
"composite": {
"size":100,
"sources": [
{
"tile_min_time_dt": {
"terms": {
"field": "tile_min_time_dt"
}
}
}
]
}
}
}
}
aggregations = self.do_aggregation_all(params, 'days_range_agg')
results = [res['key']['tile_min_time_dt'] for res in aggregations]
daysinrangeasc = sorted([(res / 1000) for res in results])
return daysinrangeasc