A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

glaes

Geospatial Land Availability for Energy Systems.
https://github.com/fzj-iek3-vsa/glaes

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

energy geospatial geospatial-analysis python renewable-energy

Keywords from Contributors

gdal gdal-library general-purpose geospatial-data raster-data energy-system aggregation typical-periods

Last synced: about 12 hours ago
JSON representation

Repository metadata

Geospatial Land Availability for Energy Systems

README.md

Geospatial Land Availability for Energy Systems (GLAES)

GLAES is a framework for conducting land eligibility analyses and is designed to easily incorporate disparate geospatial information from a variety of sources into a unified solution.
Currently, the main purpose of GLAES is performing land eligibility (LE) analyses which, in short, are used to determine which areas within a region are deemed 'eligible' for some purpose (such as placing a wind turbine).
Although initially intended to operate in the context of distributed renewable energy systems, such as onshore wind and open-field solar parks, the work flow of GLAES is applicable to any context where a constrained indication of land is desired.
Except in the context of Europe, GLAES only provides a framework for conducting these types of analyses, and so the underlying data sources which are used will need to be provided.
Fortunately, GLAES is built on top of the Geospatial Data Abstraction Library (GDAL) and so is capable of incorporating information from any geospatial dataset which GDAL can interpret; including common GIS formats such as .shp and .tif files.
In this way, GLAES affords a high degree of flexibility such that very specific considerations, while still maintaining a consistent application method between studies.

DOI

Features

  • Standardized approach to land eligibility analyses
  • Applicable in any geographic region and at any resolution
  • Can flexibly incorporate most geospatial datasets: including the common .shp and .tif formats
  • Simple visualization and storage of results as common image or raster dataset
  • Simple integration of results into other analysis (via numpy array)

European Priors

A number of precomputed (Prior) datasets which constitute the most commonly considered criteria used for LE analyses have been constructed for the European context.
These datasets are formatted to be used directly with the GLAES framework and, in doing so, drastically reduce the time requirements, data management, and overall complexity of conducting these analyses.
The Priors also have the added benefit of providing a common data source to all LE researchers, which further promotes consistency between independent LE evaluations.
Most important, usage of these datasets is just as easy as applying exclusions from other geospatial datasources.
Although the Prior datasets are not included when cloning this repository, they can be downloaded from Mendeley Data and installed by unzipping (or placing if downloaded one-by-one) the files in the repo directory glaes/data/priors.


Example

A simple LE work flow using GLAES would go as follows:

Objective:

  • Determine land eligibility for photovoltaic (PV) modules in the Aachen administration region considering that...
    1. PV modules should not cover agricultural areas (because people need to eat)
    2. PV modules should not be within 200 meters of a major road way (because they may get dirty)
    3. PV modules should not be within 1000 meters of a settlement area (because they are too shiny)
    ec = ExclusionCalculator(aachenRegion, srs=3035, pixelSize=100)
    ec.excludePrior("agriculture_proximity", value=0)
    ec.excludePrior("settlement_proximity", value=(None,1000))
    ec.excludePrior("roads_main_proximity", value=(None,200))
    ec.draw()

More Examples

  1. Basic Workflow
  2. Placement Algorithm

Installation

Recommended installation

The recommended way to install GLAES is to use the conda-package manager. This will ensure that all dependancies are installed correctly and that the package is compatible with your system.

Using the conda package manager of your choice (we recommend mambaforge), you can install GLAES with the following command:

conda install -c conda-forge glaes

If you are installing GLAES into an environment using an environment.yml file, make sure to add the conda-forge channel to the file:

channels:
  - conda-forge
  - defaults
dependencies:
  - conda-forge::glaes

However, we highly recommend that you install the package into a new, empty environment, as the dependancies of GLAES may conflict with other packages you have installed. We currently working on a new release which will be compatible with later versions of GDAL (>3.0).

Alternative installation

The primary dependancies of GLAES are:

  1. gdal>2.0.0,<3.0.0
  2. GeoKit >= 1.2.4

If you can install these modules on you own, then the glaes module should be easily installable with:

pip install git+https://github.com/FZJ-IEK3-VSA/glaes.git#egg=glaes

If, on the otherhand, you prefer an automated installation using Anaconda, then you should be able to follow these steps:

  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/glaes.git
cd glaes
  1. (Alternative) If you want to use the 'dev' branch (or another branch) then use:
git checkout dev
  1. GLAES should be installable to a new environment with:
conda env create --file requirements.yml
  1. (Alternative) Or into an existing environment with:
