Ctrl K

ETHOS.GeoKit

GeoKit provides simple high performance functions to analyze and alter geometric data. These can be used for land eligibility analysis to determine for renewable energy plants and general data selection based on geometric criteria.

3
contributors
Get started
595 commitsLast commit ≈ 1 week ago29 stars18 forks

Description

NameVersionTestsPytest CoverageDocstring StyleDocumentation Coverage
Conda RecipeConda VersionTestscodecovNumPy docstring styleDocumentation Coverage

Documentation Overview

ETHOS.GeoKit is a Python toolkit designed to efficiently handle geospatial data and spatial operations. It provides low-overhead control of fundamental geospatial operations including:

  • Reading, writing, and mutating geospatial datasets
  • Manipulating and translating geometries between coordinate systems
  • Warping and resampling raster data
  • Seamlessly integrating multiple geospatial datasets through the RegionMask object

The RegionMask object is particularly powerful, allowing seamless integration of information expressed across multiple geospatial datasets in various formats and reference systems into the context of a single region. Extensive documentation about ETHOS.GeoKit can be found at https://geokit.readthedocs.io/.

ETHOS.GeoKit is part of the ETHOS (Energy Transformation PatHway Optimization Suite). It builds upon the software GDAL (Geospatial Data Abstraction Library) and exposes its capabilities in a way that is particularly useful for programmatic, general-purpose geospatial analyses. Geokit is for example used in GLAES and RESKit.

Installation

If you just want to use ETHOS.GeoKit, install it from Conda Forge. To download and execute all the examples or develop the source code, install it from the source. Both installations require conda or mamba, which can be used interchangeably. We recommend the Miniforge installer.

Installation via conda-forge (Recommended)

The easiest way to install ETHOS.GeoKit into a new environment is from conda-forge:

conda create -n geokit -c conda-forge geokit

Or into an existing environment with:

conda install -c conda-forge geokit

Installation from Source

  1. Clone the repository and navigate to it:
git clone https://github.com/FZJ-IEK3-VSA/geokit.git
cd geokit
  1. (Optional) Switch to the development branch:
git checkout dev
  1. Create a new environment:
conda env create --file requirements-dev
conda activate geokit
pip install . --no-deps
  1. (Alternative) Update an existing environment:
conda env update --file requirements-dev -n <ENVIRONMENT-NAME>
conda activate geokit
pip install . --no-deps

Getting Started

The best way to learn ETHOS.GeoKit is through hands-on examples. This documentation includes:

  • Example notebooks in the docs/Examples folder demonstrating real-world use cases
  • Detailed guides in the docs/example_articles folder explaining key concepts
  • API documentation providing comprehensive reference information
  • Source code in the geokit folder for advanced users

Start with the Introduction to ETHOS.GeoKit to understand the fundamentals, or jump directly to the capability area that interests you most.

Contributions and Support

All contributions are welcome:

  • If you have a question, want to report a bug, or have a feature request, please open an Issue. We will then take care of the issue as soon as possible.
  • If you want to contribute with additional features or code improvements, open a Pull request.

License

MIT License

Active developers: Christoph Winkler, Shitab Ishmam, Julian Belina, Noah Pflugradt, Heidi Heinrichs, Jochen Linßen, Detlef Stolten

Alumni: David Severin Ryberg, Martin Robinius, Stanley Risch, Julian Schönau, Rachel Maier, David Franzmann

You should have received a copy of the MIT License along with this program.
If not, see https://opensource.org/licenses/MIT

About Us

We are the Institute of Climate and Energy Systems – Jülich Systems Analysis (ICE-2) at the Forschungszentrum Jülich. Our work focuses on independent, interdisciplinary research in energy, bioeconomy, infrastructure, and sustainability. We support a just, greenhouse gas–neutral transformation through open models and policy-relevant science.

Code of Conduct

Please respect our code of conduct.

Acknowledgment

This work was supported by the Helmholtz Association under the Joint Initiative "Energy System 2050: A Contribution of the Research Field Energy".

Keywords
Programming language
  • Python 100%
License
</>Source code
Packages
anaconda.org
github.com

Participating organisations

Forschungszentrum Jülich

Contributors

SI
Shitab Ishmam
JB
Julian Belina
Rsearch Associate
Forschungszentrum Jülich
CW
Christoph Winkler

Helmholtz Program-oriented Funding IV