Skip to content

ncsu-geoforall-lab/iale-2025-workshop-tl

Repository files navigation

Building Geospatial Models in GRASS: From Python Workflows to Tangible Landscape

This is a repository for materials and Tangible Landscape activities for IALE-NA 2025 workshop.

Overview

In this workshop, participants will be introduced to GRASS, a powerful open-source geospatial processing engine, and explore how it can be used to develop models for environmental applications. Participants will learn to build Python-based workflows for topics such as hydrology, flood modeling, and trajectory routing. These workflows will be implemented in computational notebooks, highlighting the capabilities of GRASS GIS for flexible and scalable analysis.

In the second half of the workshop, we will deploy these models into Tangible Landscape, an interactive, augmented reality environment that facilitates participatory science by integrating a physical landscape with real-time geospatial simulations. The Tangible Landscape environment allows users to interact with, for example, an overland flow model by carving sand with their hands and viewing the resulting water flow projected back onto the sand. Participants will gain hands-on experience with GRASS tools and its Python API while learning essential GitHub workflows for collaborative development. This workshop is ideal for those interested in applying geospatial tools to real-world environmental challenges or in fostering community engagement through participatory science.

Presenter(s): Caitlin Haedrich, Anna Petrasova, and Helena Mitasova, North Carolina State University, Center for Geospatial Analytics.

Workshop Outline

1. Building Geospatial Models in GRASS

1.1 GRASS + Jupyter introduction

  1. What is GRASS? Learn about various ways to interact with GRASS.
  2. To learn how to get started with GRASS in Google Colab, go to the Learn GRASS website and open the Get started with GRASS in Google Colab.
  3. To learn how to visualize data in a notebook, go to GRASS Jupyter introduction in documentation.
  4. To learn how to run GRASS tools in a notebook, go to GRASS Python API documentation.

1.2 Hands-on exercise

Open the workshop.ipynb in Google Colab and execute the cells one by one:

Open_in Colab

Aletrnatively, try running the notebook through mybinder.org:
Binder

1.3 Developing your own models

In this part, you will develop simple geospatial models that will be run on Tangible Landscape in the second part of the workshop.

Use the suggested tasks, together with GRASS documentation and provided template in the notebook to (1) develop the models, (2) test them, and (3) visualize the results. This model will then run on Tangible Landscape.

[15 min break]

2. Tangible Landscape

2.1 Tangible Landscape demo

We will show different applications of Tangible Landscape and explain how to develop an interactive model in Tangible Landscape.

2.2 GitHub Introduction and Contributing a model through GitHub

In this part, we will explain why it's useful to understand GitHub contributing workflow and how Git and GitHub works. Then, we will fork this repository and make a pull request containing the script we developed in 1.3.

2.3 Running contributed models in Tangible Landscape

We will plug in the participant contributed models in Tangible Landscape and see how they work with different parameters and modified elevation inputs.

License

This material is dual licensed under GNU FDL 1.3 and CC BY-SA 4.0.

Acknowledgement

This workshop was developed and delivered with the support of the U.S. National Science Foundation, award 2303651 and was hosted by the Center for Geospatial Analytics at North Carolina State University.

About

Repository for submitting Tangible Landscape activities for workshop participants

Resources

Stars

4 stars

Watchers

5 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors