Skip to main content

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.

Release files for xdem 0.2.3

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

Source distribution (sdist)

Source distribution for xdem 0.2.3
File Size Uploaded
xdem-0.2.3.tar.gz 15.4 MB Details

Built distribution (wheel)

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

Total release size: 15.6 MB

Release files / xdem-0.2.3.tar.gz

Download URL xdem-0.2.3.tar.gz
Size 15.4 MB
Tags Source
SHA-256 checksum
How to use checksums
fd163739ef1f112e8d9b2dfd9ad5993f03bb986b625cad95b5e4a8a7b17a7117
BLAKE2b-256 checksum
How to use checksums
bdeb14973dc67d946dcca39043deaf0e9b512bcf940737913167b4a99287eb39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 3, 2026.

Transparency log

Release files / xdem-0.2.3-py3-none-any.whl

Download URL xdem-0.2.3-py3-none-any.whl
Size 208.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cdd260bd0f925ecdd487f6084c1ac06aeb7e96a1b7a747dd36e3eecc617d41aa
BLAKE2b-256 checksum
How to use checksums
d50461dda99e9760a806dedf337531245b8dcc9e6731eba720f89c8d132f3339
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 3, 2026.

Transparency log
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