Short answer

Map storytelling means guiding a reader's attention through a sequence — a camera path, a series of highlighted layers, a set of annotations — so that a complex dataset becomes legible. Oversimplification happens when the techniques that guide attention also quietly alter the evidence: a smoothed contact presented as fact, a quantile classification that manufactures drama, an interpolated surface drawn with the same crisp authority as a field measurement. The craft is to control focus while leaving the facts intact and inspectable.

For geological and Earth-data narratives, that means three commitments: encode uncertainty visually rather than hiding it, disclose every classification and processing choice, and always give the reader a path back to the source value.

Storytelling is sequencing attention, not editing data

A good narrative map is essentially a curated reading order. In a scrollytelling layout, each scroll step changes the camera position, fades layers in or out, or pins an annotation; the data underneath never changes. MapLibre GL JS supports this cleanly through flyTo/easeTo for camera moves and setPaintProperty to ramp opacity as the reader advances. deck.gl's TransitionInterpolator does the equivalent for data-driven layers.

The discipline is to keep a strict separation: the story layer (camera, highlights, captions) sits on top of an unmodified data layer. If a reader stops scrolling and starts panning, they should be able to interrogate the real geometry, click a polygon, and read its attributes. The moment the narrative requires you to delete inconvenient features or round values to make a point, you have crossed from storytelling into misrepresentation.

There is a useful test for any narrative move you are tempted to make: does it change what the reader looks at, or does it change what is there to be looked at? Zooming to a fault zone, dimming everything except the unit under discussion, or annotating an outcrop are all attention moves and are legitimate. Reclassifying the data so a trend looks stronger, cropping out an anomalous patch, or smoothing a noisy boundary into a confident line are evidence moves and are not. When you cannot tell which category a step falls into, default to leaving the data alone and guiding with the camera and captions instead.

Encoding uncertainty instead of hiding it

Most geological data carries uncertainty that a polished interface tends to erase. Three categories recur:

  • Positional uncertainty — where a contact or fault line actually sits. Cartographic convention distinguishes observed, approximate, inferred, and concealed contacts with solid, dashed, dotted, and queried line styles. Carry that distinction into the web map as a lineType attribute driving line-dasharray in MapLibre, so an inferred fault is visibly less certain than a mapped one.
  • Attribute or classification uncertainty — how confident the unit assignment or the measured value is. Add a confidence field and bind it to opacity or a hatch overlay. A low-confidence polygon rendered at 60% opacity over a neutral background reads honestly as provisional.
  • Interpolation uncertainty — for any surface built from sparse points (a water table, a geochemical grid, a thickness model). Show the sample locations on top of the interpolated surface, or fade the surface where it is far from any control point. A kriging variance surface, if available, is the most rigorous companion layer.

The general rule: a derived or interpreted value should never look as authoritative as a directly observed one.

Classification and color carry an argument

The same numbers can tell opposite stories depending on how you bin and color them. A continuous grid of arsenic concentrations classified into five quantile breaks will show roughly 20% of the area in the top class regardless of the actual distribution — which can invent a hazard pattern. Equal-interval breaks tie classes to real value ranges; natural breaks (Jenks) follow clustering in the data. None is "correct" in the abstract, but each implies a different claim, so the choice must be disclosed in the legend or a methods note.

Color is equally loaded. For sequential continuous data use a perceptually uniform ramp (the ColorBrewer sequential schemes, or viridis/magma) so that equal steps in value look like equal steps in color; a rainbow ramp distorts magnitude and is unreadable to many color-vision-deficient readers. For diverging data (anomaly above/below a baseline) use a diverging ramp anchored at the meaningful midpoint, not at the data mean. Reserve fully saturated reds for genuine danger, not for "the highest bin."

A worked example: a flood-inundation story

Imagine a scrollytelling piece explaining flood exposure along a river reach. A naive version drapes a single blue polygon labelled "flood zone" and lets the reader assume certainty. An honest version sequences the same evidence:

  1. Step one shows the terrain (a hillshade from a LiDAR DEM) so the reader sees the valley form.
  2. Step two overlays gauge locations and the modelled water surface, with a caption stating the return period (for example a 1% annual-chance event) and the model source. The inundation polygon is semi-transparent so the terrain reads through it.
  3. Step three adds an uncertainty band: a lighter halo where the DEM vertical error or model sensitivity moves the waterline. This is the step most maps omit, and it is the one that prevents a reader treating a modelled boundary as a property line.
  4. Step four lets the reader free-pan and click any building to see its modelled depth and the confidence flag.

The story still leads — terrain, then water, then doubt, then inspection — but every claim remains checkable.

Keeping sources reachable

A narrative map earns trust when the reader can always answer "where did this come from?" Practical patterns: a persistent metadata or "data sources" panel; per-feature popups that include the source dataset, scale, and date; and a visible statement of the CRS and processing steps for derived layers. If a layer is modelled rather than measured, say so in the layer name itself ("Modelled water table, 2024"). These cost little and are the difference between a defensible product and a pretty assertion.

Common pitfalls and why they happen

  • The screenshot-with-zoom. Teams port a static figure into a web map and call it interactive, losing the chance to let readers inspect anything. It happens because the static figure already exists and reuse is tempting — but it wastes the medium.
  • Quantile drama. Quantile classification is the default in many tools, so people accept it unknowingly; it guarantees full top and bottom classes and can fabricate spatial patterns. Always ask what break method is being used and why.
  • Decorative 3D. 3D is added because it impresses stakeholders, but tilting the camera distorts area and occludes features, making accurate comparison harder. Use 3D only when relief or subsurface geometry is the actual subject.
  • Buried uncertainty. A clean UI is read as a confident UI. If the confidence field exists in the data but never reaches the screen, the map overstates its own certainty by omission.

Validation

Before publishing a narrative map, check:

  • Every interpreted or modelled layer is visually distinguishable from observed data and is labelled as such.
  • The classification method and class breaks are disclosed, and the color ramp is perceptually uniform and color-vision-safe.
  • Free interaction (pan, zoom, click) recovers the underlying values; the story does not lock the reader out of the data.
  • Source, scale, date, and CRS are reachable for each layer.
  • A non-author reader can describe the main claim and find where it is supported.

Bathyl perspective

We treat the narrative and the dataset as two layers that must never contaminate each other. The story decides what a reader looks at first; the data decides what is true, and stays open to inspection underneath. A geological story that hides its uncertainty is not simpler — it is less useful to the people who have to act on it.

Related reading

Sources