Skip to main content

Analysis of digital elevation models and elevation point clouds

Project description

xDEM: robust analysis of DEMs in Python.

Documentation Status build Conda Version Conda Platforms Conda Downloads PyPI version Coverage Status

Binder Pre-Commit Formatted with black Checked with mypy Imports: isort

xDEM is an open source project to develop a core Python package for the analysis of digital elevation models (DEMs) and elevation point clouds (EPCs).

It aims at providing modular and robust tools for the most common analyses needed with elevation data, including geospatial operations (vertical referencing), terrain analysis/geomorphometry (e.g., slope, aspect, curvatures, roughness indexes), 3D coregistration, corrections and uncertainty analysis from a wide range of peer-reviewed studies (see Methods section below for the full list).

The core manipulation of elevation data is conveniently centered around DEM and EPC classes. Terrain analysis is implemented in a modular way to support state-of-the art methods (and, notably, re-implements all tools of gdalDEM). More complex pipelines (e.g., 3D rigid coregistration, bias corrections) are built around modular Coreg objects that easily interface between themselves.

Additionally, for raster and point cloud functionalities, xDEM inherits many convenient functionalities from GeoUtils. Those include implicit loading, numerical interfacing and convenient object-based geospatial methods to easily perform the most common higher-level tasks needed by geospatial users (e.g., reprojection, cropping, vector masking). Through GeoUtils, xDEM relies on Rasterio, GeoPandas and Pyproj for georeferenced calculations, and on NumPy, SciPy (and optionally Numba) for efficient numerics. It allows easy access to the functionalities of these packages through interfacing or composition, and quick inter-operability through object conversion.

If you are looking for an accessible Python package to write the Python equivalent of your GDAL command lines, or of your QGIS analysis pipeline without a steep learning curve on Python GIS syntax, xDEM is perfect for you! For more advanced users, xDEM also aims at being efficient and scalable by supporting lazy loading and parallel computing (ongoing).

Documentation

For a quick start, full feature description or search through the API, see xDEM's documentation at: https://xdem.readthedocs.io.

Installation

With mamba

mamba install -c conda-forge xdem

See mamba's documentation to install mamba, which will solve your environment much faster than conda.

With pip

pip install xdem

Methods implemented in the package

Below is a summary of the methods implemented in xDEM.

When using a method implemented in xDEM, please cite both the package and the related study. For xDEM, use the following DOI: Zenodo

Contributing

We welcome new contributions, and will happily help you integrate your own DEM routines into xDEM!

After discussing a new feature or bug fix in an issue, you can open a PR to xDEM with the following steps:

  1. Fork the repository, make a feature branch and push changes.
  2. When ready, submit a pull request from the feature branch of your fork to GlacioHack/xdem:main.
  3. The PR will be reviewed by at least one maintainer, discussed, then merged.

More details on our contributing page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xdem-0.2.2.tar.gz (15.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xdem-0.2.2-py3-none-any.whl (207.1 kB view details)

Uploaded Python 3

File details

Details for the file xdem-0.2.2.tar.gz.

File metadata

  • Download URL: xdem-0.2.2.tar.gz
  • Upload date:
  • Size: 15.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xdem-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3ebcc453426c943ef55dc1e46be05ff6b8486a765ef518e84bcc9113f6c027de
MD5 dc7aeef21d3e2cbaf2a95ad55a813b4f
BLAKE2b-256 dad8d8b7c6d6015f5c502abb667d5920f4329c925321b4bab3ca05b7e82bc03f

See more details on using hashes here.

Provenance

The following attestation bundles were made for xdem-0.2.2.tar.gz:

Publisher: pypi-publish.yml on GlacioHack/xdem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xdem-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: xdem-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 207.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xdem-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2af7ac81facb0d2f6afd32bf2554b70b0eae01fd285b777942c4ad7bc085b170
MD5 0094b5877de430812c433adfe0a3259f
BLAKE2b-256 b02e614013b55804cad5c4b2f33cb519c850bdf6e8a8ad9752594c47ef235f01

See more details on using hashes here.

Provenance

The following attestation bundles were made for xdem-0.2.2-py3-none-any.whl:

Publisher: pypi-publish.yml on GlacioHack/xdem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page