Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the Aggregation Extension #245

Closed
jamesfisher-geo opened this issue May 6, 2024 · 1 comment
Closed

Implement the Aggregation Extension #245

jamesfisher-geo opened this issue May 6, 2024 · 1 comment

Comments

@jamesfisher-geo
Copy link
Collaborator

jamesfisher-geo commented May 6, 2024

Is your feature request related to a problem? Please describe.

Both Elasticsearch and Opensearch have the functionality to aggregate geo_points and geo_shapes into geotiles, geohash, and h3. However the geo-aggregations in Elasticsearch are a commercial license feature. They are freely available in Opensearch.

The STAC API Aggregation Extension can be used to retrieve aggregations of STAC Items based on a search result from Opensearch or Elasticsearch.

Describe the solution you'd like
Create an implementation of the STAC API Aggregation Extension. There is an open PR in stac-fastapi #684 that will add baseline support for the Aggregation extension.

Describe alternatives you've considered
Opensearch does not yet support geo_shape aggregation to h3 hexagons. I wonder if an external STAC API plugin that utilizes STAC geoparquet and DuckDB for h3 aggregation could be useful...

Additional context
The stac-server project has a node-based implementation of Aggregation..

@jamesfisher-geo jamesfisher-geo mentioned this issue Jul 1, 2024
4 tasks
jonhealy1 pushed a commit that referenced this issue Jul 14, 2024
**Related Issue(s):**

- #245 

**Description:**
Adds support for The [Aggregation
Extension](https://github.com/stac-api-extensions/aggregation) with an
added dependency on the Filter Extension. This enables geo-aggregation
of geometries and points, taking advantage of Opensearch and
Elasticsearch's aggregation engines.

Note that some of the geo-aggregation features will have to be left
untested on the Elasticsearch backend implementation because they
require a commercial license.


TO DO:
- ~~Need to support collection aggregations using the `<collection
ID>/aggregate` route. Add support in the aggregate function in the core
aggregations extension.~~

**PR Checklist:**

- [x] Code is formatted and linted (run `pre-commit run --all-files`)
- [x] Tests pass (run `make test`)
- [x] Documentation has been updated to reflect changes, if applicable
- [x] Changes are added to the changelog
@jamesfisher-geo
Copy link
Collaborator Author

Added in #276

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant