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
509 commitsLast commit ≈ 3 days ago24 stars18 forks

Description

NameVersionTest on pull requestDocstring StyleDocumentation Coverage
Conda RecipeConda Version.github/workflows/test_current_branch.ymlNumpy docstring StyleDocumentation Coverage

GeoKit - Geospatial toolkit for Python

GeoKit communicates directly with functions and objects within the Geospatial Data Abstraction Library (GDAL) and exposes them in such a way that is particularly useful for programmatic general purpose geospatial analyses. It gives low overhead control of fundamental operations; such as reading, writing, and mutating geospatial data sets, manipulating and translating geometries, warping and resampling raster data, and much more. Via the RegionMask object, GeoKit even allows for seamless integration of information expressed across multiple geospatial datasets in many formats and reference systems into the context of a single region.

GeoKit is not intended to replace the GDAL library, as only very small subset of GDAL's capabilities are exposed. Nor is it intended to compete with other libraries with similar functionalities. Instead GeoKit evolved in an ad hoc manner in order to realize the Geospatial Land Eligibility for Energy Systems (GLAES) model which is intended for rapid land eligibility analyses of renewable energy systems and is also available on GitHub. Nevertheless, GeoKit quickly emerged as a general purpose GIS toolkit with capabilities far beyond computing land eligibility. Therefore, it is our pleasure to offer it to anyone who is interested in its use.

DOI

Features

  • Direct exposure of functions and objects in the GDAL library
  • Reading, writing, and manipulating raster and vector datasets
  • Translation between data formats and projection systems
  • Direct conversion of raster data into NumPy matrices

Installation

Installation via conda-forge

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

conda create -n geokit -c conda-forge geokit

or into an existing environment with:

conda install -c conda-forge geokit

Installation from a local folder

  1. First clone a local copy of the repository to your computer, and move into the created directory
git clone https://github.com/FZJ-IEK3-VSA/geokit.git
cd geokit
  1. (Alternative) If you want to use the 'dev' branch (or another branch) then use:
git checkout dev
  1. When using Anaconda / (Micro-)Mamba (recommended), GeoKit should be installable to a new environment with:
conda env create --file requirements.yml
conda activate geokit
pip install . --no-deps
  1. (Alternative) Or into an existing environment with:
conda env update --file requirements.yml -n <ENVIRONMENT-NAME>
conda activate geokit
pip install . --no-deps
  1. (Alternative) If you want to install GeoKit in editable mode, and also with jupyter notebook and with testing functionalities use:
conda env create --file requirements-dev.yml
conda activate geokit
pip install . --no-deps -e

Examples

See the Examples page

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 Energy and Climate Research - Techno-economic Systems Analysis (IEK-3) belonging to the Forschungszentrum Jülich. Our interdisciplinary department's research is focusing on energy-related process and systems analyses. Data searches and system simulations are used to determine energy and mass balances, as well as to evaluate performance, emissions and costs of energy systems. The results are used for performing comparative assessment studies between the various systems. Our current priorities include the development of energy strategies, in accordance with the German Federal Government’s greenhouse gas reduction targets, by designing new infrastructures for sustainable and secure energy supply chains and by conducting cost analysis studies for integrating new technologies into future energy market frameworks.

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