Cartographer's Toolkit

Map Making Tips, Tricks, and Inspiration


January 8th, 2018

Presenting a few random cartonotes from various digital maps I’ve been working on lately:

Indicate marine parks, preservation areas, and state beaches that extend into the water as transparent polygons with solid or dashed outlines. This allows the feature to be seen without giving the impression that it is solid land or some other solid feature.

State Beach


When symbolizing road features it can be easiest to simply use a single color for all road types. This is simple but effective.

Simple Roads


However, if you are interested in more complex road symbology using road casings and different colors for the different classes (e.g., highway, primary, secondary), then take care to make sure that bridges are separated and placed on top of the other road features.The feature order list will be something like this:

  1. highway bridges
  2. primary bridges
  3. secondary bridges
  4. highway, not bridges
  5. primary, not bridges
  6. secondary, not bridges

In other words, the bridges go above everything else that isn’t a bridge, even if the bridge is of type primary or secondary. You can see a secondary bridge (peach color) in the screenshot below that runs over a highway (purple color).

Complex Roads


It is pretty typical to use the same hue with a slightly darker value for polygon outlines, as shown in the airport outline below. Hexcolortool is handy for lightening or darkening a color by a given percentage. Of course you can also adjust the value in the HSV color system or the lightness in HSL color system to achieve this.

Typical Outine


Labels for features that are higher in order do not necessarily need to be darker in color. In the following example label hierarchy is achieved with larger state labels in a lighter color, while city labels are smaller but darker.



Map Design Basics*

October 11th, 2017

It isn’t April Fools’ Day but this is one of my old workshop hand-outs that came across my desk again today. Spruced up and embellished, it makes some great points about how to be a good cartographer. Or, erm, it makes some points anyway. 😉


  • Neat-line boxes must surround every element. Think maximum containment and minimal flow.
  • Ignore figure-ground. Land can be white and water can be white. Why use more ink than you have to?
  • You don’t need to bother with labeling features but if you do, try under the line, on the point, and on all parts of multi-part polygons.
  • Definitely include a large row of clashing logos.
  • Legends don’t need to explain everything, let the map reader guess a little.
  • Spell-check is overrated.
  • Legends with underscores, cryptic numbers, and things like “z5” make you look smart.
  • Orient your maps in highly unusual ways.
  • Make sure map readers understand each and every disclaimer, including those that have never been tested in court, before they are allowed to even see the map.
  • Talented map designers only need about 30 minutes to turn out a good map.
  • It’s important to make the map for yourself not for the audience.



In case you missed it

August 25th, 2017
  • FOSS4G was last week, had the biggest turnout yet, and included some guy on stage rubbing his feat with lotion (or so the story goes, I wasn’t there to witness that historic event.) Some recaps of the week: Carto’s take, the GeoSolutions presentations, DirectionsMagazine. If you have one to add let me know.
    Added 8/29/17: geoMusings FOSS4G Recap
  • There were a lot of eclipse maps. A LOT. All non-eclipse maps seemed to be eclipsed by the eclipse maps.
  • Brian Timoney, of MapBrief fame, said something about Excel on twitter, AGAIN. I was using Google Sheets last week and I swear it read my thoughts and did my calculations for me. I think you should switch to Google Sheets.
  • I mentioned the Einstellung effect, which according to wikipedia is, “a person’s predisposition to solve a given problem in a specific manner even though better or more appropriate methods of solving the problem exist.” As a professional cartographer, this should not dissuade you from keeping a mental catalog of map types and techniques (e.g., hex maps, dynamic clustering, cartograms, etc.). It should also not dissuade you from keeping an eye on all the new map types and techniques that are currently being developed and floated on social media. In most cases one of those is going to be the best idea for your map viz too. But it may not be. So to combat this psychological wall, you need to do some things when you are planning a new map. First, try framing your task as a question like, “is there a completely different approach I could take?” Second, if you are drawing out your ideas, switch to writing them out with words or vice versa. This helps you switch from right-brain to left-brain thinking (or vice versa), which gets you out of your usual thinking processes and may enable new insights to occur. Third, and this is always my own biggest issue, take the time to really think through the problem. To get myself to stop hurrying into solution-mode I’ll run the problem by colleagues to get their thoughts, take a walk to think more, or draw it out.
  • City Maps was cited in an academic paper. So was one of Anita Graser’s papers. Double fantastic. The World’s User-Generated Basemap is More than 80% Complete.




Do Cartography With This One Weird Tool

June 26th, 2017

