FOSS4G Europe 2024 workshops

To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
09:00
09:00
120min
Building Spatial APIs in PostgreSQL with PostgREST
krishna lodha

Spatial data has become an integral part of modern applications, enabling developers to create location-aware and geospatially enhanced services. This workshop aims to guide participants through the process of creating powerful Spatial APIs in PostgreSQL using the PostgREST framework. PostgreSQL, renowned for its extensibility and support for spatial data, combined with the simplicity and efficiency of PostgREST, provides a robust foundation for developing spatially-aware applications.

The workshop will cover fundamental concepts of spatial databases, delve into PostgreSQL's spatial capabilities, and demonstrate the seamless integration of PostgREST to expose spatial data as RESTful APIs. Participants will gain hands-on experience in designing and implementing spatial queries, leveraging PostGIS extensions, and configuring PostgREST to serve spatial data efficiently.

Workshop line out will be as follow :
- PostgreSQL and PostGIS Essentials
- PostgREST Overview
- Hands-On Implementation of creating existing as well as new spatial functions to be used in API
- Authentication for APIs based on PostgreSQL users

Room 301
09:00
120min
Getting started with GIT
Raymond Nijssen

Ever wondered if you should start using GIT? Or ever pushed into using GIT by your colleagues? But never found the time or courage to figure out how it works?
This workshop will get you up and running with the basics of version control system GIT.

Room 202
09:00
240min
Introduction to GeoServer
Ian Turton

GeoServer is a much loved open-source project and one of the most popular web mapping services in the world. This workshop provides a gentle hands-on introduction in setting up and enjoying GeoServer.

This workshop covers the advantages of using GeoServer; looking at the abilities of this open-source technology.

This session is a great way to get started, geared towards those with no prior open source experience. Familiarity with GIS concepts is recommended for attendees, and you are welcome to bring your own data.

Room 246
09:00
240min
Setting up a Spatial Data Infrastructure (SDI) with Open Source Software using OSGeoLive
Astrid Emde, Enock Seth Nyamador

This workshop provides a practical, overview of key software used within a Spatial Data Infrastructure SDI.

In the workshop we will use OSGeoLive and the Open Source software and sample data shipped with it to get to know the components of an SDI.

Room 327
09:00
120min
Use of EODAG library for cross providers Earth Observation use
Sylvain Brunato, Arnaud Le Carvennec

EODAG is an Open-Source Python library and Command Line Interface client that federates and unifies access to cross-providers Earth Observation data. This library is already massively used at ESA, EUMETSAT, CNES, EUSPA and other EO specialists including Airbus, Thales... In this workshop the attendees will learn to use the library efficiently as well as discover advanced plugins (Jupyterlab extension, Xarray integration...). Advanced users will also learn to implement their own plugin to be able to extend EODAG with their own data catalogue.

Room 335
11:00
11:00
120min
From OpenStreetMap to GTFS to website for public transport.
pomodoren

Creating a website for informing citizens on the bus map, schedules, routing, takes time and commitment from the institutions. They need to make sure that the stations are correct, the schedules dynamic (as there are changes all the time), the public infrastructure data is updated (e.g., for accessibility), and then the generation of the website takes its own process (incl. procurement, auditing). This process is not always straightforward, as there are difficulties in standardizing all this information and creating a streamline process for a modest municipality.

The OpenStreetMap transport layer is informative and resourceful. By interacting with several tools, there is a way to generate public transport websites for municipalities that can be based directly on OpenStreetMap database of transport infrastructure. In this workshop we will go through the process of generating a PT website for a municipality, through the following steps:

  • explore the OSM Transport layer
  • explore the GTFS
  • decide on a city (eg. Prishtina in Kosovo, Durres or Tirana in Albania, or your city)
  • create a timetable for 2-3 lines through easy-timetable-generator (or smth else)
  • use osm2gtfs to create gtfs information (and debug possible issues that you might face)
  • validate gtfs you created (lines, directions, routes, platforms)
  • use of GTFS-to-HTML for creating grouped schedules
  • (optional) integrate transit-departures-widget
  • (optional) tweak maps to integrate accessibility icons
  • generate website, beautify

This process will provide some insight on how OSM relations work, how to integrate the OSM data with frequency data (to produce GTFS), and how to prettify this information for citizens.

