All posts by Danny Quah

I am Li Ka Shing Professor of Economics, Lee Kuan Yew School of Public Policy, NUS. I work on economic principles for world order and on empirics for a shifting global economy.

World Economic Geography


World Economic Geography
D. Quah
Economics and International Development, LSE
January 2015
(Also here)

This document contains a number of visualisations of world economic geography relevant to assessing global power shifts.

(The writeup is obviously unfinished but the cities graphs below became especially timely right about now, and I needed somewhere to document what I’d done with them.)


Skip this if you’re not interested in how the technical analysis is set up.

opts_chunk$set(cache=TRUE, echo=TRUE, tidy=FALSE, warning=FALSE)

Population data for cities that I will use for the first description below are for January 2006. Ray Brownrigg documents those and other such data that contain a global spatial dimension.

Set up a plot theme for R so things don’t look so cluttered:

myWorldMapTheme <- theme_classic() +
    legend.position=c(1,0), legend.justification=c(1,0),

Cities: Urban conurbations

I begin with facts about cities.

The idea for this first part I got from Arthur Charpentier’s tweet where he had used

ggplot(world.cities, aes(long,lat)) +
 geom_point(aes(text=name,size=pop), name="cities") 

to obtain


I will be modifying this plot to bring out some additional features in which I’m particularly interested:

world.cities$pop <- world.cities$pop / 1.0e06
thisTitle <- "All the World's Cities"
ggplot(world.cities, aes(long, lat)) +
 geom_point(aes(text=name), name="cities", size=rel(0.01),
 colour="red", shape=1, alpha=1/4) +
 myWorldMapTheme + ggtitle(thisTitle) + coord_fixed(ratio=1/1)

These are all the world cities in the database (I am not debating here what a “city” means—it’s what the data collators saw fit to label). One of the most striking features of this graph is how even though no landmass information was used to construct this plot, instead only the geographical locations of cities, the world’s continents and oceans can be seen with relative clarity.

This collection includes, of course, many many locations with only tiny populations. Refine our look at this by sharpening in our focus to locations with at least 100,000 people but contain fewer than 0.5mn. Call these mid-sized cities.

midLower <- 0.1
midUpper <- 0.5
thisTitle <- "Mid-Sized Cities by Population (between 0.1 and 0.5 million)"
world.mid.cities <- world.cities[world.cities$pop >= midLower &
 world.cities$pop < midUpper, ]
ggplot(world.mid.cities, aes(long, lat)) +
 geom_point(aes(text=name, colour=pop), name="cities",
 size=rel(2.0), shape=19) +
 scale_colour_gradient(low = "green", high="blue") +
 myWorldMapTheme + ggtitle(thisTitle) + coord_fixed(ratio=1/1)

The world remains recognisable in its continents and oceans.

thisTitle <- "Big Cities by Population (more than 0.5 million)"
world.big.cities <- world.cities[world.cities$pop >= midUpper, ]
ggplot(world.big.cities, aes(long, lat)) +
 geom_point(aes(text=name, colour=pop), name="cities",
 size=rel(2.5), shape=1) +
 scale_colour_gradient(low = "blue", high="black") +
 myWorldMapTheme + ggtitle(thisTitle) + coord_fixed(ratio=1/1)

For big cities the map becomes very sparse. Although most economic activity and a large fraction of the world’s population now lives there, they don’t cover that much of our planet.

Two features of this last graph are striking: First, the number of very, very large cities—for all the attention they get—is smaller than one might expect. This, though, might be consistent with that intution some readers have already discerned from a Zipf-law type of reasoning.

To be clear the numbers that have just been plotted can be seen from:

print (c(nrow(world.cities), nrow(world.mid.cities), nrow(world.big.cities)))
## [1] 43645  3531   720

The second feature, however, is that many of these big cities are coastal: In this last graph, containing no more than 1000 locations, a viewer can still visibly discern continental land mass—even though, again, no such information was used in the graphing.

Variational Population

Given the spatial distribution of the world’s population, one can also ask where is that population most tightly clustered?

This is a variational problem that, as far as I know, has no closed-form solution. However, using population data across cities and countries, and taking insight from Ken Myers’s amazing graphic, one can by brute force obtain the characterization given in the graphic: