Understanding the structure of cities through the lens of data

The workshop organised together with James D. Gaboardi during the Spatial Data Science Symposium 2022 is now available online. See the recording below and access the workshop material on Github from which you can even run the code online, in your browser. Annotation Martin & James will walk you through the fundamentals of analysis of the structure of cities. You will learn what can be measured, how to do that in Python, and how to use those numbers to capture the patterns that make up cities....

September 29, 2022 · 1 min

Scaling up vector analysis with Dask-GeoPandas

The workshop organised during the GeoPython 2022 together with Joris van den Bossche introduces the Dask-GeoPandas library and walks you through its key components, allowing you to take a GeoPandas workflow and run it in parallel, out-of-core and even distributed on a remote cluster. Workshop resources are available on Github. Annotation The geospatial Python ecosystem provides a nice set of tools for working with vector data, including Shapely for geometry operations and GeoPandas to work with tabular data (and many other packages for IO, visualization, domain specific processing, …)....

June 22, 2022 · 2 min

Introducing Dask-GeoPandas for scalable spatial analysis in Python

Using Python for data science is usually a great experience, but if you’ve ever worked with pandas or GeoPandas, you may have noticed that they use only a single core of your processor. Especially on larger machines, that is a bit of a sad situation. Developers came up with many solutions to scale pandas, but the one that seems to take the lead is Dask. Dask (specifically dask.dataframe as Dask can do much more) creates a partitioned data frame, where each partition is a single pandas....

March 31, 2022 · 3 min

Dask-GeoPandas vs PostGIS vs GPU: Performance and Spatial Joins

Paul Ramsey saw a spatial join done using a GPU and tried to do the same with PostGIS, checking how fast that is compared to the GPU-based RAPIDS.AI solution. Since Paul used parallelisation in PostGIS, I got curious how fast Dask-GeoPandas is on the same task. So, I gave it a go. import download import geopandas import dask_geopandas import dask.dataframe from dask.distributed import Client, LocalCluster Let’s download the data using Paul’s query, to ensure we work with the same CSV....

March 10, 2022 · 4 min

Methodological Foundation of a Numerical Taxonomy of Urban Form

The final paper based on my PhD thesis is (finally!) out in the Environment and Planning B: Urban Analytics and City Science. We looked into ways of identifying patterns of urban form and came up with the Methodological foundation of a numerical taxonomy of urban form. You can read it on the journal website (open access). We use urban morphometrics (i.e. data-driven methods) to derive a classification of urban form in Prague and Amsterdam, and you can check the results in online interactive maps - http://martinfleis....

December 16, 2021 · 3 min

Capturing the Structure of Cities with Data Science

During the Spatial Data Science Conference 2021, I had a chance to deliver a workshop illustrating the application of PySAL and momepy in understanding the structure of cities. The recording is now available for everyone. The materials are available on my GitHub and you can even run the whole notebook in your browser using the MyBinder service.

November 2, 2021 · 1 min

xyzservices: a unified source of XYZ tile providers in Python

A Python ecosystem offers numerous tools for the visualisation of data on a map. A lot of them depend on XYZ tiles, providing a base map layer, either from OpenStreetMap, satellite or other sources. The issue is that each package that offers XYZ support manages its own list of supported providers. We have built xyzservices package to support any Python library making use of XYZ tiles. I’ll try to explain the rationale why we did that, without going into the details of the package....

August 3, 2021 · 4 min

Evolution of Urban Patterns: Urban Morphology as an Open Reproducible Data Science

We have a new paper published in the Geographical Analysis on the opportunities current developments in geographic data science within the Python ecosystem offer to urban morphology. To sum up - there’s a lot to play with and if you’re interested in the quantification of urban form, there’s no better choice for you at the moment. Urban morphology (study of urban form) is historically a qualitative discipline that only recently expands into more data science-ish waters....

July 15, 2021 · 4 min

Talk at ISUF 2021: Classifying urban form at a national scale

I had a chance to present our ongoing work on the classification of the (built) environment in Great Britain during the International Seminar on Urban Form 2021, which was held virtually in Glasgow. I was presenting the classification of urban form, one component of Spatial Signatures we’re developing as part of the Urban Grammar AI project together with Dani Arribas-Bel. The video of the presentation is attached below, as well as the abstract....

July 5, 2021 · 2 min

The Urban Atlas: Methodological Foundation of a Morphometric Taxonomy of Urban Form

The Urban Atlas: Methodological Foundation of a Morphometric Taxonomy of Urban Form is the title of my PhD Thesis defended in January 2021 at the University of Strathclyde. Thanks to Ombretta and Sergio for guiding me along the way! Abstract No two cities in the world are alike. Each urban environment is characterised by a unique variety and heterogeneity as a result of its evolution and transformation, reflecting the differences in needs human populations have had over time manifested, in space, by a plethora of urban patterns....

April 30, 2021 · 3 min