Room 335
11:00
120min
Harnessing Earth's Data: Mastering Earth System Data Cubes
David Montero Loaiza, Maximilian Söchting

In an era where access to Earth system data is expanding at an unprecedented rate, effectively managing this highly-dimensional and voluminous influx poses significant challenges. The rise of Earth System Data Cubes (ESDCs) represents a revolutionary stride in efficiently handling, analysing, and visualising these complex datasets. ESDCs, with their multidimensional array structure, offer an organised, intuitive framework for robust data analysis. They encapsulate Earth system data in an analysis-ready form, defined by spatial, temporal, and variable dimensions. The integration of novel cloud technologies and cloud-ready formats, including SpatioTemporal Asset Catalogs (STAC) and Cloud Optimised GeoTIFFs (COG), has further streamlined the construction of ESDCs.

Our workshop is a comprehensive, interactive session designed to equip participants with the skills to construct and manage ESDCs using open-source Python tools.

The workshop is divided into five engaging segments:

  1. Introduction to Earth System Data Cubes (30 mins): This segment presents the concept of ESDCs, contrasting them with other data systems (such as image collections and information-preserving data cubes), and exposes their unique properties and construction rules.
  2. ESDC Playground (30 mins): Participants will engage with a global-scale ESDC (see Mahecha et al., 2020) using Python libraries such as xarray, zarr, dask, and matplotlib, demonstrating data access, exploration, analysis, and visualisation.
  3. Constructing ESDCs from Scratch (1 hour): Leveraging cloud technologies and open-source software, this segment guides through the creation of ESDCs from STAC catalogues and Google Earth Engine, incorporating diverse data sources like Earth Observation resources (e.g. Sentinel and Landsat missions), climate data (e.g. ERA5) and other products (e.g. Land cover and elevation products).
  4. Interactive Visualisation of ESDCs (1 hour): Focuses on the dynamic visual representation of ESDCs using Lexcube (see Lexcube.org) within Jupyter Notebooks, enhancing understanding through interactive widgets and coding.
  5. Collaborative Outro (1 hour): The workshop culminates in a brainstorming session aimed at unifying ESDC concepts, discussing standards, open-source tools, and potential applications. This collective discussion will be gathered into a white paper, aspiring for publication.

This workshop invites participants from all skill levels, from beginners to experts, with a foundational requirement of basic Python proficiency. Participants are expected to have a pre-installed Python environment to fully engage in the workshop's hands-on segments. Join us in this journey to harness the power of open-source software for exploring and understanding our planet in unprecedented detail.

Room 301
11:00
120min
Practical data versioning with Kart
Robert Coup

Kart is a powerful cross-platform version control system for geospatial datasets: vectors, rasters, tables, and point clouds; built to enable collaboration. The workshop will introduce you to Kart and walk through its key functionality so you're ready to use it on your next project.

Designed to enable collaboration and cross-vendor workflows, Kart is built on the power of Git. Working copies are common GIS files and spatial databases, so you can edit data directly in GIS software without plugins.

We'll be creating new repositories by importing open data sets; editing and committing data changes; reviewing history; cloning & pushing datasets; using and understanding different working copy formats; performing branching and merging; using the Kart QGIS plugin; building repositories over existing Raster & Point Cloud data; and collaborating with other users.

Room 202
13:00
13:00
60min
Lunch
Room 327
13:00
60min
Lunch
Room 246
13:00
60min
Lunch
Room 301
13:00
60min
Lunch
Room 202
13:00
60min
Lunch
Room 335
14:00
14:00
240min
Let's combine GRASS, Python and R: Satellite time series data for species distribution modeling
Veronica Andreo

In this workshop, we will explore the combined use of GRASS GIS, Python and R in a workflow of species distribution modeling (SDM). We will use a time series of satellite land surface temperature data to derive relevant predictors. The satellite data processing will be performed using GRASS GIS software functionality within a JupyterLab environment, taking advantage of the latest GRASS GIS Python features for Jupyter. Then, we’ll read our predictors within R and perform SDM, visualize and analyze results there. Finally, we'll exemplify how to write the output distribution maps back into GRASS for further analysis.

Room 301
14:00
240min
Manage your geospatial data with PostgreSQL/PostGIS
Astrid Emde, Enock Seth Nyamador