conda env update --file requirements.yml -n <ENVIRONMENT-NAME>
  1. (Alternative) If you want to install GLAES in editable mode, and also with jupyter notebook and with testing functionalities use:
conda env create --file requirements-dev.yml

Associated papers

If you would like to see a much more detailed discussion on land eligibility analysis and see why a framework such as GLAES is not only helpful, but a requirement, please see:

The Background Paper

Examples of Land Eligibility evaluation and applications:


Example applications of external institutions


Citation

If you decide to use GLAES anywhere in a published work, please kindly cite us using the following

@article{Ryberg2018,
  author = {Ryberg, David and Robinius, Martin and Stolten, Detlef},
  doi = {10.3390/en11051246},
  issn = {1996-1073},
  journal = {Energies},
  month = {may},
  number = {5},
  pages = {1246},
  title = {{Evaluating Land Eligibility Constraints of Renewable Energy Sources in Europe}},
  url = {http://www.mdpi.com/1996-1073/11/5/1246},
  volume = {11},
  year = {2018}
}

License

MIT License

Copyright (c) 2017-2022 David Severin Ryberg (FZJ IEK-3), Jochen Linßen (FZJ IEK-3), Martin Robinius (FZJ IEK-3), Detlef Stolten (FZJ IEK-3)

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

About Us

Acknowledgment

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


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 286
Total Committers: 12
Avg Commits per committer: 23.833
Development Distribution Score (DDS): 0.78

Commits in past year: 25
Committers in past year: 2
Avg Commits per committer in past year: 12.5
Development Distribution Score (DDS) in past year: 0.28

Name Email Commits
Stanley s****h@f****e 63
Severin Ryberg S****9@G****m 61
Severin s****g@f****e 54
Chris c****r@f****e 53
t.pelser t****r@f****e 37
Sev y****u@e****m 6
Shitab Ishmam s****m@f****e 4
Junsong Du j****u@1****m 4
ra.maier r****r@f****e 1
noah80 n****0 1
Julian Schönau 6****e 1
Dilara Gulcin Caglayan d****n@f****e 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 18
Total pull requests: 11
Average time to close issues: 8 months
Average time to close pull requests: about 1 month
Total issue authors: 9
Total pull request authors: 5
Average comments per issue: 2.56
Average comments per pull request: 0.36
Merged pull request: 7
Bot issues: 0
Bot pull requests: 0

Past year issues: 8
Past year pull requests: 4
Past year average time to close issues: 4 days
Past year average time to close pull requests: 2 days
Past year issue authors: 3
Past year pull request authors: 1
Past year average comments per issue: 1.88
Past year average comments per pull request: 0.25
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/fzj-iek3-vsa/glaes

Top Issue Authors

  • tpelser (6)
  • julian-belina (3)
  • sevberg (2)
  • chrisjwin (2)
  • samiyhanaqvi (1)
  • MatteoF86 (1)
  • euronion (1)
  • claywlin (1)
  • fneum (1)

Top Pull Request Authors

  • tpelser (6)
  • OfficialCodexplosive (2)
  • noah80 (1)
  • sevberg (1)
  • coroa (1)

Top Issue Labels

  • next hackathon (3)

Top Pull Request Labels


Package metadata

proxy.golang.org: github.com/fzj-iek3-vsa/glaes

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/fzj-iek3-vsa/glaes#section-documentation
  • Licenses:
  • Latest release: v1.3.0 (published about 1 month ago)
  • Last Synced: 2025-04-25T13:32:31.241Z (1 day ago)
  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%
proxy.golang.org: github.com/FZJ-IEK3-VSA/glaes

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/FZJ-IEK3-VSA/glaes#section-documentation
  • Licenses:
  • Latest release: v1.3.0 (published about 1 month ago)
  • Last Synced: 2025-04-25T13:32:31.253Z (1 day ago)
  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%
conda-forge.org: glaes

  • Homepage: https://github.com/FZJ-IEK3-VSA/glaes
  • Licenses: MIT
  • Latest release: 1.1.6 (published over 2 years ago)
  • Last Synced: 2025-04-01T02:10:13.551Z (26 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 34.025%
    • Forks count: 36.701%
    • Average: 40.97%
    • Stargazers count: 41.977%
    • Dependent packages count: 51.175%

Dependencies

setup.py pypi
  • descartes *
  • gdal >2.0.0,<3.0.0
  • geokit >=1.2.8
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *
Dockerfile docker
  • sevberg/geokit latest build

Score: -Infinity