Come for the Workshop, Stay for FOSS4G NA

One of the best things about the pre-conference workshops is having three full hours to work through a topic with an instructor and other participants before the conference gets underway.

Before the main FOSS4G North America program kicks off, we have a full lineup of hands-on workshops designed to give you time to actually dig into tools, methods, and workflows. If you work with large datasets, cloud-native geospatial, reproducible workflows, or spatial data science, here are four workshops worth a closer look.

Mastering Reproducible Geospatial Environments with Nix

Monday, November 2 | 1:00–4:00 p.m. | Compagno

Instructor: Pratyush Kumar Das 

Anyone who has spent too much time trying to get the same geospatial environment running on a different computer will probably recognize the problem this workshop is trying to solve. A stack involving GDAL, PROJ, GEOS, Python, R, and other dependencies can get complicated quickly, especially when you need it to work consistently for multiple people or move from a laptop to the cloud or production.

In this workshop, Pratyush Kumar Das will introduce Nix, a package manager that takes a different approach: instead of installing and configuring everything separately, you describe the environment in code so it can be recreated. Participants will build a geospatial environment with Python, Jupyter, GDAL, and PROJ; work with Nix Flakes; look at how Nix handles conflicting versions of libraries; and explore how the same approach can be used for deployment and OCI images.

You don’t need previous experience with Nix, although you should be comfortable working at the command line.

Wrangling Uncomfortably Large Spatial Data with Python and SedonaDB 

Monday, November 2 | 9:00 a.m.–12:00 p.m. | Carr 

Instructor: Dewey Dunnington

Most people who work with spatial data in Python eventually hit the point where a dataset is too large- too large for in memory or  large enough that every operation becomes excruciatingly slow. However, justifying for all large datasets to a cloud systems is not always warranted. 

In this workshop, Dewey Dunnington will use SedonaDB to demonstrate how an analytical database can make better use of your laptops’s memory and processors. Participants will work with real spatial data in Python and get a sense of basics of tables and how databases approach operations that can be slow in a typical Python workflow. SedonaDB is the workshop tool, but the workshop will also look at how the same concepts carry over to PostGIS, DuckDB, GeoPandas, and Apache Sedona. 

This is an advanced workshop and assumes some familiarity with Python. 

Open Methods for Disaggregating Commodity Flows 

Monday, November 2 | 9:00 a.m.–12:00 p.m. | Compagno 

Instructor: JJ Paul 

Sometimes you have the data you need just not at the scale you need it. You might have regional totals but you really want city or county level estimates. This is the problem JJ Paul will work through in Open Methods for Disaggregating Commodity Flows: how do you responsibly take data that was created at one scale and make it useful at another?

Participants will take existing Freight Analysis Framework data an learn how to turn it into county and commodity flow estimates. They will build geographic crosswalks, evaluate strategies for splitting values, and use other datasets to help with those decisions.

The workshop uses Python, Pandas, GeoPandas, and Jupyter notebooks, and it is designed for beginners. It could be a good way to learn how to build a complete reproducible spatial workflow in Python.

JJ Paul is the Spatial Data Science Lead at SRF Consulting, where he works on data workflows supporting development, infrastructure, and transportation planning. He is also pursuing a Ph.D. in Spatial Information Engineering at the University of Maine, with research focused on the analysis of real-time phenomena. 

Exploring Cloud Native Geospatial Data Formats: Hands-on with Vectors 

Monday, November 2 | 9:00 a.m.–12:00 p.m. | Tofanelli

Instructor: Jarrett Keifer 

Cloud native geospatial is everywhere right now, but it can still be a little hard to understand what actually makes a format “cloud native” and what is happening when software grabs just part of a large dataset from a remote server instead of downloading the whole thing.

In this workshop, Jarrett Keifer, a Senior Geospatial Software Engineer at Element 84, will start with familiar vector formats like GeoJSON and WKT/WKB and use them as a foundation for understanding GeoParquet. Participants will work in Python to look more closely at how these formats actually store features, how Parquet organizes data and metadata, and how tools can efficiently read only the portions of a dataset needed for a particular query.

This workshop takes a more hands-on approach so participants can see what is happening underneath the hood. You don’t need previous experience with Parquet, but this is an advanced workshop and will be most useful for people comfortable working in Python.

Come to Sacramento a little early and spend some time learning by doing.

Next
Next

Plenary Panel: Open Data and Free Software for Natural Resources and Hazards