It’s about time I wrote another post. This one is sure to excite.
Today I’ve been musing about the strange tools we GIS people use during the course of our daily work. For example, I’ve been using Google Drawings* to paste screenshots, crop them to 200 x 133 pixels, and add them to AGOL as thumbnails. My client’s public facing layers and webmaps weren’t looking too good in searches because the thumbnails were the basic defaults. Here’s some of the results:
Google Drawings is super easy for this basic task for various reasons including the fact that snapping to page edges is built-in. Using a product like Inkscape gives you a lot more functionality, but each thing needs to be set ahead of time, such as the proper snapping, so more basic tasks are done more quickly using simpler software like this. I suppose the danger there is using the wrong tool solely because other software is harder to use. In the beginning of my career I was certainly guilty of using Power Point for quick image manipulation, which in retrospect was not really the best choice. (Understatement.)
Speaking of thumbnail images, it seems that making them look good is one of those newer type of things that GIS people need to have in their designer toolkit. We didn’t really need to create thumbnails 5 or 10 years ago but now, with most of our layers and maps online, it makes sense to use them as clickable entryways into our content. Not to mention we might use thumbnails for social media posts as well. I did find a short tutorial on thumbnail making from Esri for those seeking a little more help in this area.
Another designer-y skill that is new and goes along these lines is gif making. A lot of the most shared maps on social media are animated gifs of change over time such as:

By the way, who hasn’t made a map of U.S. territorial expansion? Here’s one I made for a U.S. history textbook years ago. It’s not an animated gif. :(
Without a doubt I need to get on the animated map gif bandwagon but I haven’t yet. What are the tools that you use for this? Tips appreciated via twitter/comments, thanks!
Related twitter poll:


*Not to be confused with the amazing new Quick, Draw! thing that @geospacedman pointed out this morning (warning, addictive).

Creating a new Hot OSM map

April 27th, 2017

Using Tegola and Tegola-OSM I’ve been working on approximating the HOT OSM map style in Mapbox GL. Using the handy CartoCSS available for this style, by-eye comparisons with the raster tile map, and personal interpretation for the 3d building elements, we’ve got this going:


View the demo live here. It’ll be a bit slow and not so great at zoom 4, but we are working on that. I mean, it’s the OSM data of the entire world styled at all zoom levels (plus a bit of natural earth data for admin boundaries and more to come) so there’s a huge amount of data to work with here and lots of things to work out to get right.

If you aren’t familiar with vector tile maps, note that you can shift the pitch (tilt) via Ctrl + left-click + drag. That’s something that we cartographic consultants need to start teaching our clients. Also, different parts of the GL spec are operational on desktop vs iOS vs Android so depending on your device your results will vary a bit at this time.

Maputnik, for the most part, makes it “easy” to style a map as long as you have an endpoint like Tegola serving up some good data (the Tegola endpoint is still very much under development and is undergoing some optimizations and doesn’t have every single map item we’d like to have quite yet).

I say “easy” in quotes because as with everything there is still a learning curve and, as with everything, it is still under development as well. There are a few things that have to be added to the style.json by hand so anything beyond its interface capabilities will require knowledge of json.

Like the data-driven styling on the buildings in this map. You can see an example of that in the image above where the hospital building (type=hospital) is a bit reddish compared to the other buildings. In Maputnik this style still looks like all the buildings except the hospitals and schools are black whereas live it looks the way it is supposed to. Thus I await with eagerness the incorporation of all the cool new things available in the GL spec. :)

Here’s that bit of code for the building tilt data-driven styling. You can see the “default” property isn’t used and instead, mysteriously, the empty quote does the job for providing the default gray color.



One of the more interesting style choices that came up was where to put the road labels. Google maps puts road labels above 3d buildings when you view on your mobile device and tilt (two finger swipe). This might be ideal for a small amount of screen real estate when you’re using the map for navigation but I think that on larger screens and with different map purposes the street labels can look cleaner when they are beneath the 3d buildings. Take a look at this thread for some opinions on this:




Map Take-Aways

April 20th, 2017

One key to cartographic success is employing a deft mixture of subtle and forthright elements in order to achieve that most difficult of harmonizations: effortless yet highly informative communication. Here’s an example that came up in my twitter thread just a few moments ago:

Here we see several elements that help to achieve the right balance:

  • Masked basemap: focuses reader attention on the area of interest while also providing geographic context.
  • Gray titling: “DISTRICT OF COLUMBIA” is in a light gray color, which minimizes its appearance despite its being diffused across the legend box. You see this often with titles in all-caps.
  • Black titling: “LAND USE PLAN” is what the map author really wants you to read first, so this is both in black and all-caps.
  • Legend box in light gray: since the light-gray text elements could blend with the light-gray masked basemap, the legend box is needed in this case, but it is kept subtle.
  • Bold colors for the landuses: landuse plan maps are notorious for their cartographic difficulty in that the combination of landuses and basemap information can make for an entirely cluttered aesthetic. Making the landuses the number one focus point was a good idea for this map.
  • Polygon boundary colors in slightly darker shades: slightly darker polygon boundaries in the same hue as the polygons helps to define the boundaries of the polygons while not overwhelming the map. Black boundaries on all polygons would not have served well here.

Cartographer's Toolkit

Map Making Tips, Tricks, and Inspiration