Procedural city growth and sprawl

How cities growth, expand, and connect each other is a topic that have been obsessing me for many years. It probably started with my first Lego and developed while playing SimCity or Transport Tycoon some years later. This obsession became official when I started to study them as a physicist and worked on it as topic of research (after quantum mechanics).

This is the model based on Carlos Molinero's work for city sprawl. We are interested in the simplest mechanisms able to reproduce two basic empirical observations:

  • Proportional growth, also known as Gibrat's Law (the change in time for the population is proportional to the own population)
  • Zipf's Law (the rank distribution of populations follows a power law with exponent -1)

The model has two parameters: a correlation distance and a population density threshold. We follow the next steps:

1. Our board is a Voronoi graph generated from a random distribution of points in the surface. Urbanized area will be located at the vertices, roads will follow the edges of the graph.

2. We use a type of Perlin Noise to generate mountains and lakes (water can no be urbanized indeed).

3. We define a probability of urbanization according to the geography:

  • zero for water (in black)
  • Highest probability at sea level (in white), exponential decay with elevation.
  • Highest probability close to the sea and water, exponential decay with distance (relevant if there are rivers).

Other factors can be include, as other type of resources (as for mining towns), landforms that help for defending the city (as those with historical centers in bays or elevations), or too dense vegetation (as the Amazon rainforest). Anything is possible!

4. We use that probability for selecting some seed points, assigning a population of 1 (or any minimal number, as Dunbar's for instance). In this example we select 10 vertices to be the seeds. The growth and sprawl process follows:

4. 1. A vertex is selected randomly using population as probability distribution (Gibrat's Law).

4. 2. We don't add population directly to that vertex: instead, we choose randomly another vertex according to the distance to the original choice. We use a Cauchy distribution (or Lorentzian function) centered at this vertex and scale parameter that of the predefined correlation distance (for this example we give the value 0.0001).

4. 3. We add +1 (or any other minimal value) to the population of this vertex, if and only if it has not reach already the predefined saturation threshold (10 in our example). If this is the case, we add the population to any of its neighbors (cascade effect).

5. We repeat the process for many iterations until being happy of the result. There is no empirical evidence of existing a limit to the size for a city, thus the process never ends.

The effect of resources and transportation networks can be also included modifying the probability for selecting a vertex. We can also include negative values for population growth to reflect migrations. For instance, the migration from small rural towns to urban areas can be included by selecting low density vertices and decrease their population in favor of a vertex close to a big population cluster. Again, anything is possible!

Here we have three frames of the growth sequence in our example:

Different initial seeds or values in the threshold and correlation density results into different urban configurations. However, regions close to the sea are always preferred, while high mountains are avoided for large metropolitan areas.

The model reproduces Zipf's Law for the population of cities in any of these cases: if we clusterize the vertices according to their population and continuity, and then we check the total population inside these clusters, we obtain something like this plot. Blue dots are the population of the clusters (or cities), ranked from the biggest (around 1000 of population and 1st in the ranking) to the smallest (those with just 1 unit of population in one single vertex, from the 500th rank to the last one of 800). The black line represents the expected slope for Zipf's Law, which is (under numerical noise) parallel to the dots.

Next step? to include the road network dynamically, following the model of Road Trees. Any comment is welcome! write me if you have a nice idea.

Some references

More about city growth based in scientific grounds can be follow in our papers:

Memory-endowed US cities and their demographic interactions

A. Hernando, R. Hernando, A. Plastino, E. Zambrano, J. R. Soc. Interface 12, 20141185 (2015)

A quantitative understanding of cities’ demographic dynamics is becoming a potentially useful tool for planning sustainable growth. The concomitant theory should reveal details of the cities’ past and also of its interaction with nearby urban conglomerates for providing a reasonably complete picture. Using the exhaustive database of the Census Bureau in a time window of 170 years, we exhibit here empirical evidence for time and space correlations in the demographic dynamics of US counties, with a characteristic memory time of 25 years and typical distances of interaction of 200 km. These correlations are much larger than those observed in a European country (Spain), indicating more coherent evolution in US cities. We also measure the resilience of US cities to historical events, finding a demographical post-traumatic amnesia after wars (such as the American Civil War) or economic crisis (such as the 1929 Stock Market Crash).

Space–time correlations in urban sprawl

A. Hernando, R. Hernando, A. Plastino, J. R. Soc. Interface 11, 20130930 (2014)

Understanding demographic and migrational patterns constitutes a great challenge. Millions of individual decisions, motivated by economic, political, demographic, rational and/or emotional reasons underlie the high complexity of demographic dynamics. Significant advances in quantitatively understanding such complexity have been registered in recent years, as those involving the growth of cities but many fundamental issues still defy comprehension. We present here compelling empirical evidence of a high level of regularity regarding time and spatial correlations in urban sprawl, unravelling patterns about the inertia in the growth of cities and their interaction with each other. By using one of the world’s most exhaustive extant demographic data basis—that of the Spanish Government’s Institute INE, with records covering 111 years and (in 2011) 45 million people, distributed among more than 8000 population nuclei—we show that the inertia of city growth has a characteristic time of 15 years, and its interaction with the growth of other cities has a characteristic distance of 80 km. Distance is shown to be the main factor that entangles two cities (60% of total correlations). The power of our current social theories is thereby enhanced.

The workings of the maximum entropy principle in collective human behaviour

A. Hernando, R. Hernando, A. Plastino, A. R. Plastino, J. R. Soc. Interface 10, 20120758 (2013)

We present an exhaustive study of the rank-distribution of city-population and population-dynamics of the 50 Spanish provinces (more than 8000 municipalities) in a time-window of 15 years (1996–2010). We exhibit compelling evidence regarding how well the MaxEnt principle describes the equilibrium distributions. We show that the microscopic dynamics that governs population growth is the deciding factor that originates the observed macroscopic distributions. The connection between microscopic dynamics and macroscopic distributions is unravelled via MaxEnt.

Thermodynamics of urban population flows

A. Hernando and A. Plastino, Phys. Rev. E 86, 066105 (2012)

Orderliness, reflected via mathematical laws, is encountered in different frameworks involving social groups. Here we show that a thermodynamics can be constructed that macroscopically describes urban population flows. Microscopic dynamic equations and simulations with random walkers underlie the macroscopic approach. Our results might be regarded, via suitable analogies, as a step towards building an explicit social thermodynamics.

Variational principle underlying scale invariant social systems

A. Hernando and A. Plastino, Eur. Phys. J. B 85, 293 (2012)

MaxEnt’s variational principle, in conjunction with Shannon’s logarithmic information measure, yields only exponential functional forms in straightforward fashion. In this communication we show how to overcome this limitation via the incorporation, into the variational process, of suitable dynamical information. As a consequence, we are able to formulate a somewhat generalized Shannonian maximum entropy approach which provides a unifying “thermodynamic-like” explanation for the scale-invariant phenomena observed in social contexts, as city-population distributions. We confirm the MaxEnt predictions by means of numerical experiments with random walkers, and compare them with some empirical data.