I grew up in Groveland, in the foothills of Tuolumne County, and like a lot of foothill kids I eventually moved away. So here’s a question I’ve wondered about for a while: when people leave Tuolumne County, where do they go? And who’s moving in?
My hunch was that most of it is short hops. Lots of people heading down the hill to Modesto, and not so many going all the way to Florida. So I asked the data, and drew the answer as arcs rising out of Sonora over a 3D California, rendered in forge3d. The more people, the taller and thicker the arc, so big nearby flows tower and small far-away ones stay low.
Arcs rising out of Sonora: gold for people leaving Tuolumne County, blue for people arriving. IRS migration data, 2018–19 to 2022–23 · rendered with forge3d.
Stanislaus (5 yrs)
Stanislaus (5 yrs)
each year
(±37)
Close to home: down the hill and back again
Gold: leaving Tuolumne County. Blue: arriving. Five years of IRS data added up, 2018–19 to 2022–23. Click for the full-size poster.
The hunch held up. Stanislaus County, right down Highway 108, is the biggest flow both ways. Over five years, about 1,100 people moved from Tuolumne to Stanislaus, and about 1,900 moved up the hill the other way. Calaveras, across the river, is next overall, with roughly 750 going and 800 coming.
The fun surprise was the blue. The Bay Area sends a lot more people up to Tuolumne than it gets back. From Alameda County, about 830 moved in while about 290 moved out. Santa Clara was about 750 in and 250 out, and Contra Costa about 610 in and 190 out. Southern California, by comparison, is a few thin threads, a couple hundred people each way per county over five years.
This map uses the IRS’s county-to-county migration data, which comes from the addresses on tax returns. It’s recent and fairly precise, but it hides any flow of fewer than 20 returns a year. So out of state, only Reno and Phoenix make the cut. For everywhere else, I turned to the Census Bureau.
The whole country: Stanislaus, a lot. Florida, not so much.
Everyone leaving Tuolumne County, per year, from the Census Bureau’s 2016–2020 county-to-county flows. Click for the full-size poster.
The Census Bureau’s American Community Survey asks people where they lived a year ago, and from that it estimates moves between every pair of counties in the country. By its count, about 3,700 people a year left Tuolumne County for somewhere else in the US in 2016–2020. About 2,900 of them stayed in California, and about 800 left the state.
Out of state, Utah (about 130 a year) and Texas (about 110) lead, then Oregon, Massachusetts, Washington and North Carolina. And Florida? About 23 people a year, all to one county in the Panhandle. That’s the low, lonely thread on the right.
One honest caveat: these are survey estimates, and for small flows the margins of error are wide. Florida’s 23 comes with a margin of ±37, so the real number could be anywhere from zero to about 60. The big picture is solid, though: most people who leave Tuolumne County don’t go far.
How I made it
- The data. IRS Statistics of Income county-to-county migration files, filtered to flows in and out of Tuolumne County and added up over five filing years. And the Census Bureau’s ACS 2016–2020 county-to-county migration flows. The two count different things in different years, so I kept them on separate maps.
- The terrain. Elevation from the AWS Terrain Tiles, about a kilometer per grid cell for California and two for the country, exaggerated 6× and 10×. I colored it in a California palette: golden foothills, green forest, granite peaks, a deep blue Pacific. The neighboring states are a little dimmer.
- The arcs. forge3d path-traces the terrain and also gives me a depth map. I wrote a small camera function that matches forge3d’s exactly, then drew each arc on top and hid any part that passes behind a mountain. An arc’s height and thickness grow with the number of people.
- The film. 336 frames, each one path-traced, split across 20 GitHub Actions runners working at once, then stitched together with ffmpeg.
- The code. All on GitHub: the data script and the render scripts.
Last thing
I’m one of these arcs myself, just from long before this data. If you’re from Tuolumne County too, or from anywhere, I’d love to hear where your arc went. And a big thank-you to Milos Popovic for forge3d, which keeps making ideas like this one fun to try.
Go deeper
IRS SOI Tax Stats: Migration Data — state and county moves from tax-return addresses. · Census Bureau county-to-county migration flows — ACS-based estimates for every pair of counties.
Terrain Tiles on AWS — the elevation under every frame.
forge3d — Milos Popovic’s Python terrain renderer. · Who’s the Biggest Generation Where You Live? — Tuolumne County and the Seattle metro, tract by tract.
