Census & demographics
Census boundaries and tables: joining them, turning counts into rates, carrying margins of error, and comparing years.
Everything on Spatial Workflow about census & demographics, in the order that usually works: understand the idea, then run the task, then fix it when it goes wrong. 23 guides in total.
2 learning paths run through this topic — follow one if you would rather work through a route than pick a single guide.
🧭 Start with the concepts
The ideas the how-to guides below assume you already have.
- Census Geographies Explained: Blocks, Tracts, Output Areas and Why They Nest census geography hierarchy explained
- Census Identifiers Explained: GEOIDs, Codes and the Leading Zero Problem census geoid explained
- Counts, Rates and Densities: What a Demographic Map Should Show map counts vs rates normalize
- Margins of Error Explained: Why Survey Estimates Need Their Uncertainty acs margin of error explained
- Small Numbers Explained: Why Rates in Small Areas Jump Around small area rate instability
- Boundary Changes Over Time: Why Two Census Years Do Not Line Up census boundary changes over time
⚙️ Then do the task
Step-by-step walkthroughs with code you can copy and adapt.
- How to Download Census Boundaries in Python download census tract shapefile python
- How to Download Census Tables from an API in Python census api python acs
- How to Join a Census Table to Its Boundaries Without Losing Rows join census data to shapefile python
- How to Normalise Census Counts into Rates and Densities normalize census data per capita python
- How to Aggregate Survey Estimates and Their Margins of Error aggregate acs margin of error python
- How to Smooth Unstable Area Rates with Empirical Bayes in Python empirical bayes rate smoothing python
- How to Compare Census Years Across Changed Boundaries census crosswalk python
- How to Redistribute Population with Dasymetric Mapping dasymetric mapping python
- How to Calculate Population-Weighted Centroids population weighted centroid python
- How to Count the Population Within Reach of Each Facility population within distance of facility python
- How to Measure Access to Services with the Two-Step Floating Catchment Method 2sfca python
- How to Find the Areas Nobody Can Reach Within a Travel Time service area coverage gaps python
🔧 When it breaks
The errors this topic produces, with the cause explained rather than just the command.
- Fixing Census Joins That Fail Because Leading Zeros Were Dropped census geoid leading zeros join fails
- Fixing Census API Values Like −666666666 and Other Sentinels census api -666666666
- Fixing a Rate Map Dominated by Tiny, Nearly Empty Areas choropleth rate map small population
- Fixing Census Totals That Do Not Add Up After Aggregation census totals don't match
- Fixing Census Data That Does Not Match the Boundary File Year census data boundaries mismatch year
Learning paths through this topic
A curated route rather than a list — the guides in the order that builds on itself.
Related topics
Subjects that keep coming up alongside this one, most overlap first.