PostgreSQL is a powerful, open source object-relational database system. It can be extended with PostGIS which allows you to store and handle geospatial data in the database.
This combination is very powerful and provides many possibilities.

Room 327
14:00
240min
Scripting with pyQGIS for beginners
Andrea Antonello, Raymond Nijssen

Scripting is the power tool for any GIS user. It gives users the possibility to solve particular problems or automate long tasks. This workshop introduces pyQGIS to new users.

The workshop aims to give a first introduction to scripting in QGIS using its python scripting language pyQGIS.
The workshop will introduce the main python objects used to represent geometric and geographic objects, being it vector or raster.

Room 246
14:00
240min
Styling Natural Earth with GeoServer
Andrea Aime, krishna lodha, Ian Turton

This workshop is a practical introduction to advanced data styling with GeoServer using the GeoCSS styling language and Natural Earth data to build a multi-scale political map. Join to learn the basics of GeoCSS, and a number of interesting tricks to build an interesting, colorful, informative map.

Room 335
14:00
240min
ZOO-Project - OGC API - Processes - Introduction
Rajat Shinde, Gérald Fenoy

The ZOO-Project will first be presented, along with details about the OGC API - Processes part 1: core. The participants will then learn how to set up the ZOO Kernel and to get an OGC API - Processes server running in a few simple steps. Some basic services will be presented to the attendees to give them the capability to reuse them later in their own application. Then, they will learn how to develop simple service using the Python language, through simple programming exercises. A ready to use client will be used to interact with the available OGC API - Processes services and the one to be developed. Participants will finally learn how to chain the existing services using the server-side Javascript ZOO-API.

Room 202
09:00
09:00
240min
A HACKER’S GUIDE FOR NO-CODE GEOPROCESSING USING PYTHON AND QGIS
Jorge Martinez

Within the geospatial world, we are usually immersed with different analysis for specific purposes. It ranges from basic intersection of polygons, to complex estimations such as population at risk to floods in Sri Lanka. These operations involve a defined set of inputs and a set of steps or instructions, whose number depends on the final goal. Using previous examples, intersection requires two polygons, while the flood analysis needs a population and flood layers, country administrative boundaries, etc. From a hacker’s perspective, as we break down what we can denote as workflow, into a minimum set of commands, we realize that executing them in a manual manner could be overwhelming, since the number of operations increases. Furthermore, as a hacker you become aware that there might exist human-prone errors, such as incorrect inputs or parameters.

This workshop will teach attendees the development of an automated process using QGIS. By taking advantage of the QGIS processing models, together combined with the Processing toolbox, users will automate manual tasks in a no-code manner. Ranging from simple to complex workflows, users will reduce time and errors that are common in a manual manner.

Furthermore, functions and analysis that do not exist within QGIS, can be created. Using custom scripts written in Python, users will leverage and extend and adapt the actual Processing toolbox to fulfil the desired goal.

Room 202
09:00
240min
Diving into pygeoapi
Tom Kralidis, Paul van Genuchten, Angelos Tzotsos, krishna lodha, Just van den Broecke, Joana Simoes, Luís M. de Sousa

pygeoapi is an OGC Reference Implementation supporting numerous OGC API specifications. This workshop will cover publishing geospatial data to the Web using pygeoapi in support of the suite of OGC API standards.

Room 246
09:00
240min
Getting Started with MapServer
Seth Girvin

MapServer is an Open Source platform for publishing spatial data and interactive mapping applications to the web. Learn how to setup and use one of the fastest map engines in the world!

Room 335
09:00
240min
Point Cloud Processing with QGIS
Hans van der Kwast

Point Cloud Processing with QGIS is a workshop that will teach you how to work with point cloud data in QGIS. You will discover how to use QGIS's new features for point cloud processing, such as native point cloud processing tools and 3D rendering. Besides tools in the QGIS Desktop user interface, you’ll learn how to use PDAL wrench. PDAL wrench is a collection of easy to use command line tools for processing point cloud data, integrated in the QGIS Processing framework. Most of the tools are multi-threaded, making good use of all available CPUs for fast processing. All tools are based on PDAL pipelines, but easier to use with commands that look similar to GDAL commands.

