Mapped penguin meme

Share this on Facebook download .zip with all pictures

If you wanted to do this with software, you usually *write* a program. Writing software is not that hard.

The practice of manipulating such geospatial data is called [“geoprocessing”](https://en.wikipedia.org/wiki/Geoprocessing), and the general field is called [GIS](https://en.wikipedia.org/wiki/Geographic_information_system). A site that has questions and answers about GIS is the [GIS stack exchange](https://gis.stackexchange.com/). (I found out about the stuff on this paragraph by doing Google searches, I never wrote a software to do geoprocessing myself)

An easy programming language is called Python. [This question](https://gis.stackexchange.com/questions/91742/looking-for-python-module-to-do-lat-lon-calculations) on the GIS stack exchange asks how to do some simple geoprocessing task with Python. Some dude or dudette recommended the use of [GDAL](https://pypi.python.org/pypi/GDAL/) (this was also found through a Google search. I never used GDAL).

Well, suppose you (or someone reading this) bothered to tinker with this stuff, and installed Python, GDAL, and learned a bit of Python and so on.

To perform the task of the OP, we need learn how to calculate the *distance between two countries*. This is probably a very simple GIS query. Once we know how retrieve such distance, we can enumerate all pairs of European countries, and calculate the distance between them, discarding the countries further apart than 100 miles (that’s because if two countries are, say, 150 miles from each other, it’s impossible to be in one of them and be 100 miles apart of someone in the other country). This “brute force” approach isn’t very efficient if there is a lot of countries, but I think that Europe doesn’t have too many countries. Also, if we calculate the distance from the UK to Germany, we don’t need to calculate the distance from Germany to UK.

Then, we need to learn how to calculate whether a country border another. Well, that’s quite obvious, but it’s nice to have this check in the program too. Then we also discard those countries (we can’t be “two countries away” if your country borders mine).

We’re left with countries in Europe that aren’t more than 100 miles apart and don’t border each other. The problem is: some of them might be three countries away, not two. We could signal them in the map so that we can manually pick which countries are true candidates for the meme, but we are perfectionist: we want our GIS software to also decide this.

Here is an approach: we need to learn to calculate the *shorted straight line that connects two countries*. The result is where this line starts and ends. This seems tricky, but it’s as easy as calculating the distance of the previous task (it just tell you the endpoints instead of just saying the distance). Then, we draw then in a map for all countries found in the previous case, just for having a map like the OP.

We can look at those lines and see whether they cross more than one country (this means that, in order to go from country A to country B, you need to pass through two countries). But we can also learn how to *calculate which countries a given segment pass through*: if it’s more than one, we know it passes through two countries.

Another approach: we know country A doesn’t border country B. But does any of the countries that borders A, also border B? If yes, they are two countries apart. (that’s probably easier and more correct than the previous method)

So we’re left with some tasks to learn. We might read a book on GIS, or we might search internet about those tasks. We can, for example, ask in the GIS stack exchange how to perform those tasks with GDAL and Python. Perhaps someone else already asked, and we can use Google to find this.

The insanely cool thing about this is that someone with literally zero programming experience can download Python and start with the easier aspects of this, and slowly gain experience and learn how to do those tasks.

For someone with programming experience (but zero experience with GIS) this might be a weekend task. Or, more commonly, this might be a programming assignment in an university course about this subject. But for someone experienced with some GIS package, this might take some hours or minutes (depending on whether the person already knew how to perform some of those tasks).

Latest Comments
  1. Tiarad December 29, 2016
  2. CarlGuerrier December 26, 2016
  3. Ightcer December 26, 2016
  4. Laeld December 24, 2016
  5. UrsulaNeel December 21, 2016
  6. czakNorris1 December 15, 2016
  7. EviaBruss December 12, 2016
  8. LeonardEdlund December 11, 2016
  9. uruch December 10, 2016
  10. Ybele December 9, 2016
  11. tauskny December 5, 2016
  12. tischDE December 3, 2016
  13. Eldoq November 26, 2016
  14. MilesVickers November 22, 2016
  15. MeghannBoardman November 22, 2016
  16. Neab November 22, 2016
  17. Mcaaast9 November 20, 2016
  18. LeolaBou November 14, 2016
  19. Sordmiecz4 November 13, 2016
  20. Titus16 November 12, 2016
  21. Nyem November 7, 2016
  22. Garan November 3, 2016
  23. Iceru October 29, 2016
  24. CristineLacomb October 21, 2016
  25. tischDE October 21, 2016
  26. Endvesa October 21, 2016
  27. Dotuton October 20, 2016
  28. dreyer333 October 15, 2016
  29. ShahidAqq October 14, 2016
  30. Laeld October 9, 2016
  31. christianson44 September 29, 2016
  32. hobbyrobie186 September 28, 2016
  33. Nah September 27, 2016
  34. DomingaRico September 26, 2016
  35. CarlGuerrier September 26, 2016
  36. Tiaeld September 13, 2016
  37. LeotaBerkeley September 6, 2016
  38. BuenaShore September 4, 2016
  39. Oasi August 31, 2016
  40. Cheann August 25, 2016
  41. Iss August 18, 2016
  42. Hinoldo August 12, 2016
  43. ThuBocanegra August 5, 2016
  44. Darpolo August 2, 2016
  45. persaud July 24, 2016
  46. kolinmcrae July 23, 2016
  47. Issdar July 19, 2016
  48. Kimskel July 19, 2016
  49. Tanenth July 18, 2016
  50. Usklor July 17, 2016
  51. ShahidAqq July 15, 2016
  52. Usklor July 11, 2016
  53. LatashiaReece July 10, 2016
  54. Rosybi July 5, 2016
  55. garza77 June 22, 2016
  56. AlexTibbs June 22, 2016
  57. Nyem June 21, 2016
  58. garza77 June 17, 2016
  59. Ingn June 16, 2016
  60. barbozaIsland June 15, 2016
  61. vanderpool39 June 12, 2016
  62. Rodel June 11, 2016
  63. Queton May 29, 2016
  64. Claribel1 May 29, 2016
  65. Unthon May 28, 2016
  66. rowles09 May 21, 2016
  67. Emtny May 14, 2016
  68. rowles09 May 14, 2016
  69. TakakoMelnick May 11, 2016
  70. Sordmiecz4 May 9, 2016
  71. Rodyn May 7, 2016
  72. milonekilone4 May 3, 2016
  73. Radbel May 2, 2016
  74. Adir May 1, 2016
  75. osade May 1, 2016
  76. ucid April 23, 2016
  77. Wartin April 19, 2016
  78. Undihin April 15, 2016
  79. TyroneVautour April 14, 2016
  80. Ceribo April 13, 2016
  81. Rac April 13, 2016
  82. Imem April 9, 2016
  83. Yuania April 5, 2016
  84. Titus16 April 4, 2016
  85. Haizden March 28, 2016
  86. Iaor March 24, 2016
  87. Belacha March 20, 2016
  88. barbozaIsland March 14, 2016
  89. Umedar March 11, 2016
  90. hyunsc2 March 10, 2016
  91. bellowsE March 6, 2016
  92. osade March 2, 2016
  93. GastonCoit March 1, 2016
  94. WendellAhmad February 23, 2016
  95. Emkim February 21, 2016
  96. MeghannBoardman February 19, 2016
  97. TakakoMelnick February 18, 2016
  98. Cheann February 16, 2016
  99. LucienneDewees February 11, 2016
  100. Yuania February 10, 2016
  101. LucienneDewees February 9, 2016
  102. Yuania February 9, 2016
  103. Nulad February 5, 2016
  104. TyroneVautour February 5, 2016
  105. Zimmermann169 January 31, 2016
  106. Claribel1 January 24, 2016
  107. Aselme January 23, 2016
  108. LeolaBou January 21, 2016
  109. CatharineDorrance January 18, 2016
  110. Lavonne1 January 18, 2016
  111. Chawler January 5, 2016
  112. Sylye January 3, 2016
  113. Issdar December 29, 2015
  114. UrsulaNeel December 21, 2015
  115. LacyMaberry December 19, 2015
  116. Laeld December 18, 2015
  117. czakNorris1 December 18, 2015
  118. Nicolhowle December 14, 2015
  119. LucienneDewees December 12, 2015
  120. RSpofford December 11, 2015
  121. Ludser December 9, 2015
  122. Ingn November 11, 2015
  123. YaekoPendelton November 6, 2015
  124. Nyest October 29, 2015
  125. walters1981 October 27, 2015
  126. mcnabb October 25, 2015
  127. RobbynDosch October 21, 2015
  128. Nulad October 20, 2015
  129. Issdar October 20, 2015
  130. ThuBocanegra October 19, 2015
  131. Chaiwor October 16, 2015
  132. RSpofford October 13, 2015
  133. Esstiaing October 12, 2015
  134. Unthon October 12, 2015
  135. Endvesa October 7, 2015
  136. Odynu October 6, 2015
  137. Endvesa October 2, 2015
Comments are closed.
Click on Like Page, to get new amazing photo every day on facebook.
Thanks! I already Like.