Pages Menu
TwitterRss
Categories Menu

Posted by on Mar 17, 2011 in R Spatial, Visualisation | 6 comments

Global Migration Maps

global_migration_sm

 Migrations of people have existed for millennia and occur at a range of scales and time-periods (from small-scale journeys to work through to intercontinental 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.

european_migration_sm

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 think Paul 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 using ggplot2. 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.

Share on Facebook
Bookmark this on Google Bookmarks
Share on reddit
Bookmark this on Digg
Share on StumbleUpon
Share on LinkedIn

6 Comments

  1. Those are spectacular and I’m impressed with the quality of what you’re producing in R.

    In terms of the intelligibility of the maps, there are a lot of the same issues as we’re having with visualising transport flows i.e. so many origins and destinations that the macro patterns can be obscured. A few visualisations use the technique of the flows being three-dimensional arcs that sit above the earth’s surface, with heights relating to distance/magnitude. Might be worth a try. Also could a Buckminster Fuller projection do the globe in one map? Anyway, really nice work!

    • Thanks Duncan! I did try the Buckminster Fuller projection but it looked pretty messy. Arcs above the earth would look cool. I think a good quality attempt at this in R may be a bit of a challenge though…

  2. Yes, please put up the tutorial. I have some ideas but presently lack the technical skills although I am a programmer (a bit out of date however).

    Beautiful work.

  3. Hello.

    I”ve been very impressed with this GeoVis flow maps.

    One I have developed web gis for Japanese Population migration flow using Mapserver/MapScript with PHP scripting(http://giswin.geo.tsukuba.ac.jp/teacher/murayama/popflow/index.phtml (Sorry in Japanese only)).

    Unfortunately, int this site I used straight lines for flow lines. I think your second map”s presentation is so impressive.

    I couldn’t find any R package including functions drawing arbitary arcs used in your second map. Have you used Bezier for this?

    If possible, could you show me your sample code?

    Best regards.

  4. A question.

    How did you “calculated my own arcs for the second map”? If it’s not too much trouble, could you share the code? I have a similar problem where my map only covers the eastern U.S. and the lines look basically straight.

    Thank and great work!

  5. Hi there,

    I happened upon your site while looking for regional science / spatial analysis organizations, and I just wanted to let you know I find your maps absolutely fascinating. I work at a University in Northern Chile, so I am going to search out whatever you might have produced that is related to this region and share it, if you don’t mind. Please let me know if you have any suggestions for where to start or if anything that relates to this area comes rushing back to your mind.

    Thanks for the great work you do, I look forward to seeing more in the future!

Trackbacks/Pingbacks

  1. Global migration routes mapped | maptd - [...] the high resolution map and more details check out spatialanalysis.co.uk. Related posts:What's your Tipple ? Most Consumed Alcoholic Drink …
  2. Migrações « escala gráfica - [...] http://spatialanalysis.co.uk/2011/03/17/global-migration-maps/ [...]
  3. Global Migration Maps, un mapa de las corrientes migratorias | TecnoMaps.com - [...] Más información: Global Migration Maps [...]
  4. GIS-Lab Blog» Архив блога » Новости вокруг 59 - [...] по населению; Cartagr.am; карта научного цитирования; миграция населения; атлас инуитов; доходы на душу населения; потребление [...]
  5. datanalytics » Gráficos (V): mapas - [...] En el blog de James Cheshire, Spatial Analysis, pueden encontrarse mapas como éstos. [...]
  6. Open Flights; Mapping Global Connectivity » Spatial Analysis - [...] of other sources of global con­nec­tiv­ity is shown by James Cheshire, who posted a vary nifty map, which dis­play a …
  7. Coming of Age: R and Spatial Data Visualisation | Spatial Analysis - [...] Global Migration Maps [...]
  8. It’s All About Maps! « spatialthinkingblog - [...] Source: spatialanalysis.co.uk [...]

Post a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>