By the end of this workshop, you will be able to:
- Download and preprocess point cloud data from different sources, such as LiDAR, photogrammetry or drones
- Create digital surface models from point cloud data using different interpolation methods
- Explore point cloud data in 3D using the QGIS 3D view and customize its appearance and style
- Explore point cloud data using the Elevation Profile tool
- Apply filters to point cloud data to derive features
- Automate point cloud processing using PDAL wrench.

To participate in this workshop, you will need QGIS 3.34 Prizren, the latest version of QGIS that includes all the new point cloud processing features. You can download it from the official QGIS website or use the OSGeo4W installer. During the workshop you can use your own point cloud data or the open data that we will provide.

Room 327
09:00
240min
Practical hands-on from data collection in the field using QField/QFieldCloud to a nice looking atlas
Matthias Kuhn, Ivan Ivanov, Laura Tinarelli

The mobile app QField has become an important tool for data collection in the field due to its user-friendly interface and seamless integration with QGIS.
In this workshop we will understand the practical usage of QField for structured data collection in the field such as images, measures or characteristics of objects or plants in the field and how to use the data collected for creating a report using the QGIS atlas function.
Practically speaking, in the first part of the workshop we will set up the QGIS project specifying all the necessary characteristics for the data collection.
We will explain how we usually set up a project to go in the field with a flexible, but quick-to-use data structure for collecting data QField.
We will then synchronize the data structure in QField via QFieldCloud, and understand how to use it for data collection.

Lastly we will synchronize the QField data back to QGIS and will create an organized atlas linked to a map for publishing or sharing!

Room 301
13:00
13:00
60min
Lunch
Room 327
13:00
60min
Lunch
Room 246
13:00
60min
Lunch
Room 301
13:00
60min
Lunch
Room 202
13:00
60min
Lunch
Room 335
14:00
14:00
240min
Doing Geospatial with Python
Tom Kralidis, Paul van Genuchten, Angelos Tzotsos, krishna lodha, Just van den Broecke, Luís M. de Sousa

This workshop will provide an introduction to performing common GIS/geospatial tasks using Python geospatial tools such as OWSLib, Shapely, Fiona/Rasterio, and common geospatial libraries like GDAL, PROJ, pycsw, as well as other tools from the geopython toolchain.

Room 246
14:00
240min
G3W-SUITE: the OS framework to publish and manage QGIS projects on the web
Walter Lorenzetti

G3W-SUITE is a modular, client-server application for managing and publishing interactive QGIS cartographic projects of various kinds in a totally independent, simple and fast way.

The application is compatible with QGIS LTR version and it is based on strong integration with the QGIS API.

Description max 500 words
The workshop allows you to learn how to install, initialize and activate the various features of the suite.
The aim of the session is to transform a QGIS project into a web cartographic management software dedicated to online editing.

The following topics will be covered in the workshop: * installation and configuration of G3W-SUITE on a Ubuntu LTS server; * from QGIS desktop to G3W-SUITE * overview of the suite features, widgets and capabilities * creation of users and definition of roles (Admin, Manager, Viewer ...) * creation of thematic containers and functional association with users * publication and management of a QGIS project as WebGis service * function settings related to individual layers: searches, downloads ... * introduction to web geo-editing suite capabilities * creation of geographic and alphanumeric constraints (visualization and editing) based on individual users * view interactive graphs created with the QGIS Data Plotly plugin on webgis * QGSI ProcessingAPI integration to to use QGIS geographic analysis models on the web

G3W-SUITE is released on GitHub with Mozilla Public Licence 2.0

Room 301
14:00
120min
Generate, serve, and visualize your own base map or overlay tiles with MapLibre stack and Planetiler.
Yuri Astrakhan

Create a tile server with the base map and some custom data. Build a web site with both the base map and custom data, with some extra visualizations.

Room 327
14:00
120min
Learn how to create Web Applications with Mapbender
Astrid Emde

Mapbender is a great open source solutions for creating intuitive and high-performance WebGIS applications. Mapbender offers a set of tools that you can combine.
This software solution enables users to quickly and easily publish applications online without having to write a single line of code.

Room 202
14:00
120min
Opening Pandora's Spectral Box: Pioneering the Awesome Spectral Indices Suite
David Montero Loaiza, Francesco Martinuzzi

