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. We believe that there’s a lot of potential in this direction and illustrate it on the case study looking into the evolution of urban patterns, i.e. how different aspects of urban form has changed over time.

The paper is open access (yay!) (links to the online version and a PDF), the research is fully reproducible (even in your browser thanks to amazing MyBinder!) with all code on GitHub.

Short summary

We have tried to map all the specialised open-source tools urban morphologists can use these days, which resulted in this nice table. The main conclusion? Most of them are plug-ins for QGIS or ArcGIS, hence depend on pointing and clicking. A tricky thing to reproduce properly.

Table 1 from the paper

We prefer code-based science, so we took the Python ecosystem and put it in the test. We have designed a fully reproducible workflow based on GeoPandas, OSMnx, PySAL and momepy to sample and study 42 places around the world, developed at very different times.

We measured a bunch of morphometric characters (indicators for individual aspects of form) and looked at their change in time. And there is a lot to look at. There are significant differences not only in scale (on the figure below) but in other aspects as well. One interesting observation – it seems that we have forgotten how to make a properly connected, dense grid.

As we said in the paper, “Switching to a code-based analysis may be associated with a steep learning curve. However, not everyone needs to reach the developer level as the data science ecosystem aims to provide a middle ground user level. That is a bit like Lego—the researcher learns how to put pieces together and then find pieces they need to build a house.

We think that moving from QGIS to Python (or R), as daunting as it may seem to some, is worth it. It helps us overcome the reproducibility crisis science is going through, the crisis caused, among other things, by relying on pointing and clicking too much.

The open research paradigm, based on open platforms and transparent community-led governance, has the potential to democratize science and remove unnecessary friction caused by the lack of cooperation between research groups while bringing additional transparency to research methods and outputs.

page 18


The recent growth of geographic data science (GDS) fuelled by increasingly available open data and open source tools has influenced urban sciences across a multitude of fields. Yet there is limited application in urban morphology—a science of urban form. Although quantitative approaches to morphological research are finding momentum, existing tools for such analyses have limited scope and are predominantly implemented as plug-ins for standalone geographic information system software. This inherently restricts transparency and reproducibility of research. Simultaneously, the Python ecosystem for GDS is maturing to the point of fully supporting highly specialized morphological analysis. In this paper, we use the open source Python ecosystem in a workflow to illustrate its capabilities in a case study assessing the evolution of urban patterns over six historical periods on a sample of 42 locations. Results show a trajectory of change in the scale and structure of urban form from pre-industrial development to contemporary neighborhoods, with a peak of highest deviation during the post-World War II era of modernism, confirming previous findings. The wholly reproducible method is encapsulated in computational notebooks, illustrating how modern GDS can be applied to urban morphology research to promote open, collaborative, and transparent science, independent of proprietary or otherwise limited software.

Fleischmann, M., Feliciotti, A. and Kerr, W. (2021), Evolution of Urban Patterns: Urban Morphology as an Open Reproducible Data Science. Geogr Anal. https://doi.org/10.1111/gean.12302

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.

Classifying urban form at a national scale: The case of Great Britain

There is a pressing need to monitor urban form and function in ways that can feed into better planning and management of cities. Both academic and policymaking communities have identified the need for more spatially and temporally detailed, consistent, and scalable evidence on the nature and evolution of urban form. Despite impressive progress, the literature can achieve only two of those characteristics simultaneously. Detailed and consistent studies do not scale well because they tend to rely on small-scale, ad-hoc datasets that offer limited coverage. Until recently, consistent and scalable research has only been possible by using simplified measures that inevitably miss much of the nuance and richness behind the concept of urban form.

This paper outlines the notion of “spatial signatures”, a characterisation of space based on form and function, and will specifically focus on its form component. Whilst spatial signature sits between the purely morphological and purely functional description of the built environment, its form-based component reflects the morphometric definition of urban tissue, the distinct structurally homogenous area of a settlement. The proposed method employs concepts of “enclosures” and “enclosed tessellation” to derive indivisible hierarchical geographies based on physical boundaries (streets, railway, rivers, coastline) and building footprints to delineate such tissues in the built fabric. Each unit is then characterised by a comprehensive set of data-driven morphometric characters feeding into an explicitly spatial contextual layer, which is used as an input of cluster analysis.

The classification based on spatial signatures is applied to the entirety of Great Britain on a fine grain scale of individual tessellation cells and released as a fully reproducible open data product. The results provide a unique input for local authorities to drive planning and decision-making and for the wider research community as data input.


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!


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.

Traditionally, the study of these patterns over time and across space is the domain o urban morphology, a field of research stretching from geography to architecture. Whilst urban morphology has considerably advanced the current understanding of processes of formation, transformation and differentiation of many such patterns, predominantly through qualitative approaches, it has yet to fully take advantage of quantitative approaches and data-driven methods recently made possible by advances in geographic data science and expansion of available mapping products. Although relatively new, these methods hold immense potential in expanding our capacity to identify, characterise and compare urban patterns: these can be rich in terms of information, scalable (applicable to the large scale of extent, regional and national) and replicable, drastically improving the potential of comparative analysis and classification.

