xdggs


Namexdggs JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryXarray extension for DGGS
upload_time2024-11-25 14:29:49
maintainerxdggs contributors
docs_urlNone
authorBenoît Bovy, Justus Magin
requires_python>=3.10
licenseApache-2.0
keywords dggs xarray gis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![CI](https://github.com/xarray-contrib/xdggs/actions/workflows/ci.yml/badge.svg?branch=main&event=push)](https://github.com/xarray-contrib/xdggs/actions/ci.yml?query=branch%3Amain+event%3Apush)
[![docs](https://readthedocs.org/projects/xdggs/badge/?version=latest)](https://xdggs.readthedocs.io)
[![PyPI version](https://img.shields.io/pypi/v/xdggs.svg)](https://pypi.org/project/xdggs)
[![codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
[![conda-forge](https://img.shields.io/conda/vn/conda-forge/xdggs)](https://github.com/conda-forge/xdggs-feedstock)

---

<img src="https://raw.githubusercontent.com/xarray-contrib/xdggs/main/docs/_static/logos/xdggs_logo.png" width="300" height="300" margin="0" /><br/>

# 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](https://xarray.pydata.org/) 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](https://www.unidata.ucar.edu/software/netcdf/), [Zarr](https://zarr.readthedocs.io/), and parallelization through [Dask](https://www.dask.org/), to provide a powerful and flexible toolkit for geospatial analysis.

## Key Features

- **Seamless Integration with Xarray**: Use `xdggs` alongside 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/](https://xdggs.readthedocs.io/en/latest/).

## Demo

![xdggs demo](https://raw.githubusercontent.com/xarray-contrib/xdggs/refs/heads/main/xdggs-cropped.gif)

## 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:

```python
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](https://github.com/xarray-contrib/xdggs/blob/main/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:

1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes and write tests.
4. Ensure all tests pass (`pytest`).
5. Submit a pull request!

## License

`xdggs` is licensed under the Apache License License. See [LICENSE](https://github.com/xarray-contrib/xdggs/blob/main/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).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "xdggs",
    "maintainer": "xdggs contributors",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "DGGS, xarray, GIS",
    "author": "Beno\u00eet Bovy, Justus Magin",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/89/7f/464288e8edd5ff785531c3f7bc9672465323d36c62cf12172ceeef1fd5de/xdggs-0.1.1.tar.gz",
    "platform": null,
    "description": "[![CI](https://github.com/xarray-contrib/xdggs/actions/workflows/ci.yml/badge.svg?branch=main&event=push)](https://github.com/xarray-contrib/xdggs/actions/ci.yml?query=branch%3Amain+event%3Apush)\n[![docs](https://readthedocs.org/projects/xdggs/badge/?version=latest)](https://xdggs.readthedocs.io)\n[![PyPI version](https://img.shields.io/pypi/v/xdggs.svg)](https://pypi.org/project/xdggs)\n[![codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n[![conda-forge](https://img.shields.io/conda/vn/conda-forge/xdggs)](https://github.com/conda-forge/xdggs-feedstock)\n\n---\n\n<img src=\"https://raw.githubusercontent.com/xarray-contrib/xdggs/main/docs/_static/logos/xdggs_logo.png\" width=\"300\" height=\"300\" margin=\"0\" /><br/>\n\n# xdggs: discrete global grid systems with xarray\n\n`xdggs` is an open-source Python package that provides tools for handling geospatial data using Discrete Global Grid Systems (DGGS).\n\nIt 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.\n\nInspired by the growing need for scalable geospatial data analysis with DGGS, `xdggs` is built upon the robust [Xarray](https://xarray.pydata.org/) ecosystem, which simplifies working with labeled multi-dimensional arrays.\n\nAs an extension of Xarray, `xdggs` leverages Xarray's capabilities, including seamless access to formats like [NetCDF](https://www.unidata.ucar.edu/software/netcdf/), [Zarr](https://zarr.readthedocs.io/), and parallelization through [Dask](https://www.dask.org/), to provide a powerful and flexible toolkit for geospatial analysis.\n\n## Key Features\n\n- **Seamless Integration with Xarray**: Use `xdggs` alongside Xarray's powerful tools for managing labeled, multi-dimensional data.\n- **Support for DGGS**: Convert geospatial data into DGGS representations, allowing for uniform spatial partitioning of the Earth's surface.\n- **Spatial Resampling**: Resample data on DGGS grids, enabling downscaling or upscaling across multiple resolutions.\n- **DGGS Aggregation**: Perform spatial aggregation of data on DGGS cells.\n- **Efficient Data Management**: Manage large datasets with Xarray's lazy loading, Dask integration, and chunking to optimize performance.\n\n## Documentation\n\nYou can find the documentation in [https://xdggs.readthedocs.io/en/latest/](https://xdggs.readthedocs.io/en/latest/).\n\n## Demo\n\n![xdggs demo](https://raw.githubusercontent.com/xarray-contrib/xdggs/refs/heads/main/xdggs-cropped.gif)\n\n## Getting Started\n\nAs 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:\n\n```python\nimport xarray as xr\nimport xdggs\n\nds = xdggs.tutorial.open_dataset(\"air_temperature\", \"h3\")\n\n# Decode DGGS coordinates\nds_idx = ds.pipe(xdggs.decode)\n\n# Assign geographical coordinates\nds_idx = ds_idx.dggs.assign_latlon_coords()\n\n# Interactive visualization\nds_idx['air'].isel(time=0).compute().dggs.explore(center=0, cmap=\"viridis\", alpha=0.5)\n\n```\n\n## Roadmap\n\nWe have exciting plans to expand xdggs with new features and improvements. You can check out our roadmap in the [design_doc.md](https://github.com/xarray-contrib/xdggs/blob/main/design_doc.md) file for details on the design of xdggs, upcoming features, and future enhancements.\n\n## Contributing\n\nWe welcome contributions to `xdggs`! Please follow these steps to get involved:\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature-branch`).\n3. Make your changes and write tests.\n4. Ensure all tests pass (`pytest`).\n5. Submit a pull request!\n\n## License\n\n`xdggs` is licensed under the Apache License License. See [LICENSE](https://github.com/xarray-contrib/xdggs/blob/main/LICENSE) for more details.\n\n## Acknowledgments\n\nThis 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).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Xarray extension for DGGS",
    "version": "0.1.1",
    "project_urls": {
        "Documentation": "https://xdggs.readthedocs.io",
        "Repository": "https://github.com/xarray-contrib/xdggs"
    },
    "split_keywords": [
        "dggs",
        " xarray",
        " gis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c17d68792860892301aef82c58e2ca35a4dbd1db298ccff0ff4091925ac271e5",
                "md5": "450aceb2fd2b9bc8a6a22506cbd6b87e",
                "sha256": "531553da9f23fe564cd6cd204a085cf4e3da240a3d91c141cf15ded8d2c22e02"
            },
            "downloads": -1,
            "filename": "xdggs-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "450aceb2fd2b9bc8a6a22506cbd6b87e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 32543,
            "upload_time": "2024-11-25T14:29:47",
            "upload_time_iso_8601": "2024-11-25T14:29:47.917117Z",
            "url": "https://files.pythonhosted.org/packages/c1/7d/68792860892301aef82c58e2ca35a4dbd1db298ccff0ff4091925ac271e5/xdggs-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "897f464288e8edd5ff785531c3f7bc9672465323d36c62cf12172ceeef1fd5de",
                "md5": "c7ff31caf4c405bd65123471420f3cd8",
                "sha256": "a0e729aa3b73d44bf143e43d705340337db315712c374f9d0b754ff1cf890248"
            },
            "downloads": -1,
            "filename": "xdggs-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c7ff31caf4c405bd65123471420f3cd8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 4225451,
            "upload_time": "2024-11-25T14:29:49",
            "upload_time_iso_8601": "2024-11-25T14:29:49.380139Z",
            "url": "https://files.pythonhosted.org/packages/89/7f/464288e8edd5ff785531c3f7bc9672465323d36c62cf12172ceeef1fd5de/xdggs-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-25 14:29:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xarray-contrib",
    "github_project": "xdggs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "xdggs"
}
        
Elapsed time: 1.42864s