DesignBeginnerPreview
Map Design
A practical, end-to-end course in cartographic design that teaches you to build maps people can actually read. You will learn visual hierarchy and generalisation, honest data classification and colour ramps for choropleth maps, type placement on geography, illustrated and wayfinding styles, and a clean export workflow in QGIS, Mapbox, and Illustrator.
Designers, analysts, journalists, and product people who make or commission maps and want them to be clear, honest, and genuinely useful.
Course content
Workbook & downloads
Put the course into practice — a printable workbook plus editable templates you can fill in and reuse.
Preview the workbook
This workbook turns the course into one finished, publication-ready thematic map and the design decisions behind it. You will write a one-line map brief, set an honest projection, rank your layers for figure-ground, normalise and classify your data, choose a ColorBrewer ramp that survives colour-blindness, place type by Imhof's rules, and finish with a full set of marginalia and a correct export. Work one section per module and end with a map you could publish, plus the reusable decision sheets that make your next map faster.
Cartographic Foundations
Set the brief, projection, scale, and layer hierarchy that every later decision depends on, before you style anything.
Worksheet: One-Line Map Brief
Define the map's job in a single sentence and the facts that flow from it, so every later choice can be checked against a clear purpose.
- The one question this map must answer (one sentence)
- Primary audience (specific, not 'general public')
- Output medium (print A4/A3, web interactive, slide, social)
- Map type (reference, thematic/choropleth, wayfinding, illustrated)
- The single most important layer (the figure)
- What can be omitted entirely at this scale
Exercise: Projection Fit Decision
Match a projection to the map's purpose so the map is honest about what matters, using equal-area for anything that compares regions by colour.
- Name which property must stay faithful: shape, area, distance, or a compromise, and why.
- If the map fills regions with colour to compare a quantity, commit to an equal-area projection and name a specific one (e.g. Albers EPSG:5070, Equal Earth).
- Write down the projection or EPSG code you will set in QGIS before styling.
- Note one distortion you are accepting, and confirm it does not undermine the map's question.
Worksheet: Layer Hierarchy and Figure-Ground Plan
Rank every layer from figure to deep context and decide how each will be pushed forward or back, before opening styling controls.
- Tier 1 — figure (the subject; loudest)
- Tier 2 — supporting context (cities, key features)
- Tier 3 — deep context (graticule, neighbouring areas)
- Figure-ground device for the subject (contrast / detail / colour temperature)
- Will surroundings be masked or vignetted? (Y/N + opacity %)
- Scale / representative fraction for this output (e.g. 1:6,000,000)
Checklist: Foundations Readiness
- I can state the map's job in one sentence
- I have named the audience and output medium
- I chose a projection that fits the purpose (equal-area if comparing regions)
- I reprojected my data to that projection before styling
- I ranked every layer into three figure-to-ground tiers
- I decided a figure-ground device and a generalisation level for the scale
Colour and the Choropleth Map
Normalise the data, choose an honest classification and ColorBrewer ramp, and confirm the map is not just a population map or a colour-blind trap.
Exercise: Normalise-Before-You-Map Drill
Convert raw counts into a rate or density so the choropleth answers your question instead of redrawing the population map.
- Write the raw measure you have (e.g. total cases, total sales) and confirm whether it is a count.
- Pick the denominator that answers the question: per capita, per area, or share of a local total.
- State the final mapped value and its units (e.g. cases per 100,000 residents).
- Sanity check: if you mapped the raw count instead, would it just look like where the people are? Note the answer.
Worksheet: Classification Decision Sheet
Lock how the data is broken into classes and why, comparing methods before you commit, so the breaks are defensible.
- Mapped variable and units
- Data shape (roughly even / right-skewed / has clear clusters)
- Classification method chosen (Equal Interval / Quantile / Natural Breaks-Jenks / Std Dev / Manual)
- Why this method fits the data shape (one line)
- Number of classes (3-7; default 5)
- Class break values (list them)
- Sequential or diverging? (and the true midpoint if diverging)
Worksheet: ColorBrewer Ramp and Accessibility Check
Choose the ramp family and specific scheme, then prove it survives greyscale and colour-blindness before it reaches the map.
- Ramp family (sequential single-hue / sequential multi-hue / diverging / qualitative)
- Specific ColorBrewer scheme name (e.g. YlOrRd, BuPu, RdBu)
- HEX values for each class
- Colour-blind-safe per ColorBrewer's filter? (Y/N)
- Tested in a simulator (Coblis)? (Y/N)
- Readable in greyscale by value alone? (Y/N)
- Rainbow/spectral ramp avoided for ordered data? (Y/N)
Exercise: Three-Way Honesty Test
Build the same data three ways to expose the area-size bias and choose the most honest map for your question.
- Make a raw-count choropleth and note what it actually emphasises.
- Make a normalised-rate choropleth of the same data.
- Make a dot-density or graduated-symbol version of the count.
- Write one sentence naming which version most honestly answers the original question, and why the others mislead.
Type on Geography and Wayfinding Maps
Place labels by Imhof's rules, encode meaning with type conventions, and decide where geographic accuracy should yield to clarity.
Worksheet: Labelling Rules Setup
Define the placement and styling rules your label engine will follow for each feature type, so labels stay legible and unambiguous.
- Point label default position (Imhof: prefer upper-right)
- Line label rule (follow curve, placed above, repeat interval)
- Area label rule (within feature, letter-spaced to span extent)
- Halo / buffer colour and width (e.g. white, 1.5px)
- Collision/overlap rule (no label crosses another or names the wrong feature)
- Which labels will need manual nudging after auto-placement
Exercise: Type-as-Code Audit
Apply the conventional map-typography system so a reader can infer feature type from the lettering alone.
- Set all water features in italic (and ideally blue) and confirm they read as water at a glance.
- Set large areas/administrative units in spaced caps and settlements in title case.
- Build a small label size scale (e.g. 7 / 9 / 11 / 14 pt) tied to feature importance, and list it.
- Limit the map to one or two typeface families and name them.
Worksheet: Schematic vs Geographic Decision (if wayfinding)
For a wayfinding or transit-style map, decide how far toward schematic to push while keeping topology perfect. Skip if your map is purely thematic.
- How geographic vs schematic (1 = survey-accurate, 5 = Beck-style diagram)
- Fixed line angles used (e.g. 0/45/90 degrees)? (Y/N)
- Station/stop spacing equalised in dense areas? (Y/N)
- One distinct, colour-blind-safe colour per line? (Y/N)
- Interchange/transfer symbol defined? (describe)
- Topology preserved exactly (order of stops, real connections)? (Y/N)
Checklist: Type and Wayfinding Readiness
- Point labels sit upper-right and never touch their symbol
- Water is italic, areas are spaced caps, settlements are title case
- Every label has a halo/buffer so it reads over busy backgrounds
- Label size scales with feature importance on a deliberate scale
- The map uses only one or two typeface families
- If wayfinding: geometry is simplified but topology is perfectly accurate
Production and Export in QGIS, Mapbox, and Illustrator
Compose the page, add the marginalia that make a map trustworthy, and export at the correct size and resolution for the destination.
Exercise: Print Layout Build (QGIS)
Compose a publication-ready page in the QGIS Print Layout, keeping data styling and page composition as separate stages.
- Open Project then New Print Layout and add a Map item at your output page size (e.g. A4 landscape).
- Set an exact scale on the map item and lock it so it cannot drift while you compose.
- Add legend, scale bar, north arrow, title, and a data-source credit, aligned on the page.
- Export a 300 DPI PDF for print (or 150 DPI image for screen) at the final physical dimensions.
Worksheet: Marginalia Completeness Sheet
Confirm every element that makes a map credible rather than decorative is present and correct before you call it finished.
- Title (place + variable + time period)
- Legend with class colours and numeric value ranges
- Scale bar present (preferred over a printed ratio)? (Y/N)
- North arrow present (required if not north-up)? (Y/N)
- Data source and date cited? (Y/N)
- Projection named on the map? (Y/N)
- Units stated in the legend (e.g. per 100,000)? (Y/N)
Worksheet: Export Spec by Destination
Capture the correct file settings for each place the map will live, so it stays crisp and usable everywhere.
- Print PDF: resolution 300 DPI, vector preserved, real page size
- Screen/slide image: 150 DPI, sensible pixel dimensions
- Interactive web: Mapbox style published, zoom-dependent styling set
- File name (descriptive: place-variable-year)
- Layered SVG/PDF exported for Illustrator polish? (Y/N)
- Final output composed at true physical size (not scaled up)? (Y/N)
Checklist: Production and Delivery Readiness
- Data is styled in the canvas and the page is composed in the Print Layout (or Mapbox style)
- The map item scale is set and locked
- Title, legend, scale bar, north arrow, source, and projection are all present
- The legend colours and ranges exactly match the map
- Print exports at 300 DPI and screen at 150 DPI, at true size
- If interactive: zoom-dependent styling keeps every zoom level legible
Your Action Plan
- Write the map's job in one sentence and name the audience, medium, and map type
- Choose and set an honest projection (equal-area whenever you compare regions by colour)
- Rank every layer into three figure-to-ground tiers and pick a figure-ground device
- Normalise raw counts into a rate or density before any colour touches a region
- Choose a classification method that fits the data shape and lock 3-7 class breaks
- Pick a ColorBrewer ramp (sequential or diverging) and confirm it is colour-blind-safe and greyscale-readable
- Place labels by Imhof's rules, encode meaning with type conventions, and add halos
- Decide how schematic to go for any wayfinding map while keeping topology perfect
- Compose the page in QGIS Print Layout (or a Mapbox style) and lock the map scale
- Add full marginalia and export at 300 DPI for print or a published style for the web
Pairs well with
Courses members commonly take alongside this one.
Flagship CoursePreview
Freelance Business Foundations: Position, Price, Sell, and Deliver High-Value Services
Freelancing · Beginner · 16h
Self-pacedPreview
Client GrowthPreview
Freelance Client Acquisition: Outreach, Leads, Referrals, and Deal Flow
Freelancing · Beginner · 15h 30m
Self-pacedPreview
Sales SystemPreview
Freelance Sales & Proposals: Discovery Calls, Scoping, Objections, and Closing
Freelancing · Intermediate · 16h
Self-pacedPreview