Xarray extension for DGGS
Project description
xdggs: discrete global grid systems with xarray
xdggs is an open-source Python package that provides tools for handling geospatial data using Discrete Global Grid Systems (DGGS).
It enables efficient manipulation and analysis of multi-dimensional gridded data within a DGGS framework, supporting spatial data processing, resampling, and aggregation on both global and regional scales.
Inspired by the growing need for scalable geospatial data analysis with DGGS, xdggs is built upon the robust Xarray ecosystem, which simplifies working with labeled multi-dimensional arrays.
As an extension of Xarray, xdggs leverages Xarray's capabilities, including seamless access to formats like NetCDF, Zarr, and parallelization through Dask, to provide a powerful and flexible toolkit for geospatial analysis.
Key Features
- Seamless Integration with Xarray: Use
xdggsalongside Xarray's powerful tools for managing labeled, multi-dimensional data. - Support for DGGS: Convert geospatial data into DGGS representations, allowing for uniform spatial partitioning of the Earth's surface.
- Spatial Resampling: Resample data on DGGS grids, enabling downscaling or upscaling across multiple resolutions.
- DGGS Aggregation: Perform spatial aggregation of data on DGGS cells.
- Efficient Data Management: Manage large datasets with Xarray's lazy loading, Dask integration, and chunking to optimize performance.
Documentation
You can find the documentation in https://xdggs.readthedocs.io/en/latest/.
Demo
Getting Started
As an example, this is how you would use xdggs to reconstruct geographical coordinates from the cell ids then create an interactive plot indicating cell ids, data values and the associated geographical coordinates:
import xarray as xr
import xdggs
ds = xdggs.tutorial.open_dataset("air_temperature", "h3")
# Decode DGGS coordinates
ds_idx = ds.pipe(xdggs.decode)
# Assign geographical coordinates
ds_idx = ds_idx.dggs.assign_latlon_coords()
# Interactive visualization
ds_idx["air"].isel(time=0).compute().dggs.explore(center=0, cmap="viridis", alpha=0.5)
Roadmap
We have exciting plans to expand xdggs with new features and improvements. You can check out our roadmap in the design_doc.md file for details on the design of xdggs, upcoming features, and future enhancements.
Contributing
We welcome contributions to xdggs! Please follow these steps to get involved:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes and write tests.
- Ensure all tests pass (
pytest). - Submit a pull request!
License
xdggs is licensed under the Apache License. See LICENSE for more details.
Acknowledgments
This project was initiated using funding from CNES (PANGEO IAOCEA, contract R&T R-S23/DU-0002-025-01) and the European Union (ERC, WaterSmartLand, 101125476, Interreg-BSR, HyTruck, #C031).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xdggs-0.6.0.tar.gz.
File metadata
- Download URL: xdggs-0.6.0.tar.gz
- Upload date:
- Size: 46.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34a8ffdaa914de2f1001640c3e5cc3d92f4f59ebf69d786e68f9b229ff22b2f8
|
|
| MD5 |
31a27d95c6f716652c028c47200468e3
|
|
| BLAKE2b-256 |
b5b8ec8e5ef0574eef7706245cd30e550867ab7f8a7ffc252f67c1fa9d09a6c0
|
Provenance
The following attestation bundles were made for xdggs-0.6.0.tar.gz:
Publisher:
pypipublish.yml on xarray-contrib/xdggs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xdggs-0.6.0.tar.gz -
Subject digest:
34a8ffdaa914de2f1001640c3e5cc3d92f4f59ebf69d786e68f9b229ff22b2f8 - Sigstore transparency entry: 923991788
- Sigstore integration time:
-
Permalink:
xarray-contrib/xdggs@3e0f33f0b3c913b3f83491673acc40caee71b2af -
Branch / Tag:
refs/tags/0.6.0 - Owner: https://github.com/xarray-contrib
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypipublish.yml@3e0f33f0b3c913b3f83491673acc40caee71b2af -
Trigger Event:
release
-
Statement type:
File details
Details for the file xdggs-0.6.0-py3-none-any.whl.
File metadata
- Download URL: xdggs-0.6.0-py3-none-any.whl
- Upload date:
- Size: 60.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
352a9e7995e150a0ba99ad5f52a6c3e32ee375452c9e3a73814ed2336a26e88e
|
|
| MD5 |
afb41259111ec8d8ce746c7daf6fd31f
|
|
| BLAKE2b-256 |
3dfc5fffb5d64e933f313fbe60bca5a9361a78227f59030c32dccd682a9a7d5b
|
Provenance
The following attestation bundles were made for xdggs-0.6.0-py3-none-any.whl:
Publisher:
pypipublish.yml on xarray-contrib/xdggs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xdggs-0.6.0-py3-none-any.whl -
Subject digest:
352a9e7995e150a0ba99ad5f52a6c3e32ee375452c9e3a73814ed2336a26e88e - Sigstore transparency entry: 923991789
- Sigstore integration time:
-
Permalink:
xarray-contrib/xdggs@3e0f33f0b3c913b3f83491673acc40caee71b2af -
Branch / Tag:
refs/tags/0.6.0 - Owner: https://github.com/xarray-contrib
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypipublish.yml@3e0f33f0b3c913b3f83491673acc40caee71b2af -
Trigger Event:
release
-
Statement type: