Skip to main content

GeoBridge

Python library that bridges Copernicus Data Stores into mainstream GIS workflows.

GeoBridge removes the technical friction GIS users face when working with Copernicus climate, atmosphere, and emergency data. It resolves dataset discovery, authentication, and access-method differences into a single ergonomic API that produces analysis-ready Cloud Optimized GeoTIFFs.

The library is the foundation for the project's QGIS plugin.


What it does

  • Discovery. gb.discover() lists every dataset in the Copernicus catalogue with filters for keyword, service, variable, bounding box, and time range — all from a locally bundled snapshot, no network needed.
  • Authentication. A single gb.authenticate() call handles credential resolution for the new ARCO bearer-token model.
  • Extraction — ARCO path. gb.zarr_to_geotiff() pulls a spatial / temporal subset from the ARCO Zarr Data Lake and writes it as a Cloud Optimized GeoTIFF, ready for QGIS or ArcGIS.
  • Extraction — CDS API path. gb.cds_to_geotiff() submits a download job through the standard CDS API for datasets that are not yet in the ARCO lake, converts the result to GeoTIFF, and streams it to disk.
  • WMTS. gb.wmts_layer() returns a ready-to-use WMTS layer object for live tile streaming inside QGIS or Leaflet.
  • Form schema. gb.fetch_form() and gb.fetch_constraints() retrieve the server-side parameter form for any dataset so your UI can build validated request widgets. gb.valid_variables_for_product_type() filters the variable list to what the selected product type actually supports.
  • Styling. gb.to_qgis_style() generate calibrated colour ramps for known Copernicus variables.
  • Fusion. gb.fuse() co-registers multiple layers onto a common grid for joint analysis (e.g. heat + air quality).
  • Semantics. gb.semantic_search() resolves user themes like "urban heat island" or "wildfire risk" into concrete dataset and workflow recommendations. gb.list_themes() and gb.list_use_cases() enumerate the built-in vocabulary.

How to run it

Prerequisites

  • Python 3.10 or newer. GeoBridge does not support older Python.
  • A free Copernicus account. Register at https://cds.climate.copernicus.eu and copy your personal access token from your profile page.
  • macOS, Linux, or Windows with WSL2. Native Windows may work but is not tested.

Configure your credentials

Create ~/.cdsapirc with your personal access token:

key: YOUR-CDS-API-KEY-HERE

Then protect the file so other users on the machine cannot read it:

chmod 600 ~/.cdsapirc

Alternatively, export your key as an environment variable instead of writing it to a file:

export CDS_API_KEY=YOUR-CDS-API-KEY-HERE

Run the Athens demo

This is the end-to-end demonstration. It extracts ERA5 temperature for Athens summer 2023, writes a Cloud Optimized GeoTIFF, and generates a matching QGIS style:

python examples/athens_urban_heat.py

Expected runtime is roughly one minute on a reasonable broadband connection. The output appears in ./athens_outputs/. Open the .tif in QGIS, load the .qml style alongside it, and you should see Athens temperatures rendered with a calibrated colour ramp.

License

MIT. See LICENSE.


Acknowledgements

GeoBridge was developed for the ECMWF Copernicus Data Store GIS Integration Challenge.

Release files for geobridge 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geobridge 0.1.10
File Size Uploaded
geobridge-0.1.10.tar.gz 282.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for geobridge 0.1.10
File Interpreter ABI Platform
geobridge-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 530.9 kB

Release files / geobridge-0.1.10.tar.gz

Download URL geobridge-0.1.10.tar.gz
Size 282.6 kB
Tags Source
SHA-256 checksum
How to use checksums
566e75848e00f82646919c632e32fe7840a63819089729de20a2cba0774cedbf
BLAKE2b-256 checksum
How to use checksums
f55c99a12273c033da3c3302fc6bff1a18c3b9474bd44f054bab6a088f2c8ebe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / geobridge-0.1.10-py3-none-any.whl

Download URL geobridge-0.1.10-py3-none-any.whl
Size 248.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eeecb0d9f43a69229ba90ddbe30e4d3e118fb0de8cf1588e5b830d3e541367a1
BLAKE2b-256 checksum
How to use checksums
e39befc76d6e7434169fc533ac55a5daa395e4714905c0fda37916bb9ac9a585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

0.1.16

2 release files

0.1.15

2 release files

0.1.12

2 release files

0.1.11

2 release files

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page