Git Product home page Git Product logo

xdem's Introduction

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).

It aims at providing modular and robust tools for the most common analyses needed with DEMs, including both geospatial operations specific to DEMs and a wide range of 3D alignment and correction methods from published, peer-reviewed studies. The core manipulation of DEMs (e.g., vertical alignment, terrain analysis) are conveniently centered around DEM and dDEM classes (that, notably, re-implements all tools of gdalDEM). More complex pipelines (e.g., 3D rigid coregistration, bias corrections, filtering) are built around modular Coreg, BiasCorr and Filter classes that easily interface between themselves. Finally, xDEM includes advanced uncertainty analysis tools based on spatial statistics of SciKit-GStat.

Additionally, xDEM inherits many convenient functionalities from GeoUtils such as 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 and Xarray for numerical analysis. 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

mamba install -c conda-forge xdem

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

Citing methods implemented in the package

When using a method implemented in xDEM, please cite both the package and the related study:

Citing xDEM: Zenodo

Citing the related study:

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.

xdem's People

Contributors

erikmannerfelt avatar rhugonnet avatar adehecq avatar friedrichknuth avatar dependabot[bot] avatar atedstone avatar cusicand avatar liuh886 avatar alessandro-gentilini avatar fnands avatar jlandmann avatar matteae avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.