View on GitHub

Sentinel-Evaluations-Generator

Automatically generate raster evaluation maps for Geodesignhub using Sentinel earth obervation data.

Geodesignhub Sentinel Evaluation Maps Builder

This sofware utilizes open data from the EU Copernicus program and Mundialis Actinia Platform to develop Evaluation maps for Geodesignhub. This program uses a combination of image processing on Earth Observation images to develop evaluation maps in Raster at 10m resolution for any site across the world where Sentinel earth observation images are available. Making evaluation maps is the most time consuming part of a Geodesign study, using this script it can be automated. The following evaluation maps are generated:

Find out more about evaluation maps at the Making Evaluations Maps in our community page.

At the moment, this is best suited for generating evaluations at regional level and for studies for where the study area is at a regional scale larger than a few neighbourhoods. Please take a look at the complementary OSM evaluation maps builder.

If you are new to Geodesignhub, please see our course at Teachable.com

Technical Details

This program takes in Earth Observation imagery and produces Evaluation maps for Agriculture, Green Infrastructure, Urban and Transport systems. Below are links to how these maps are generated in desktop GIS software such as ArcGIS or QGIS. This script aims to replicate them using the Mundialis Actinia platform (GRASS as a service) and open source GIS tools and libraries. The following PDFs detail the steps to be taken to generate these maps:

  1. Generating Green Infrastructure Evaluation map
  2. Generating Agriculture Evaluation map
  3. Generating Urban Infrastucture Evaluation map
  4. Generating Transport Map

Installation

Use the requirements.txt file to install libraries that are required for the program

pip install requirements.txt

4-Step process

1. Study area boundary and Sentinel Scene

  1. Upload a GeoJSON boundary file to a publically accessible location e.g. Google Storage or Digital Ocean Spaces as a JSON file.
  2. Use the Sentinel Scene explorer to select a appropriate sentinel scene.
  3. Create file named in the working directory ActiniaCredentials.py and enter your Mundialis Username and passwordin the following format (You can request your Mundialis credentials by filling out their contact form):
cred = {
	"username" : 'YOUR_MUNDIALIS_USERNAME', 
	"password" : 'YOUR_MUNDIALIS_PASSWORD', 
}

2. Update config.py

  1. In config.py set the URL of the boundary GeoJSON in the aoi variable
  2. Set the Sentinel scence name in the sentinelscene parameter (for e.g. S2A_MSIL1C_20170203T032931_N0204_R018_T47NQD_20170203T034408), it is recommended that you choose a scene with 20% or less cloud cover. You can use the Copernicus Open Hub or the EOME tool to select the appropriate scene.

3. Generate Evaluations

  1. Run the Mundialis-Evaluations-Generator.py script and check the output folder for the Evaluation Rasters
  2. Run the Raster-Evaluations-Processor.py to further process the evaluations

4. Post Processing

  1. One of the first things that you can do is use RasterSimplifier.py file to simplify the generated evaluation maps. This script will take the generated files from above and simplify it to generate simplified copies of the file.
  2. The script generates Raster files (*.tiff) that need to be further processed since Geodesignhub accepts only Vectors (GeoJSON).
  3. The script will generate GeoJSON based on the Rasters that are reclassfied, you can do it yourself using GIS and the following steps are recommended to enable uploads to Geodesignhub:
    • Simplify the files using r.neighbours command
    • Convert to vectors
    • Reclassify the vectors to the approrpriate “areatype” attribute