In the rapidly evolving field of remote sensing, spectral indices are pivotal for monitoring and deciphering Earth system dynamics, including vegetation dynamics, water bodies ecosystems, and fire regimes. As the range of available spectral indices expands, the need for comprehensive catalogues and computational tools becomes crucial. Enter the Awesome Spectral Indices (ASI) - a novel, machine-readable, and open-source catalogue of spectral indices for Remote Sensing applications . ASI also promotes accessibility and application by integrating with three official Application Programming Interfaces (APIs) tailored for Python, Julia, and Google Earth Engine's JavaScript API. This integration facilitates the computation of a vast number of indices, adaptable to varied user experiences, data availability, and processing needs.

Our interactive workshop is structured into five engaging segments, each designed to showcase the potential of ASI in various environments:

  1. Introduction to Awesome Spectral Indices (30 mins): This segment unveils the ASI catalogue, highlighting its standardisation, the comprehensive range of spectral indices, and their properties. Participants will also get a demonstration of “Espectro”, a Streamlit web app, for querying spectral indices.
  2. ASI Python Mastery (1 hour): Dive into “spyndex”, ASI’s Python API. This hands-on session guides attendees through exploring and computing spectral indices for several Python objects such as pandas Data Frames, numpy arrays, and xarray data arrays. Participants will leverage real-world data from STAC, such as Sentinel-2 and Landsat-9, applying parallel computing techniques with dask. This session is versatile, accommodating both Google Colab and personal Python environments.
  3. ASI in Google Earth Engine (45 mins): Google Earth Engine (GEE) stands as a colossus in remote sensing analysis. Here, we introduce “spectral”, a JavaScript module for GEE, offering access to ASI spectral indices. Practical exercises will involve computing indices for images and image collections using GEE’s extensive data catalogue. (GEE account required).
  4. Harnessing ASI in Julia (1 hour): Julia's focus in high-performance scientific computing makes it ideal for Earth system applications. “SpectralIndices.jl” brings ASI's power to Julia, enabling the computation of indices with remarkable efficiency . Participants will access indices and make computations for Arrays, Data Frames and YAXArrays. Participants should have a Julia environment pre-installed for this session, ideally with the necessary dependencies already downloaded.
  5. Collaborative Outro (45 mins): The workshop concludes with an interactive discussion, brainstorming enhancements for ASI (from standard improvements to computational methodologies), real-world applications and integration with other software or initiatives. This collective discussion will be gathered into a white paper, aspiring for publication.

This workshop invites participants from all skill levels, from beginners to experts, offering a unique opportunity to explore the world of spectral indices and their application in remote sensing. Join us in harnessing the power of open-source software to explore and understand our planet like never before.

Room 335
16:00
16:00
120min
EOxElements: Your building blocks for Geospatial UI Development
Silvester Pari

In this hands-on workshop participants will use the open source EOxElements (https://github.com/EOX-A/EOxElements) to rapidly build geospatial user interfaces.

In particular, the objectives of the workshop are:
- To introduce the building blocks and features of EOxElements
- To update on the development of the EOxElements open-source library
- To enable participants to become contributors to the project
- To demonstrate the design and development of interactive user interfaces showcasing EO Data, including maps, charts, filters, etc.

The workshop is self-contained and no preparation is required from the participants. Installation of a code editor and a Node.js environment is recommended but not required.

A basic level of knowledge is expected in the following fields:
- Earth Observation
- HTML, CSS & JavaScript

Room 202
16:00
120min
High performant & large-scale geospatial visualisation using MapLibre and Deck.GL (with React)
Srijit S Madhavan

This workshop is designed to teach you how to create highly performant, large-scale geospatial visualisations on the fly using Deck.GL and MapLibre as mapping libraries, in conjunction with React. We will delve into the various visualisation layers that can be generated using Deck.GL. Also, understand the difference in performance with and without Deck.gl along with data processing using GPU and CPU.

Room 327
16:00
120min
Multimodal (2D/3D) change detection for natural disaster response
David Youssefi, Dimitri Lallement, Christian Hümmer

This tutorial will highlight the capabilities of multimodal satellite imagery in addressing some of nowadays most impacting societal challenges using open source tools from CNES (French space agency).

Room 335