Different disciplines with more profound quantitative methods can help in the development of data-driven urban morphology, as now, for the first time, we are in the position where we can rely on a large amount of data on the built environment, unthinkable just a decade ago. This thesis, therefore, aims to link urban morphology and methodologically strong area of quantitative biological systematics, adapting its concepts and methods to the context of built-up fabric. That creates an infrastructure for numerical description of urban form, known as urban morphometrics, and a subsequent classification of urban types.

Conceptually building on the theory of numerical taxonomy, this research progresses the development of urban morphometrics to automate processes of urban form characterisation and classification. Whilst many available methods are characterised by significant limitation in applicability due to difficulties in obtaining necessary data, the proposed method employs only minimal data input – street network and building footprints – and overcomes limitations in the delineation of plots by identifying an alternative spatial unit of analysis, the morphological tessellation, a derivative of Voronoi tessellation partitioning the space based on a composition of building footprints. As tessellation covers the entirety of urban space, its inherent contiguity then constitutes a basis of a relational framework aimed at the comprehensive characterisation of individual elements of urban form and their relationships. Resulting abundant numerical description of all features is further utilised in cluster analysis delineating urban tissue types in an unrestricted urban fabric, shaping an input for hierarchical classification of urban form – a taxonomy.

The proposed method is applied to the historical heterogeneous city of Prague, Czechia and validated using supplementary non-morphological data reflecting the variation of built-up patterns. Furthermore, its cross-cultural and morphological validity and expandability are tested by assessment of Amsterdam, Netherlands and a combination of both cases into a unified taxonomy of their urban patterns. The research is accompanied by a bespoke open-source software momepy for quantitative assessment of urban form, providing infrastructure for replicability and further community-led development.

The work builds a basis for morphometric research of urban environment, providing operational tools and frameworks for its application and further development, eventually leading to a coherent taxonomy of urban form.

Keywords: urban morphometrics, taxonomy, classification, measuring, urban form, quantitative analysis, urban morphology, software

PDF of the thesis is available from my Dropbox before it will be visible in the University repository. The code repository will be shared once I’ll manage to clean it :).

Spatial Analytics + Data Talk

On March 30, 2021, I had a chance to deliver a talk as part of the Spatial Analytics + Data Seminar Series organised by the University of Newcastle (Rachel Franklin), the University of Bristol (Levi Wolf) and the Alan Turing Institute. The recording of the event is now available on YouTube.

Spatial Signatures: Dynamic classification of the built environment

This talk introduces the notion of “spatial signatures”, a characterisation of space based on form and function. We know little about how cities are organised over space influences social, economic and environmental outcomes, in part because it is hard to measure. It presents the first stage of the Urban Grammar AI research project, which develops a conceptual framework to characterise urban structure through the notions of spatial signatures and urban grammar and will deploy it to generate open data products and insight about the evolution of cities.

The slides are available online at https://urbangrammarai.github.io/talks/202103_sad/.

Morphological tessellation

Imagine you are trying to analyse a city, and you want primarily to understand its structure. You look at buildings, their dimensions and patterns they form, you look at a street network, and then you want to understand detailed patterns of density. This last point requires a specification of an aerial unit, and morphological tessellation is one of the most detailed options.

I don’t want to talk only about density, but let’s use it as an illustration.

Let’s say that we want as high resolution of our data as possible, so we need the smallest spatial unit we can get. That is often a plot.

But the reality is not so simple. Firstly, you need to get a layer representing plots. Here you may be lucky and find one, nice and clean, which you can use for the analysis. However, if you try to the same thing for another city on another continent, you quickly figure out that the situation is becoming tricky. Plots have various definitions – each country captures them differently 1Kropf, K. (2018) ‘Plots, property and behaviour’, Urban Morphology, 22(1), pp. 5–14.. So, in the end, your plots from different places are not representing the same concept, and your results are not comparable.2An additional issue with plots comes with modernist housing development, where the plot does not have a structural role, but that is a whole another story.

One possible solution is to use morphological tessellation as a spatial unit instead. Its principle is simple – it is a Voronoi tessellation based on building footprint polygons. In practice, each building polygon is represented as a series of points capturing its boundaries. Points are used to generate Voronoi, and relevant cells are dissolved to get a single cell representing tessellation cell based on a single building.3There are algorithms which can do tessellation based on polygon directly (e.g. CGAL library), but point-based implementation is much easier to do in Python, R or even QGIS and the result is almost the same.

In our recent paper, we have tested morphological tessellation from two perspectives – 1) what are the optimal parameters for its creation, and 2) how good proxy of a plot tessellation is.

There are a few important findings to mention. First, there are contexts where tessellation can directly replace a plot in the analysis. One example is the density mentioned above – both coverage area ratio, and floor area ratio could be easily measured based on tessellation. Second, tessellation has some advantages over the plot – it is consistent and contiguous.

