about this map

what is this

Ok so this is my attempt at mapping how many people actually set foot in every 250 m square of California in a year. I wanted to find the places where basically nobody goes, and it turns out nobody keeps count of that out in the backcountry. So I worked backwards from the stuff people leave behind when they're out there: birds and plants people log on eBird and iNaturalist, museum specimens, geotagged photos on Wikimedia Commons, and wildfires that were started by people.

Then I used real permit numbers from 5 trails (Mt Whitney, Half Dome, Cedar Creek Falls, the Lost Coast and a pretty empty stretch of the PCT) to turn "this many records show up here" into "this many people show up here".

how it works (short version)

All six sources go into one statistical model that treats them as six noisy, biased views of the same thing, which is where people are. Each one gets its own quirks. Birders pile up at a few hotspots, iNaturalist users are way more common near cities, and some records are in the wrong spot on purpose. iNaturalist blurs the location of rare species so nobody can go dig them up, and once I accounted for that the map got a lot better.

The model explains the pattern using 28 things about each square: how far it is from paved roads, dirt roads and trails, how far you'd actually have to hike in on the trail network, how steep it is, how much brush or forest there is (chaparral is basically a wall), whether there's a lake or a peak nearby, how many people live within driving distance, who owns the land, stuff like that. To pick how smooth everything should be I hid 50 km chunks of the state from the model and checked how well it guessed them.

After that every square's own records nudge its number up or down, and the permit counts set the actual scale. I kept track of the uncertainty the whole way through, so every square gets a range and not just one number.

how to read it

The ranking is the part I trust. The quietest trail I have real counts for gets about 2,500 people a year, and 96% of California is quieter than that, so the actual numbers out there are an educated guess with really wide ranges. If you want to find empty places, use "only the least-visited X%" in the layers panel. It just compares squares to each other, so it doesn't care about that guess.

Also, records aren't people. Hunters, ranchers, off-roaders and soldiers almost never log a bird or upload a photo, so the military ranges like China Lake and Fort Irwin look like the emptiest land in the state, which they definitely are not. That's why "public land only" is on by default.

One more thing: if some remote lake gets a lot of visitors, the trail going to it gets bumped up too, since everyone had to walk it to get there.

does it actually work?

loading…

where the data comes from

  • eBird: Imani J, Audette C, Auer T, et al. (2025). EOD – eBird Observation Dataset. Cornell Lab of Ornithology. doi:10.15468/aomfnb, via GBIF.org. CC BY 4.0.
  • iNaturalist: iNaturalist contributors, iNaturalist (2026). iNaturalist Research-grade Observations. doi:10.15468/ab3s5x, via GBIF.org. CC BY-NC 4.0.
  • Specimens and other records: GBIF.org (2026), occurrence density maps (Map API v2), 2016–2026, from lots of museums and institutions. gbif.org
  • Fire starts: National Interagency Fire Center, WFIGS Incident Locations. NIFC Open Data. Public domain.
  • Photos: Wikimedia Commons contributors, geotags from the Wikimedia Foundation database dumps. dumps.wikimedia.org
  • Visitor counts: Recreation.gov Recreation Information Database (RIDB), historical reservations FY2016–2025. ridb.recreation.gov. PCT permit totals from the Pacific Crest Trail Association (2024 numbers, as reported by GearJunkie).
  • Roads, trails, peaks, springs, campsites: © OpenStreetMap contributors, ODbL 1.0, extracts by Geofabrik GmbH. Plus USDA Forest Service roads, trails and wilderness boundaries, BLM Ground Transportation Linear Features and NPS Public Trails (public domain).
  • Elevation: U.S. Geological Survey, 3D Elevation Program, 1 arc-second DEM. Public domain.
  • Land cover: Zanaga D, Van De Kerchove R, Daems D, et al. (2022). ESA WorldCover 10 m 2021 v200. doi:10.5281/zenodo.7254221. CC BY 4.0. Contains modified Copernicus Sentinel data (2021).
  • Human modification: Theobald D (2024). Global human modification datasets of terrestrial ecosystems for 2022. doi:10.5281/zenodo.14502573. CC BY 4.0.
  • Land ownership: U.S. Geological Survey Gap Analysis Project (2025). Protected Areas Database of the United States (PAD-US) 4.1. doi:10.5066/P96WBCHS
  • Population: U.S. Census Bureau (2010 tract gazetteer, 2023 boundaries) and INEGI's 2020 census for the Baja California cities.
  • Strava heatmap overlay: © Strava. It's only displayed live, I never downloaded it or used it in the model.
  • Basemaps are credited in the corner of the map.

The iNaturalist data is CC BY-NC, so this whole thing is noncommercial.

papers i leaned on

  • Fithian W, Elith J, Hastie T, Keith DA (2015). Bias correction in species distribution models: pooling survey and collection data for multiple species. Methods in Ecology and Evolution 6, 424–438.
  • Isaac NJB et al. (2020). Data integration for large-scale models of species distributions. Trends in Ecology & Evolution 35, 56–67.
  • Eilers PHC, Marx BD (1996). Flexible smoothing with B-splines and penalties. Statistical Science 11, 89–121.
  • Wood SN (2017). Generalized Additive Models: An Introduction with R, 2nd ed. CRC Press.
  • Carroll RJ, Ruppert D, Stefanski LA, Crainiceanu C (2006). Measurement Error in Nonlinear Models, 2nd ed. Chapman & Hall/CRC.
  • Wood SA et al. (2020). Next-generation visitation models using social media to estimate recreation on public lands. Scientific Reports 10, 15419.

Made with Python (numpy, scipy, rasterio, geopandas, shapely, pyproj, pyosmium) and Leaflet.

humanFootprints

Estimated human visits per 250 m cell, California, 2016–2026

Layer

Find rarely visited places

"Least-visited" just ranks squares against each other, so it's the most reliable way to find empty spots. Exact visit numbers out in the quiet areas are a rough guess (more on that in ⓘ About).

Confidence is how much a square's own records changed its estimate. Low confidence means the number mostly comes from what similar places look like (how far from roads and trails, how steep, how brushy, what region), not from anything actually recorded there.

Overlays

Basemap

Add a Google Map Tiles API key in viewer/config.local.js to enable Google satellite and terrain.

Model