Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Overview - Adds STAC to the stack (optional) when ``./components/stac`` is added to ``EXTRA_CONF_DIRS``. ## Changes * Service ``stac`` (API) gets added with endpoints ``/twitcher/ows/proxy/stac`` and ``/stac``. * STAC catalog can be explored via the ``stac-browser`` component, available under ``/stac-browser``. * Image ``crim-ca/stac-app`` is a STAC implementation based on ``stac-utils/stac-fastapi``. * Image ``crim-ca/stac-browser`` is a fork of ``radiantearth/stac-browser``. * Adds `Magpie` permissions and service for `stac` endpoints. * Uses [stac-populator](https://github.com/crim-ca/stac-populator) to populate STAC catalog with sample collection items via [CEDA STAC Generator](https://github.com/cedadev/stac-generator), employed in sample [CMIP Dataset Ingestion Workflows](https://github.com/cedadev/stac-generator-example/tree/master/conf). ## Demo Instance STAC API : https://stac-dev.crim.ca/stac/ STAC Browser : https://stac-dev.crim.ca/stac-browser/ Note that by default STAC API will return 10 items to reduce payload size. It is however possible to change this limitation by adding `?limit=200` to the URL in order to query 200 items. In the response payload you'll have a link referring to the `next` items, adding a token to the query params in order for STAC API to return next results. **Sample STAC API collection query using a CLI** Remove the `-c` flag for global query across any collection. ``` pip install pystac-client stac-client search https://stac-dev.crim.ca/stac -c c604ffb6d610adbb9a6b4787db7b8fd7 --query "variable_id=txgt_32" "scenario=ssp585" ``` **Sample STAC API global query using CQL via cURL call** Note that the operators are describe here : https://portal.ogc.org/files/96288 ``` curl --location --globoff 'https://stac-dev.crim.ca/stac/search' \ --header 'Content-Type: application/json' \ --data '{ "filter":{ "and":[ { "eq":[ { "property":"freq" }, "MS" ] }, { "like":[ { "property":"variable_id" }, "tr_%" ] } ], "intersects":[ { "property":"geometry" }, { "type":"Polygon", "coordinates":[ [ [ -140.99778, 41.6751050889 ], [ -140.99778, 83.23324 ], [ -52.6480987209, 83.23324 ], [ -52.6480987209, 41.6751050889 ], [ -140.99778, 41.6751050889 ] ] ] } ], "anyinteracts":[ { "property":"datetime" }, [ "2010-05-03T13:21:30.040Z", "2022-05-03T13:21:30.040Z" ] ] } }' ``` **Get the queryables of the CMIP6 collection, statically created at collection creation** https://stac-dev.crim.ca/stac/collections/c604ffb6d610adbb9a6b4787db7b8fd7 **Get the queryables of the CMIP6 collection, dynamically created at query time** https://stac-dev.crim.ca/stac/collections/c604ffb6d610adbb9a6b4787db7b8fd7/queryables **Get the queryables of the union of the CMIP5 and CMIP6 collections, dynamically created at query time** https://stac-dev.crim.ca/stac/queryables?collections=0798aa197d54eb4332767a5a4077fb0f,c604ffb6d610adbb9a6b4787db7b8fd7 daccs_configs_branch: stac_populator daccs_skip_ci: true fyi @huard @mishaschwartz
- Loading branch information