Skip to content

Cartography & Map Design

Goal: Design maps people want to look at. Master the design principles that turn a layer into a publication-quality map.

What you'll learn

  • The 6 essential map elements
  • Color theory for maps
  • Visual hierarchy and figure-ground
  • Common cartographic mistakes (and fixes)

What makes a map good?

A great map answers a question fast. Within 5 seconds, a viewer should know:

  1. What the map is about (title)
  2. Where it is (basemap, scale)
  3. What the colors / symbols mean (legend)
  4. What the takeaway is (visual hierarchy)

If a viewer has to study it for 30 seconds, the map failed.

The 6 essential elements

  • Title

    Frames the question. "Median household income, Atlanta MSA, 2022" — not just "Income map".

  • Legend

    Explains every color and symbol. Match the data type (continuous, categorical, ordinal).

  • Scale bar

    Always include for printed/PDF maps. Use real units (miles, km).

  • North arrow

    Especially when the map isn't north-up.

  • Source & date

    "Data: US Census 2022 ACS 5-year. Map: J. Doe, 2026."

  • Projection note

    Small, in the corner. "Projection: NAD83 / Georgia State Plane West (EPSG:2240)."

Color theory for maps

Choose the color scheme to match the data

flowchart TD
    D[Your data] --> Q1{Type?}
    Q1 -->|Categorical<br/>Forest, Water, Urban| Cat[Qualitative palette<br/>distinct colors]
    Q1 -->|Sequential<br/>low → high income| Seq[Sequential palette<br/>light → dark of one hue]
    Q1 -->|Diverging<br/>negative ↔ positive| Div[Diverging palette<br/>two hues meeting at neutral]

    classDef root fill:#4338ca,stroke:#312e81,color:#fff
    class D root
    classDef q fill:#fef3c7,stroke:#f59e0b,color:#92400e
    class Q1 q
    classDef ans fill:#dcfce7,stroke:#10b981,color:#065f46
    class Cat,Seq,Div ans
Data type Use Example palette
Categorical Distinct hues, equal weight Set1, Set2 (ColorBrewer)
Sequential Light → dark of one hue Blues, YlGnBu
Diverging Two hues meeting at neutral RdBu, PuOr

Use ColorBrewer

colorbrewer2.org is the gold standard. Built into ArcGIS Pro symbology.

Accessibility

  • Always check colorblind-safe palettes (ColorBrewer marks them).
  • Use labels in addition to color when possible.
  • Avoid pure red/green contrast.

Visual hierarchy

The viewer should look at the most important element first. Build hierarchy with:

Tool Effect
Size Bigger = more important
Color saturation Saturated = foreground; muted = background
Contrast Dark on light (or vice versa)
Position Centered, top, or rule-of-thirds

The basemap should fade. Your data should pop.

Figure-ground

The "subject" of the map should clearly stand apart from its surroundings (the "ground").

  • Mute the basemap (gray, low saturation)
  • Add a subtle outline / drop shadow to study area
  • Crop tightly to the area of interest

Typography

Title:        Bold, sans-serif, 18–24pt
Subtitle:     Regular, italic, 12–14pt
Legend:       Sans-serif, 9–11pt
Labels:       Match the feature type (italic for water, bold for cities)
Sources:      Smallest, 7–8pt

Font pairings that work

  • Inter + JetBrains Mono
  • Source Sans Pro + Source Serif Pro
  • Open Sans alone (one font, two weights)

Use 1–2 fonts max. Three or more = visual chaos.

Choropleth design

A choropleth = polygons colored by a value.

Always normalize

Showing raw counts by polygon is misleading because polygons have different sizes/populations.

Always normalize by:

  • Population (rate per 1,000 people)
  • Area (density per km²)
  • Total (percent of category)

Classification methods

Method When
Equal interval Easy to read, but vulnerable to outliers
Quantile Equal number of features per class — good for skewed data
Natural breaks (Jenks) Minimizes within-class variance — Esri default
Manual When you have meaningful thresholds (poverty line, elevation contours)

→ Walkthrough: Choropleth Map tutorial

Common mistakes

Cartography sins

  • 🚫 Using the rainbow ramp for sequential data
  • 🚫 Default basemaps that overpower the data
  • 🚫 No projection note (or worse, Web Mercator for area analysis)
  • 🚫 Tiny, unreadable legend
  • 🚫 Showing raw counts in a choropleth (normalize!)
  • 🚫 Five different fonts
  • 🚫 No source / date

Inspiration


Practice

Redesign challenge

  1. Find a default ArcGIS Pro choropleth (any).
  2. Identify the 3 worst design choices.
  3. Fix them: better palette, fewer classes, normalized values, better hierarchy.
  4. Export to PDF at 300 dpi.
  5. Show before / after side-by-side.

That's a portfolio piece in itself.


Next up

Spatial Analysis — beyond geoprocessing into pattern detection.