Pages Menu
TwitterRss
Categories Menu

Posted by on Mar 17, 2011 in R Spatial, Visualisation | 11 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

11 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!

  6. James, thanks for a great post! I am trying to create a similar map of flows from Sweden to the rest of the world. However, I am a beginner at R and when I try to load the geosphere package with this code library(geosphere)
    I simply get this message:
    Loading required package: sp
    Error: package ‘sp’ could not be loaded
    In addition: Warning message:
    In library(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc) :
    there is no package called ‘sp’

    What is wrong? Would really appreciate some help!

  7. 同様にこれらの魅力的な機微のすべての商標、クラブでより明らかにしようと、ダイヤルブローバ時計マンチェスターユナイテッド・クラブの冠の上で見られることができます。 ブランド時計コピー激安通販 有名な頂上、1971年以降は、シャツの上の中心部分を飾る時のサブダイヤル、と悪魔(愛情”として知られるフレッド・ファンによって赤」)、竜頭の上で見られることができます。 http://www.newkakaku.com/gb1.htm

  8. もしあなたは真剣なの人が見たら、君をもっと知りたいのについて運動は必要の裏切らない、きっとそのななじゅう時間の動力の準備、よんしよ週波数の運行速度は、使用シリコン糸遊。 ロレックスデイトジャストスーパーコピー すべての都铎運動を認証天文台が、都铎傲慢に発表し、試験の平均を上回っ天文台表標準のよんしよろく秒までの平均毎日提供の結果-に+よんしよ秒/日。全体としては、このように1つのかなりの運動は私にとって。しかし、同じ2015都铎北旗の運動は、この運動は見えない内部を都铎王朝をキャップ。もう一度、これはートル防水時計。 http://www.wtobrand.com/lv2.html

  9. 梅表会社総裁のダニエル・史洛普(ダニエルSchluep)初めて見张奇開の絵に一目惚れしてパンダと感動に加え、パンダはかわいくて、おとなしくて、平和のイメージは、更に勾よう大衆に絶滅動物の生態環境の注目。そこでダニエル・史洛普決定と张奇開一回風変わりな協力運用精妙な発想と技巧、「大気圏に再突入するNo . 1」をテーマに、高度な油絵結合タブ工芸とデザインの文字盤に。シャネル 時計 コピーダニエル・史洛普はずっと芸術好きで、张奇開さんが作品の中で体現してパンダの熱愛と時間と空間のテーマで議論し、彼は深く触れ。で张奇開にとって、今回スイスと梅表国際時計ブランドと提携し、さらに発揚と中華芸術交流促進を絶好のきっかけ。 http://www.msnbrand.com/goods-copy-4780.html

  10. これは2010年に自身への機械的なセイコースポーツ腕時計です。純粋に機械的な春のドライブに対する米国に拠点を置くアナンタ腕時計運動を代表して、この2010年の自動巻きクロノグラフ参照srq009チタンに対する新しい。私が最初にこれを見たとき、私はそれを見て、限定版になるということをかなり確信しました、しかし、それはそうチタンアナンタ自動セイコーのハイエンドの世界市場の自動の非常にスポーティなバージョンを提供している普通のコレクションの一部です。スーパーコピー時計ブランド私はそれに私の手を得て、それをチェックすることができました、そこで、それはかなりセクシーな探してそれの画像をここで見ることができます。私が言うことができることはかなり素晴らしいですが、炭素繊維ダイヤル腕時計は、私が好きである! http://www.brandiwc.com/brand-super-12-copy-0.html

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=""> <s> <strike> <strong>