Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scipy 2024 - Ibis + DuckDB geospatial talk #20

Closed
ncclementi opened this issue Feb 12, 2024 · 2 comments
Closed

Scipy 2024 - Ibis + DuckDB geospatial talk #20

ncclementi opened this issue Feb 12, 2024 · 2 comments
Assignees
Labels

Comments

@ncclementi
Copy link
Contributor

ncclementi commented Feb 12, 2024

This is an issue to track progress on a talk talk submission: Ibis + DuckDB geospatial.

I'll update progress on the abstract in followup comments.

xref: #11

@ncclementi
Copy link
Contributor Author

ncclementi commented Feb 23, 2024

Ibis + DuckDB geospatial: a match made on Earth

Abstract

Geospatial data is becoming more present in data workflows today, and plenty of Python tools allow us to work with it. In the past year, a new contender emerged: DuckDB introduced an extension for analyzing geospatial data. Everyone in the data world has been buzzing about DuckDB (~15k stars on GitHub), and now this duck quacks geospatial data too. But wait a minute, isn’t DuckDB all SQL? Yes, but fear not, Ibis has you covered! Ibis is a Python library that provides a dataframe-like interface, enabling users to write Python code to construct SQL expressions that can be executed on multiple backends, like DuckDB. In this talk, you will learn how to leverage the benefits of DuckDB geospatial while remaining in the Python ecosystem (yes, we will do a live demo). This is an introductory talk; everyone is welcome, and no previous experience with spatial databases or geospatial workflows is needed.

Description:

Ibis is an open-source Python library that provides a dataframe-like API, enabling you to write Python code to build expressions that can be executed across multiple backends (DuckDB, PostgreSQL, BigQuery, etc). Some of these backends offer support for geospatial operations that can be executed via Ibis without the need to write any SQL. In this talk, we aim to showcase our default backend: DuckDB.

In the past year, DuckDB has introduced support for over 100 geospatial operations, and Ibis has incorporated support for some of them. This allows you to experiment with these operations while remaining in Python land. If you have experience working with spatial databases, you are likely familiar with PostGIS, a library that extends PostgreSQL's capabilities to handle geospatial data. The DuckDB spatial extension provides a healthy subset of PostGIS-like options, but getting started is much simpler. No server-side setup, user configuration, or client configuration. DuckDB seamlessly integrates into existing GIS workflows, regardless of data formats or projections. With Ibis, performing your first spatial operations becomes even easier and, most importantly, it’s Python!

During this talk, we will introduce Ibis and demonstrate its geospatial functionality through an example, with DuckDB as a backend. We will also explore its compatibility with other Python libraries such as GeoPandas, leafmap, and lonboard for plotting purposes. By the end of the talk, you’ll learn how to get started with Ibis and work with spatial databases with DuckDB as a backend engine.

Notes

Additional information

Source code: https://github.com/ibis-project/ibis
Ibis geospatial blogs:

DuckDB spatial blog: https://duckdb.org/2023/04/28/spatial.html

DuckDB geospatial class: Recently Dr. Wu (@giswqs), replaced his course spatial databases content for DuckDB spatial (https://geog-414.gishub.org/book/duckdb/01_duckdb_intro.html).

Presenter's experience

Naty Clementi is an experienced open source contributor and educator. She has presented talks and tutorials at meetups and conferences such as SciPy, PyData NYC, and Women Who Code DC (see list below). In addition, she has taught multiple (unrecorded) Python courses to graduate and undergraduate students at George Washington University.

Talks:

Tutorials:

@ncclementi
Copy link
Contributor Author

Link to slides, and demo notebooks: https://github.com/ncclementi/ibis_duckdb_geospatial_scipy2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Status: Delivered
Development

No branches or pull requests

2 participants