Tessellation captures any kind of urban form (historical, modernist, industrial…) in the same, consistent manner. That makes the tessellation cells across the case studies perfectly comparable, even in situations when plots are not available at all (like some informal settlements) or capture non-morphological spatial division (like contemporary large-scale development with multiple buildings on a single plot).

Unlike plots, morphological tessellation is contiguous, allowing for the definition of adjacency between buildings in situations, where it normally would not be so clear.

That, in turn, allows spatial aggregation, based on the aerial topology of space. Just pick a number of topological steps you like.

Our implementation of morphological tessellation is a part of momepy Python package, coming with a tutorial on how to generate tessellation on your data or on data from OpenStreetMap.

The published version of our article Morphological tessellation as a way of partitioning space: Improving consistency in urban morphology at the plot scale is available from CEUS website, the repository with the Python code and data we have used within the research is available on GitHub and archived here.

The second image in this article is reproduced from Kropf, K. (2018) ‘Plots, property and behaviour’, Urban Morphology, 22(1), pp. 5–14.

Fleischmann, M., Feliciotti, A., Romice, O. and Porta, S. (2020) ‘Morphological tessellation as a way of partitioning space: Improving consistency in urban morphology at the plot scale’, Computers, Environment and Urban Systems, 80, p. 101441. doi: 10.1016/j.compenvurbsys.2019.101441.

Confused terminology in urban morphology

This is a short introduction of our recently published paper Measuring urban form: Overcoming terminological inconsistencies for a quantitative and comprehensive morphologic analysis of cities, which is essentially one of the background chapters of my PhD (hopefully finished later this year).

When I started my work, which is focusing on measuring of urban form (or urban morphometrics) – see momepy – one of the first things I wanted to do was to understand what people were people measuring so far — the natural thing to do. However, I have soon figured out that it would not be so easy as there is a minimal consensus on how to call measurable characters. What one calls connectivity other names intersection density and even then you have a little idea – density based on what? Intersections per hectare, per kilometre? I have collected almost 500 measurable characters to find out that it is one big mess.

Before moving on, I had to do a slight detour trying to understand what all of them were about, which were called differently but were, in fact, the same and which were called the same, but were different things. Both situations happen A LOT. This paper is proposing a 1) framework for naming measurable characters to avoid these cases and 2) classification of characters, to make a more structured sense of the vast number of options we can measure.

Renaming is based on the Index of Element principle. Each character has an Index – the measure that it calculates and Element – the element of urban form that it measures. So the case of connectivity above could be called a weighted number of intersections (Index) of a pedestrian network (Element). Yes, it is longer, but also unambiguous. The room for the interpretation is much narrower than in the previous example.

We have used this principle to rename all of those ~500 characters, which eliminated a lot of duplications, leaving us a bit more than 350 unique ones. At that point, we could continue with a classification, which was the first aim.

Classification of characters, which is loosely used in momepy as well, categorises characters into six groups based on the nature of the Index part of the name: dimension, shape, spatial distribution, intensity, connectivity, and diversity. The second layer of classification is based on the notion of scale – what is the grain of the resulting information and the extent of the element. To keep it simple, we are using conceptual S, M, L bins for scale, where “Small (S) represent- ing the spatial extent of building, plot, street or block (and similar), Medium (M) represent- ing the scale of the sanctuary area, neighbourhood, walkable distance (5 or 10min) or district (and similar) and Large (L), representing the city, urban area, metropolitan area or similar” (taken from the paper, p.7). In the end, each character has its category, scale of the grain and scale of the extent. Taking an example of Closeness Centrality of Street Network, it falls into connectivity category (as closeness centrality is a network measure), its grain is S because each node has its value, but its extent is L as it can be measured on large networks.

This framework helped us figure out what is the current situation in the field, e.g., that there is a lot of work focusing on dimension, shape, or intensity but very little on diversity (which was surprising as theoretical urban research talks about diversity all the time). Plus a couple of other interesting findings.

Btw, the paper also includes this map of the quantitative research in urban morphology and a complete database of morphometric character we have worked with (also on GitHub).

The whole paper of trying to talk inwards to the community, saying guys, this is a mess, let’s do something about it. We found it fascinating how such a small field as urban morphometrics can produce so much confusion in a way how we use language.

You can find the original paper at Environment and Planning B website (open access) or accepted manuscript at the University of Strathclyde PURE portal (open access). There is very little code involved in this. Still, related Jupyter notebooks and CSVs containing the database of literature as well as the database of measurable characters are all in this GitHub repository.

Fleischmann, M, Romice, O & Porta, S 2020, ‘Measuring urban form: overcoming terminological inconsistencies for a quantitative and comprehensive morphologic analysis of cities’, Environment and Planning B: Urban Analytics and City Science, pp. 1-18. https://doi.org/10.1177/2399808320910444

Categorized as Research