Contribute Media
A thank you to everyone who has made this possible: Read More

Visualizing Geographic Data With Python


PyData SF 2016

The statistician George Box once wrote that “all models are wrong, but some are useful”; the same could be said for maps. In this talk, we’ll discuss the problems that arise when creating 2-dimensional representations of our world. We'll then see how to create data-rich maps using Python, matplotlib, and the basemap toolkit. we'll also see how to create maps for the web using the Folium library.

Maps have been such a mainstay of our lives for so long now that it's hard to imagine just how complex it is to create one. Keep in mind though, the earth is a 3-dimensional spherical object, so we're stuck with the problem of "projecting" the world onto a 2-dimensional surface. What this means is that every map you've ever looked at was wrong in some way.

In this talk, we’ll discuss what a map projection is, and why the Mercator projection, the map you use everyday, is both incorrect and unfair, but useful nonetheless. We’ll also see some ways that we can create maps using Python. We’ll first see how to create data-rich maps using the matplotlib library with the basemap toolkit. We’ll then see how to create maps for the web using libraries like Folium, the python interface to Leaflet.js.

By the end of this talk, you should have a general understanding of the problems surrounding the creation of effective maps. You should also feel comfortable picking out a proper map projection and plotting data on it using a multitude of techniques and the Python language.


Improve this page