Global Migration Maps

March 17, 2011

(This article was first published on R, and kindly contributed to R-bloggers)


Migrations of people have existed formillennia and occur at a range of scales and time-periods (from small-scale journeys to work through tointercontinental resettlement). As a geographer I have long been interested in these and thought it was about time I mapped them! Using data from the Global Migrant Origin Database (thanks Adam for the tip) and R, my favourite stats software, I have produced the maps you see here (click on them for higher resolution). Each line shows the origins and destinations of at least 4000 people in a given year (2000 in this case). The more red the line the more people it represents. I have used great circle distance to plot them onto the Earth. The map below shows the same magnitude of flows but just for Europe. The Earth has been flattened for this one so the flows are represented by arbitrary arcs.


These visualisations aren’t perfect. Firstly they are based on a dataset where many of the movements are best guesses rather than measured data. You can read more about this here. It would also be great to have actual flows rather than inferred flows based on the number of migrants in each country. If I made these maps again I might draw lines between capital cities or population centres to avoid the impression that the majority of migrations to/ from Russia start/end in Siberia for example. There are of course endless ways of partitioning the data/ selecting the colours. Despite this I am really pleased with effect and the maps go some way to showing the dynamism in many 21st Century populations.

Technical Details

I thinkPaul Butler’s Facebook Map threw down the gauntlet to the R community in terms of the quality of visualisations that can be produced with the software so I was keen to see what I could do.To produce the maps I calculated the great circle distances using the geosphere package, I calculated my own arcs for the second map and used the maps package for my World outline. The visualisations (including projections) were done usingggplot2. Over the next few months I plan to stick together a more complete tutorial (PhD write-up permitting!).**UPDATE** the flowingdata blog has beaten me to it see here.

To leave a comment for the author, please follow the link and comment on their blog: R. offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Search R-bloggers


Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)