Created
March 18, 2025 09:29
-
-
Save j08lue/be1eb30577c1a5c36bc3d0bef7dd9e53 to your computer and use it in GitHub Desktop.
Query STAC items using pattern matching on STAC item id
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "48350ead-9e79-4010-80f5-e69466f922ad", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import requests" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "cb95dbfa-63c5-4bff-a43d-0c85267a5eeb", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "payload = {\n", | |
| " \"catalog_paths\": [\"supported-datasets/catalogs/ceda-stac-catalogue\"],\n", | |
| " \"collections\": [\"cmip6\"],\n", | |
| " \"limit\": 100,\n", | |
| " \"bbox\": [-180,-85.05112899999983,180,85.05112900000009],\n", | |
| " \"fields\": {\"include\":[\"properties\"]},\n", | |
| " \"filter\": {\"op\":\"and\",\"args\":[{\"op\":\"=\",\"args\":[{\"property\":\"collection\"},\"cmip6\"]},{\"op\":\"<=\",\"args\":[{\"property\":\"properties.eo:cloud_cover\"},58]},{\"op\":\"<=\",\"args\":[{\"property\":\"properties.eo:snow_cover\"},100]},{\"op\":\"<=\",\"args\":[{\"property\":\"properties.view:incidence_angle\"},90]},{\"op\":\">=\",\"args\":[{\"property\":\"properties.view:sun_elevation\"},0]},{\"op\":\"s_intersects\",\"args\":[{\"property\":\"geometry\"},{\"type\":\"Polygon\",\"coordinates\":[[[179.9,-90],[179.9,90],[-180,90],[-180,-90],[179.9,-90]]]}]}]},\n", | |
| " \"sortby\": [{\"field\":\"properties.end_datetime\",\"direction\":\"desc\"}],\n", | |
| "}\n", | |
| "\n", | |
| "# add an Item ID filter\n", | |
| "payload[\"filter\"] = {\n", | |
| " \"op\": \"like\",\n", | |
| " \"args\": [\n", | |
| " {\n", | |
| " \"property\": \"id\"\n", | |
| " },\n", | |
| " \"%.pr.%\"\n", | |
| " ]\n", | |
| "}" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "4ba76302-b2f1-421f-9d43-5a5940e82e17", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "response = requests.post(\n", | |
| " \"https://staging.eodatahub.org.uk/api/catalogue/stac/catalogs/supported-datasets/catalogs/ceda-stac-catalogue/search\",\n", | |
| " json=payload\n", | |
| ")\n", | |
| "response.raise_for_status()\n", | |
| "data = response.json()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "d5fe2053-e073-44fe-9792-41917ca2d583", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "['CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp585.r1i1p1f1.3hr.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp126.r1i1p1f1.3hr.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp585.r1i1p1f1.3hr.pr.gr.v20190903',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp126.r1i1p1f1.3hr.pr.gr.v20190903',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp585.r1i1p1f1.day.pr.gn.v20210317',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp126.r1i1p1f1.day.pr.gn.v20210317',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp585.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp126.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp585.r1i1p1f1.day.pr.gr.v20190903',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp126.r1i1p1f1.day.pr.gr.v20190903',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp585.r1i1p1f1.day.pr.gn.v20210318',\n", | |
| " 'CMIP6.ScenarioMIP.CCCma.CanESM5.ssp126.r1i1p1f1.day.pr.gn.v20190429',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp585.r1i1p1f1.Amon.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp126.r1i1p1f1.Amon.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp585.r1i1p1f1.Amon.pr.gr.v20190903',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp126.r1i1p1f1.Amon.pr.gr.v20190903',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp585.r1i1p1f1.Amon.pr.gn.v20210318',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp126.r1i1p1f1.Amon.pr.gn.v20210318',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp585.r1i1p1f1.Amon.pr.gn.v20210317',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp126.r1i1p1f1.Amon.pr.gn.v20210317',\n", | |
| " 'CMIP6.ScenarioMIP.CCCma.CanESM5.ssp585.r1i1p1f1.Amon.pr.gn.v20190429',\n", | |
| " 'CMIP6.ScenarioMIP.CCCma.CanESM5.ssp126.r1i1p1f1.Amon.pr.gn.v20190429',\n", | |
| " 'CMIP6.ScenarioMIP.NCAR.CESM2-WACCM.ssp585.r1i1p1f1.day.pr.gn.v20200702',\n", | |
| " 'CMIP6.ScenarioMIP.NCAR.CESM2-WACCM.ssp126.r1i1p1f1.day.pr.gn.v20210211',\n", | |
| " 'CMIP6.ScenarioMIP.NCAR.CESM2-WACCM.ssp585.r1i1p1f1.Amon.pr.gn.v20200702',\n", | |
| " 'CMIP6.ScenarioMIP.NCAR.CESM2-WACCM.ssp126.r1i1p1f1.Amon.pr.gn.v20210211',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp126.r1i1p1f1.day.pr.gn.v20210318',\n", | |
| " 'CMIP6.ScenarioMIP.CCCma.CanESM5.ssp585.r1i1p1f1.day.pr.gn.v20190429',\n", | |
| " 'CMIP6.ScenarioMIP.NCAR.CESM2-WACCM.ssp245.r1i1p1f1.day.pr.gn.v20190815',\n", | |
| " 'CMIP6.ScenarioMIP.NUIST.NESM3.ssp245.r1i1p1f1.3hr.pr.gn.v20190731',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-CM2-SR5.ssp126.r1i1p1f1.3hr.pr.gn.v20200717',\n", | |
| " 'CMIP6.ScenarioMIP.NUIST.NESM3.ssp585.r1i1p1f1.3hr.pr.gn.v20190812',\n", | |
| " 'CMIP6.ScenarioMIP.NUIST.NESM3.ssp126.r1i1p1f1.3hr.pr.gn.v20190731',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp585.r1i1p1f1.3hr.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp245.r1i1p1f1.3hr.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp126.r1i1p1f1.3hr.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp119.r1i1p1f1.3hr.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp245.r1i1p1f1.3hr.pr.gn.v20190829',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp119.r1i1p1f1.3hr.pr.gn.v20190829',\n", | |
| " 'CMIP6.ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp585.r1i1p1f1.3hr.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp245.r1i1p1f1.3hr.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp126.r1i1p1f1.3hr.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.MIROC.MIROC6.ssp585.r1i1p1f1.3hr.pr.gn.v20190912',\n", | |
| " 'CMIP6.ScenarioMIP.MIROC.MIROC6.ssp245.r1i1p1f1.3hr.pr.gn.v20190912',\n", | |
| " 'CMIP6.ScenarioMIP.MIROC.MIROC6.ssp126.r1i1p1f1.3hr.pr.gn.v20190912',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp245.r1i1p1f1.3hr.pr.gr.v20190119',\n", | |
| " 'CMIP6.ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp119.r1i1p1f1.3hr.pr.gr.v20190410',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3.ssp585.r1i1p1f1.3hr.pr.gr.v20200310',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3.ssp245.r1i1p1f1.3hr.pr.gr.v20200310',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3.ssp126.r1i1p1f1.3hr.pr.gr.v20200310',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3-Veg.ssp585.r1i1p1f1.3hr.pr.gr.v20200225',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3-Veg.ssp245.r1i1p1f1.3hr.pr.gr.v20200225',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3-Veg.ssp126.r1i1p1f1.3hr.pr.gr.v20200225',\n", | |
| " 'CMIP6.ScenarioMIP.EC-Earth-Consortium.EC-Earth3-Veg.ssp119.r1i1p1f1.3hr.pr.gr.v20200226',\n", | |
| " 'CMIP6.ScenarioMIP.DKRZ.MPI-ESM1-2-HR.ssp585.r1i1p1f1.3hr.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.DKRZ.MPI-ESM1-2-HR.ssp245.r1i1p1f1.3hr.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.DKRZ.MPI-ESM1-2-HR.ssp126.r1i1p1f1.3hr.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp585.r1i1p1f1.3hr.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp245.r1i1p1f1.3hr.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.CSIRO-ARCCSS.ACCESS-CM2.ssp126.r1i1p1f1.3hr.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.CNRM-CERFACS.CNRM-ESM2-1.ssp245.r1i1p1f2.3hr.pr.gr.v20190328',\n", | |
| " 'CMIP6.ScenarioMIP.CNRM-CERFACS.CNRM-ESM2-1.ssp126.r1i1p1f2.3hr.pr.gr.v20190328',\n", | |
| " 'CMIP6.ScenarioMIP.CNRM-CERFACS.CNRM-ESM2-1.ssp119.r1i1p1f2.3hr.pr.gr.v20190328',\n", | |
| " 'CMIP6.ScenarioMIP.CNRM-CERFACS.CNRM-CM6-1.ssp585.r1i1p1f2.3hr.pr.gr.v20190219',\n", | |
| " 'CMIP6.ScenarioMIP.CNRM-CERFACS.CNRM-CM6-1.ssp245.r1i1p1f2.3hr.pr.gr.v20190219',\n", | |
| " 'CMIP6.ScenarioMIP.CNRM-CERFACS.CNRM-CM6-1.ssp126.r1i1p1f2.3hr.pr.gr.v20190219',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-ESM2.ssp585.r1i1p1f1.3hr.pr.gn.v20210126',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-ESM2.ssp245.r1i1p1f1.3hr.pr.gn.v20210129',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-ESM2.ssp126.r1i1p1f1.3hr.pr.gn.v20210126',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-CM2-SR5.ssp585.r1i1p1f1.3hr.pr.gn.v20200622',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-CM2-SR5.ssp245.r1i1p1f1.3hr.pr.gn.v20200617',\n", | |
| " 'CMIP6.ScenarioMIP.CAS.FGOALS-g3.ssp126.r1i1p1f1.3hr.pr.gn.v20200929',\n", | |
| " 'CMIP6.ScenarioMIP.CAS.FGOALS-g3.ssp119.r1i1p1f1.3hr.pr.gn.v20191202',\n", | |
| " 'CMIP6.ScenarioMIP.BCC.BCC-CSM2-MR.ssp585.r1i1p1f1.3hr.pr.gn.v20190318',\n", | |
| " 'CMIP6.ScenarioMIP.BCC.BCC-CSM2-MR.ssp245.r1i1p1f1.3hr.pr.gn.v20190315',\n", | |
| " 'CMIP6.ScenarioMIP.BCC.BCC-CSM2-MR.ssp126.r1i1p1f1.3hr.pr.gn.v20190315',\n", | |
| " 'CMIP6.ScenarioMIP.AWI.AWI-CM-1-1-MR.ssp585.r1i1p1f1.3hr.pr.gn.v20190529',\n", | |
| " 'CMIP6.ScenarioMIP.AWI.AWI-CM-1-1-MR.ssp245.r1i1p1f1.3hr.pr.gn.v20190529',\n", | |
| " 'CMIP6.ScenarioMIP.AWI.AWI-CM-1-1-MR.ssp126.r1i1p1f1.3hr.pr.gn.v20190529',\n", | |
| " 'CMIP6.ScenarioMIP.AS-RCEC.TaiESM1.ssp585.r1i1p1f1.3hr.pr.gn.v20210416',\n", | |
| " 'CMIP6.ScenarioMIP.NUIST.NESM3.ssp126.r1i1p1f1.day.pr.gn.v20190806',\n", | |
| " 'CMIP6.ScenarioMIP.CMCC.CMCC-CM2-SR5.ssp126.r1i1p1f1.day.pr.gn.v20200717',\n", | |
| " 'CMIP6.ScenarioMIP.NUIST.NESM3.ssp585.r1i1p1f1.day.pr.gn.v20190811',\n", | |
| " 'CMIP6.ScenarioMIP.NUIST.NESM3.ssp245.r1i1p1f1.day.pr.gn.v20190805',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp585.r1i1p1f1.day.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp245.r1i1p1f1.day.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp126.r1i1p1f1.day.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp119.r1i1p1f1.day.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-CM4.ssp585.r1i1p1f1.day.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NOAA-GFDL.GFDL-CM4.ssp245.r1i1p1f1.day.pr.gr1.v20180701',\n", | |
| " 'CMIP6.ScenarioMIP.NCC.NorESM2-MM.ssp585.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.NCC.NorESM2-MM.ssp245.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.NCC.NorESM2-MM.ssp126.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.NCC.NorESM2-LM.ssp585.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.NCC.NorESM2-LM.ssp245.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.NCC.NorESM2-LM.ssp126.r1i1p1f1.day.pr.gn.v20191108',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp245.r1i1p1f1.day.pr.gn.v20190603',\n", | |
| " 'CMIP6.ScenarioMIP.MRI.MRI-ESM2-0.ssp119.r1i1p1f1.day.pr.gn.v20190603',\n", | |
| " 'CMIP6.ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp585.r1i1p1f1.day.pr.gn.v20190710',\n", | |
| " 'CMIP6.ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp245.r1i1p1f1.day.pr.gn.v20190710']" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "[f[\"id\"] for f in data[\"features\"]]" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3 (ipykernel)", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.9.12" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment