Land Use Icons

Live Tweeting Cartography

One night, I decided to have some fun live-tweeting my map design process. I wanted to show folks the effort that goes into map design, struggles and all.


I came across this cool design by Rick Crane on Pinterest.

I liked the look of the gridded icons, and wanted to recreate it with real data.

The process

I started by looking at my spatial toolbox to decide which approach to take. I could take the spatial analysis route and use a land cover raster to determine where the forests are. I could take the web map route and use Mapbox land cover classes to make a cheap slippy map. Or I could take the graphical route and bring the land cover data into a vector program and place icons manually. 

I decided to go the "spatial route" first.

I have an Esri license, but I didn't have a high enough license to use the Spatial Analyst toolbox, which has the raster statistics tool in it. It looked like all the tools I needed were available using the open-source QGIS software, so I fired it up. 

Hexes Are Cool

I knew I didn't want a straight square grid, so I turned to Google for how to make a hex grid in QGIS. The MMQGIS plugin provided a lightnig-fast tool fore creating the hex grid. Fun fact: a 10km-wide hex grid of the continential United States results in 69,878 hexagons! 

Land Statistics

I used the Zonal Statistics tool to determine which land use was the predominant category in each hex. It took around 7 hours to process the 18GB raster.

During the live thread, I didn't have time to wait, so I took a differet route.  Review the thread starting here to see what I did in the moment.


The easiest way to make point symbols on the grid is from creating centroids.


I used Mapbox Maki icons for the point symbols.

Final Result: Detail


Final Map


Click here to download the ridiculously large image

Warning: It's a very large PNG. You probably want to Right Click -> Save As

The Thread

I've cleaned up the process for this blog post, but if you want to see how it went down in real time, here's the thread: