Sign in

Andrew Tyrrell

@southarrowmaps.co.nz
1.1K followers 345 following 277 posts

🗺🇳🇿🇨🇦🏔 NZ-based cartographer, actually now Canada-based. Blender, QGIS, ArcGIS Pro, Illustrator. Partial to a good mountain. southarrowmaps.co.nz

PostsRepliesMedia
Reposted by Andrew Tyrrell
Kenneth Field @kennethfield.bsky.social · 16/09/2026
Seen at a cartography conference. To the lay reader this comparison might seem legit. Why would you question it? To most in the audience the words What. The. Actual. F&£€. were voiced. See if you can spot the egregious error.
12104
Andrew Tyrrell @southarrowmaps.co.nz · 17/09/2026
I need more context…
000
Reposted by Andrew Tyrrell
Daniel Huffman @pinakographos.bsky.social · 08/09/2026
New on the blog: "GenAI for the Static Cartographer," in which I express my concerns about AI but then give ideas on how to use it, anyway. Features results both impressive and mediocre. somethingaboutmaps.wordpress.com/2026/09/08/g...
A GIS view of the coastline of maritime southeast Asia, overlaid with a varity of low-res polygons.
22310
Andrew Tyrrell @southarrowmaps.co.nz · 28/08/2026
Honestly, I just don’t really have the time, creativity, or enthusiasm to make something new, which I’m a bit disappointed about. But I’ve been going through my projects from the past two years, and I’m very proud of the maps I’ve made! I think I’ll submit a few of them for this year’s gallery.
020
Andrew Tyrrell @southarrowmaps.co.nz · 27/08/2026
Gutted to have not been there
000
Reposted by Andrew Tyrrell
Daniel Huffman @pinakographos.bsky.social · 24/08/2026
Results have just been posted for the Alliance of Freelance Cartographers 2026 Annual Survey! www.freelancemaps.org/annual-surve... Please share this with freelance mappers in your orbit. This information helps empower our community. #freelance #maps #cartography
A title slide that says "AFC Annual Survey 2026" and "6th ed." and has a geometric design on it for visual interest.
062
Andrew Tyrrell @southarrowmaps.co.nz · 23/08/2026
We’ve been having the most incredible thunderstorm in Vancouver for at least the last three hours, maybe four. It’s still going. I went down to the beach to watch the show.
160
Andrew Tyrrell @southarrowmaps.co.nz · 19/08/2026
Well this changes everything!
001
Andrew Tyrrell @southarrowmaps.co.nz · 19/08/2026
These “rules” feel so intuitive to me. But defining the rules is far from trivial, and defining when to use which rule (or when to break rules) is exponentially more difficult. I think that’s the crux of my frustrations with getting AI to label a map naturally, artistically, and cartographically.
030
Andrew Tyrrell @southarrowmaps.co.nz · 19/08/2026
That sounds like a bit too much data wrangling for the time I’ve got available…
100
Andrew Tyrrell @southarrowmaps.co.nz · 19/08/2026
Most likely!
010
Andrew Tyrrell @southarrowmaps.co.nz · 19/08/2026
I’ve got 13 days in which to create and submit a map for the #NACIS2026 Map Gallery before the August 31st deadline. Any requests?
340
Andrew Tyrrell @southarrowmaps.co.nz · 09/08/2026
#MapsInTheWild at the Grasshopper Pub, Sunshine Coast, BC. This is my first visit to the Sunshine Coast and it definitely won’t be my last. What a wonderful part of the province/country/world!
A photo of the check in table at the Grasshopper Pub, Sunshine Coast, BC, which is itself a map of the Sunshine Coast with the sea stained blue and the land bare wood. A sign says “please wait to be seated”
010
Reposted by Andrew Tyrrell
Daniel Huffman @pinakographos.bsky.social · 08/08/2026
18 years ago, in my first carto class, my instructor said that computers could do map labeling, but they were bad at it and would likely be for a long time. This advice has held true longer than I anticipated.
161
Reposted by Andrew Tyrrell
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Labelling is a system: move one and five others shift too. Claude handles that knock-on tirelessly, but plenty of times I'd be faster by hand. But the main thing I learned from this is that labelling is a part of mapmaking that I love. Doing it through an AI was achievable, but quietly joyless.
The labelled map in full — the whole rotated Icefields Parkway strip, Jasper at the top to Lake Louise at the bottom. Hundreds of off-white names over the shaded-relief basemap: towns, peaks with triangles, italic lakes, glaciers and icefields, the Sunwapta and North Saskatchewan Rivers curving down their valleys, falls, with JASPER and BANFF NATIONAL PARK blended into the terrain and highway shields along the road.
241
Reposted by Andrew Tyrrell
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
I asked Claude to label the main highways with their official shields, and it told me, confidently, that it could create SVGs "from the official specs". Pushed on the source of those specs, it admitted it was making them up from memory. They were all crap. So I downloaded the real SVGs myself...
A comparison of highway shields: Claude's "from-memory" reconstructions, with wrong proportions and details, alongside the official downloaded SVGs for the Trans-Canada Highways 1 & 16, and Alberta Highways 11 & 93.
141
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Next steps: title, scale, logo, and a north arrow (since north *isn't* up)...
010
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Labelling is a system: move one and five others shift too. Claude handles that knock-on tirelessly, but plenty of times I'd be faster by hand. But the main thing I learned from this is that labelling is a part of mapmaking that I love. Doing it through an AI was achievable, but quietly joyless.
The labelled map in full — the whole rotated Icefields Parkway strip, Jasper at the top to Lake Louise at the bottom. Hundreds of off-white names over the shaded-relief basemap: towns, peaks with triangles, italic lakes, glaciers and icefields, the Sunwapta and North Saskatchewan Rivers curving down their valleys, falls, with JASPER and BANFF NATIONAL PARK blended into the terrain and highway shields along the road.
241
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Finally, combine them all with the basemap. Most labels are on top of everything, but the National Park labels had to blend into the basemap. Claude occasionally needed prompting to remember to blend, rather than just dump these on top.
Finished map, Bow Lake and the Wapta Icefield: lake names beside their water, glaciers and peaks, and the highway shield on the road.Finished map, the Columbia Icefield: icefield and glacier names in italic, peaks and the Discovery Centre, all over the terrain.Finished map, Saskatchewan River Crossing: the crossing, the river curving down the valley, surrounding peaks, and BANFF subtly blended into the hillshade.Finished map, Jasper: the town, its lakes and the surrounding peaks labelled over the shaded-relief basemap, the park name blended into the terrain.
100
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
As a stress test I had Claude update the spec, then rebuild the labels from scratch: spec and data only, no peeking at the previous version(s). It worked, but exposed the spec's own shortcomings: one rule silently dropped labels for some of the main lakes visitors come to see.
A beige flow diagram titled 'Stress-testing the spec', with five cards: 1 Accepted so far, 2 Rewrite the spec, 3 Rebuild from scratch (spec + data only), 4 Gaps exposed (what the spec didn't capture), 5 Patch the spec. A loop runs from step 5 back to step 3, labelled 're-run and re-test until the spec reproduces the map'.A region of the map over the basemap with every label rebuilt from the spec and the data alone — coherent and on-brand, but the exercise surfaced rules the spec hadn't pinned down, which then went back into it.The same area in the final accepted labelling, after the gaps the rebuild exposed were fixed and folded back into the spec: the same names, now placed cleanly and evenly over the basemap.
100
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
I asked Claude to label the main highways with their official shields, and it told me, confidently, that it could create SVGs "from the official specs". Pushed on the source of those specs, it admitted it was making them up from memory. They were all crap. So I downloaded the real SVGs myself...
A comparison of highway shields: Claude's "from-memory" reconstructions, with wrong proportions and details, alongside the official downloaded SVGs for the Trans-Canada Highways 1 & 16, and Alberta Highways 11 & 93.
141
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Lakes took the most rounds of iteration. They started as big italics sitting on top of the water. I wanted them beside the lakes, not floating on them. Then I had two lake sizes competing, so I dropped to one. Quiet names set off the water. Simple to describe, many iterations to actually produce.
Before: lake names like Bow Lake set large and bold on top of the water.After: the same lakes named in a smaller italic set beside the water, one consistent style, near the Wapta Icefield.
110
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Peaks looked wrong before I could say why. Two different sizes of summit made every cluster read as lumpy and random. Collapsing them to one weight quietly settled the whole sheet. Then the fiddly bit: an even, constant gap from each triangle, and never nearer a neighbour's peak than its own.
Before: the peaks around Mount Saskatchewan named in two different sizes with small triangles, the cluster reading lumpy and uneven.After: the same peaks in one consistent size, each name tight to its own triangle, among the glaciers and the North Saskatchewan River.
111
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
Rivers fought me first. They curve along each channel, which is lovely when it works. But early on labels were straight, sometimes upside down. The halo on the smallest creeks was so heavy it swallowed them. Fixes: force the reading direction, thin the halo, bump the tiny rivers up a weight.
Before: the Siffleur River label follows the channel but is over-rotated past 90°, so it reads upside down on the page (each letter the right way round). Mount Weed, Bow Pass and Dolomite Pass sit around it.After: the same Siffleur River label reading upright along a smooth curve, set just to the right of the channel (off the river and the track), with Mount Loudon, Porcupine Lake and Cirque Peak around it.
111
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
What to label? What matters? This is where AI was really useful. The map is for a visitor to the Icefields Parkway, so I just said: "label what a visitor cares about & fill gaps to maintain density". I didn't need to know the data schema & write out definition queries. I asked for what I wanted.
A near-black panel densely overprinted with every named feature in the data, in small uniform white type — hundreds of labels overlapping into a barely readable wall of text.The same area with only the chosen names kept, in the same small uniform horizontal type: a clean, mostly legible scatter of labels, to show the filtering of what to include rather than any styling.
111
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
It started, like the basemap, with my own maps. In a separate chat I'd worked out how I want a map labelled (rules I usually keep in my head) and had Claude write it down as a spec. One typeface, one off-white ink, hierarchy by size, weight, style. Sixteen classes, before a word landed on the map.
A dark code-editor graphic titled 'label_spec_v2.0.json', styled like the earlier house-style spec image. Two columns of pretty-printed JSON showing a sample of the labelling spec: the global map settings (dpi, page size, scale, CRS, rotation), the Poppins fonts, the off-white ink values and the design principle, then two example label classes — town and lake-large — with a '… + 14 more label classes …' placeholder. A footer reads 'excerpt — full spec: 253 lines · 16 classes'.A specimen sheet on a cream background with green sample panels, showing all sixteen label classes in one Poppins family and one off-white ink: a spaced-capital park name (sample 'BANFF') and range, a bold town and facility with dots, medium and regular peaks with triangles, italic icefields, glaciers, lakes, rivers and falls — the water and range names set along a gentle tilde curve — and the four highway shields centred in their panel. Each row is annotated on the right with its font, size, tracking and placement.
201
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
The basemap is geometry: run the recipe, get an answer. Labelling is judgement: What deserves a name? Where does the label sit? Is it legible? Claude could try to place a label anywhere I asked, but deciding what belonged, and whether it looked right, was up to me. So much iteration. So much.
A flow diagram on a warm beige background, titled 'Labelling: the process Claude wrote', with the sub-line 'Deterministic placement — but a human eye decides, and sends it back to loop.' Seven white rounded cards, each with a sage-green numbered circle: 1 Study my maps (distil my house style), 2 Type system (one font, one ink; weight is hierarchy), 3 What to label (visitor stops, corridor, prominence), 4 Pull the names (from CanVec 50k), 5 Place labels (no overlaps, curved, beside lakes), 6 Human review (does it read? does it look right?), 7 Labelled map (the finished sheet). A green 'happy' arrow leads from step 6 to step 7. A dashed clay-coloured loop runs back from step 6 to both step 5 and step 3, labelled 'not happy — back to step 3 or step 5, and re-run'.
111
Andrew Tyrrell @southarrowmaps.co.nz · 07/08/2026
How far can I get using AI in cartography? Part two. Can I get AI to label the basemap accurately, consistently, and with cartographic finesse? A continuation of my previous thread... 🧵🗺️
160
Andrew Tyrrell @southarrowmaps.co.nz · 03/08/2026
I will never not be a fan of 3D maps in visitor centres. Here’s the one in the Glacier Public Service Center in Mount Baker-Snoqualmie National Forest
0120
Reposted by Andrew Tyrrell
Daniel Huffman @pinakographos.bsky.social · 31/07/2026
I figured out a useful generalization hack. I had a high-res railroad network, including all individual tracks. I wanted to thin this down to single lines for my map. I've used some GIS tools for this in the past, and/or manually selected segments. But this time I used some network analaysis tools.
A screenshot of some rail lines. Rail yards and spurs and double-track sections can be seen.
152
Andrew Tyrrell @southarrowmaps.co.nz · 31/07/2026
I’m always seeing photos and videos of orca swimming under the Lions Gate Bridge in Vancouver, yet they never come close to the beach where I live…
000
Reposted by Andrew Tyrrell
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
How far can I get using AI in cartography? I drove Canada's Icefields Parkway last month, and want to make a poster map of it. Can AI help, and do it well? I started on my phone, then realised it needed more than that and moved to the desktop. AI-first: Claude, a bit of ChatGPT. A thread... 🧵🗺️
A zoomed-out view of the whole basemap, roughly 285 by 311 km of the Canadian Rockies in a painterly natural style. Snow-capped ranges and white glaciers run diagonally through dark green forested valleys, with turquoise lakes and rivers threading between them, opening onto flatter green-and-tan farmland in the north-east.
31713
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Hard to answer. This was developing a new process to get to a known style. First creating the style manually was days of tweaking. Now I have the style locked down, a new manual basemap is dependent on data sources. For NZ it’s fast. Elsewhere, slower. AI should speed up sourcing data for new areas.
000
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Yeah it’s a logical next step from “how do I write a script?” to “Write the script for me” to “run the script for me” to “just do whatever you need to do”
020
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Yep that’s kind of what I was already doing.
010
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Not fully. From its initial analysis of my complete, hand-made maps it knew my style included terrain depiction and had a focus on realism. It created a hillshade on its own that was already warm highlight/cool shadows. I then said I normally add slope, SVF, and texture & gave the URL of those tools
010
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
It’s all gdal etc under the hood. It finds libraries, installs them, uses them. Command line ➡️ GUI ➡️ AI That’s just the evolution of tools it seems
220
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
I’ll ask it to summarise everything I/we have done so far and present it in a way that Claude itself can understand (presumably json or markdown) in order to reproduce the same end-to-end workflow based on the choices and decisions I accepted throughout this process. AI understand AI very well
010
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
It would’ve got the data itself if it weren’t for the firewall.
020
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Sometimes I had to provide links to info and tools, eg when doing the terrain I said I’d normally combine HS, sky-view, slope, and texture shade, and gave links to Relief Visualisation Toolbox and Leland Brown’s Texture Shader. They’re both Python, so it just read the docs, installed them, used them
130
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Correct, but that makes it sound like it’s a one-and-done process. It’s very much not. I’d estimate at least 100 back and forward prompts. I coaxed it towards an output I wanted and it worked out a way to get there.
130
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
The only “manual” GIS interaction I had was occasionally dropping the geotifs into ArcGIS to see if they were accurate and how they would look on a print layout (long thin rotated crop of the basemap). I didn’t use any geoprocessing tools myself, nor did I adjust any symbology.
110
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
It did it all internally and just made images: png samples or geotifs. I provided it with the initial map extent and text prompts (extensive, detailed, iterative). I also manually downloaded the DEM and vector data from source to feed it, but just because firewalls meant it couldn’t access by itself
110
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
So, can AI be a cartographer? Here, yes, as a partner: It set the pipeline, wrote the code, solved the water, and knew when to defer to me. The turning point was AI admitting it can't fake geography. Honesty plus real data is what made a real map. (Portrait below, by ChatGPT.) /end 🧑‍🎨🤖🗺️
A gloriously over-the-top AI-generated portrait of the mapmaker and Claude imagined as cartographer partners on a mountain ridge, unfurling a glowing map of the Icefields Parkway.

Prompt:
"Use the attached photo as the exact likeness of the human cartographer, faithfully preserving his face, hair and features. An epic, hyper-detailed cinematic digital painting: this cartographer stands shoulder to shoulder with Claude, the AI, on a windswept Canadian Rockies ridgeline at golden hour. Render Claude as a warm, friendly, glowing humanoid figure made of Anthropic's signature terracotta and coral-orange light wrapped in a soft cream aura, with the Anthropic "spark" starburst emblem radiating from its chest and a softly glowing "Claude" wordmark hovering above it, unmistakably Anthropic's Claude and not a generic blue robot. Together they unfurl a vast luminous map of the Icefields Parkway that ripples like the aurora, its glaciers and teal lakes glowing on ancient parchment. The cartographer wears a weathered field jacket and grips an antique brass drafting compass shooting sparks of light; Claude's warm glow swirls upward with contour lines and constellations. Dramatic volumetric god-rays pierce snow-capped peaks, eagles soar, floating UTM grid lines and topographic contours weave through the sky, stardust particles drift everywhere, cinematic lens flare, ultra-wide heroic composition, majestic, triumphant, gloriously and unapologetically over the top, 8k, trending on absolutely everything."
230
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Still to come: typography and layout. Curved labels for rivers, glaciers and ranges, upright ones for peaks and towns, every name taken from the data, none invented, none overlapping, all in the same off-white ink. Then the layout and marginalia. Can AI do it? Watch this space...
310
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
The payoff: an accepted, print-ready basemap of the Lake Louise to Jasper corridor. Here is the whole thing, ready to be rotated and cropped to the long, thin road corridor. Unlike a flat AI image, every stage of this re-runs.
The full basemap again, the whole 285 by 311 km sheet, ranges and glaciers threading through forested valleys with turquoise lakes.A close-up of the Columbia Icefield, a broad white glacier spilling between grey rock ridges, with the pale off-white Icefields Parkway curving past its toe and teal meltwater nearby.A close-up of Bow Lake and Peyto, deep teal lakes set in forested valleys beneath snow-streaked peaks, with the highway threading north between them.A close-up of the valleys around Jasper, converging turquoise rivers and lakes, forested slopes, and the highway and rail line meeting on the valley floor.
130
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
The coworker reality is the unglamorous bits. A cloud drive that would not mount. A sandbox blocked from the data hosts. 45-second compute limits leaving broken files. A proprietary font missing. Most of these Claude spotted and routed around itself, without me having to ask.
A four-card graphic titled "The coworker bits: what broke, and the fix", each card pairing a problem with its fix: cloud drive would not mount, 45-second compute cap, blocked from data portals, and no Futura font on the machine.
120
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
Infrastructure next, from the full 1:50,000 topographic data: every road, track and trail. The job was thinning it to what reads at 1:500k. Why not use 1:250k? I wanted to test AI. Roads become one ink weighted by class, rail a fine dark line, main trails dashed, and only the long tunnels dashed.
A before-and-after comparison at Jasper. The left panel, labelled Before, shows the full 1:50,000 network with dense white roads, tracks and trails cluttering the valley. The right panel, labelled After, shows the thinned result: a clean highway weighted by class, a dark rail line, and a few dashed main trails.
320
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
The hardest sub-problem, and still open: the region's famous lake colours. We tried proximity to the feeding glacier, distance along the drainage, a glacial index, then sampling real imagery. AI drove every attempt, but I made the call each time: not good enough yet. So it is parked.
A six-panel grid titled "Glacial lake colour: six iterations", each panel the same Bow Lake and Peyto valley coloured by a different method with a caption underneath: distance gradient, condensed ramp, along-drainage, desaturated, glacial index, and imagery sampling. Lake colours range from grey-teal to bright turquoise across the panels.
120
Andrew Tyrrell @southarrowmaps.co.nz · 30/07/2026
The crux was water. The 30 m land cover scattered false blue speckle across the icefields. The fix layered real vector lakes and rivers from CanVec, rebuilt permanent snow and ice as a union of vector and raster, and even used glacier retreat, old ice minus new, to keep genuine meltwater ponds.
The Columbia Icefield before the fix, terrain looking right but with false blue speckle scattered across the white glacier and its margins, noise from the 30 m land-cover raster.The same area with clean vector lakes and rivers from CanVec dropped in, replacing the raster water so shorelines are crisp and correctly placed.The same area with permanent snow and ice rebuilt as a union of vector and raster sources, giving a clean, continuous white icefield without holes or noise.The finished water and snow result at the Columbia Icefield: smooth white ice, crisp teal lakes and thin rivers, and no blue speckle remaining.
110