I am a researcher in urban morphology and spatial data science focusing on quantitative analysis and classification of cities, remote sensing, and all the related things. While not doing the research, I write open source software, promote open science and help others with their data.
I am an author or a maintainer of a range of open scientific software, including GeoPandas, the open source Python package for geographic data handling, momepy, the urban morphology measuring toolkit for Python, Xvec, the tool for vector data cubes, and PySAL, the Python library for spatial analysis.

Latest posts

GeoPandas 1.0 and beyond

The recorrding of a talk delivered during the GeoPython 2024 together with Joris Van den Bossche. GeoPandas is one of the core packages in the Python ecosystem to work with geospatial vector data and has recently released its first major version - 1.0. This talk will give an overview of recent developments in GeoPandas and the broader ecosystem and provide an outlook on where it is heading. GeoPandas is one of the core packages in the Python ecosystem to work with geospatial vector data....

October 13, 2024 · 2 min

Getting the most out of GeoPandas 1.0

The workshop organised during the GeoPython 2024 together with Joris Van den Bossche. After 10 years since the first release, GeoPandas reached version 1.0. This workshop will showcase how to get the most out of the recent enhancements and develop a code ready for 2024 and beyond. GeoPandas is one of the core components of the GeoPython ecosystem, providing the critical infrastructure to work with vector spatial data, usually reserved for the context of GIS, in Python....

October 13, 2024 · 2 min

A brief introduction to Spatial Data Science

A recording of the online workshop entitled “A Brief Introduction to Spatial Data Science” delivered during the UrbanMetaMapping conference in Saarbrücken on September 13th 2024. The repository with the notebook used in the workshop is available from https://github.com/martinfleis/saarbrucken-workshop. Video

September 26, 2024 · 1 min

The emergent structure of cities

The recording of a keynote entitled ‘The emergent structure of cities’ delivered during the UrbanMetaMapping conference in Saarbrücken on September 12th 2024. The slides are available at the US CUNI website. Video

September 26, 2024 · 1 min

GeoPandas 1.0 is out!

We have released GeoPandas 1.0! Yes, I am excited and a bit relieved as it took a bit longer than expected. Anyway, it’s out and we’re waiting to hear what we broke 🙃. It is a major milestone for GeoPandas, not only in a semantic sense, but it literally closes a long development cycle. If you have been following the ecosystem for a while, you might know the story, but it is worth refreshing your memories....

June 24, 2024 · 3 min

Getting the most out of GeoPandas 1.0

After 10 years since the first release, GeoPandas reached version 1.0. This workshop will showcase how to get the most out of the recent enhancements and develop a code ready for 2024 and beyond. Workshop resources are available on Github. Annotation GeoPandas is one of the core components of the GeoPython ecosystem, providing the critical infrastructure to work with vector spatial data, usually reserved for the context of GIS, in Python....

May 27, 2024 · 2 min

GeoPandas 1.0 is coming. What will change?

The GeoPandas team is racing towards the 1.0 release, nearly 10 years after 0.1 made it to PyPI. As with any major release, it brings some changes. This post highlights those I feel are the most important and invites you to test the 1.0.0-alpha1 and later rc versions before we let the stable version fly to the world. Please test! As of today, GeoPandas 1.0 is out as a pre-release 1....

April 13, 2024 · 4 min

A note on Spatial Data Science across Languages, vol.1

I am sitting on a train back to Prague after two days of discussing tooling for spatial data science available in the Python, R and Julia ecosystems, with occasional excursions to the worlds of Rust, JavaScript or ESRI. I am coming back from the Spatial Data Science across Languages (SDSL) workshop and I’d like to share a few thoughts1 while they’re fresh. Different maturity of ecosystems As a Python developer, I must admit that what the R-Spatial community managed to create is impressive and is in some aspects further that where we are....

September 20, 2023 · 4 min

Writing an efficient code for GeoPandas and Shapely in 2023

With the release of Shapely 2.0, the GeoPandas-based code that have been optimised years ago may no longer provide the best performance. The workshop organised during the GeoPython 2023 together with Joris Van den Bossche showed how to change that and write efficient and convenient GeoPandas code that uses the benefits of the latest developments in the Python geospatial ecosystem. Workshop resources are available on Github. Annotation The Python geospatial ecosystem is constantly evolving, rushing towards better usability, new features, fewer bugs and increasing performance....

May 2, 2023 · 2 min

Fixing missing geometries in a polygonized network

If you ever wanted to polygonize (i.e. create polygons formed from the linework of a set of geometries, as per shapely’s definition) something like a street network with shapely, you may have noticed missing geometries in the result, like in the case of Vienna below. I had the same issue, and this is a note to myself with a solution. The result of shapely.polygonize with gaps that should not be there....

January 23, 2023 · 2 min