Project 1 — Population Choropleth Map¶
Difficulty
🟢 Beginner. About 4–6 hours over a weekend.
Goal¶
"How is population density distributed across [your state]'s counties, and which counties are growing or shrinking?"
Build a clean, normalized choropleth showing population density at the county level, with an optional second panel showing percent change since 2010.
Data needed¶
| Layer | Source |
|---|---|
| US Counties (TIGER/Line) | https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html |
| Population by county (ACS) | https://data.census.gov — table B01003 |
| (Optional) 2010 population | Census 2010 SF1 |
ArcGIS Living Atlas alternatives:
- "USA Counties (Generalized)" — geometry + 2020 population
- "ACS Population Variables - Boundaries" — recent ACS
Tools used¶
- ArcGIS Pro: Add Join, Calculate Field, Symbology (Graduated Colors)
- SQL:
WHEREclauses for state filter - Layout: title, legend, scale bar, north arrow, source
Step-by-step workflow¶
Step 1 — Set up¶
- Create project
population_choropleth_<state>. - Add a folder connection to your data folder.
- Set the map's CRS to NAD83 / Conus Albers (EPSG:5070) for area accuracy.
Step 2 — Add and filter¶
- Add the US counties layer.
- Definition Query:
STATEFP = '13'(Georgia) — adjust to your state.
Step 3 — Join population data¶
- Add the ACS table.
- Validate the FIPS field type matches.
- Right-click counties → Add Join on FIPS.
- Export to a permanent feature class once joined.
Step 4 — Normalize¶
You want density, not raw count.
- Open the attribute table.
- Add field:
POP_DENSITY(Double). - Calculate:
!POP2020! / (!Shape_Area! * 0.000001)(m² → km²).
(Or use Calculate Geometry → Area to populate AREA_KM2 first, then divide.)
Step 5 — (Optional) Compute % change¶
- Add field
POP_CHANGE_PCT(Double). - Calculate:
((!POP2020! - !POP2010!) / !POP2010!) * 100.
Step 6 — Symbology¶
Two maps. Build them in two separate maps for clean comparison.
Map A — Density¶
- Symbology = Graduated Colors on
POP_DENSITY. - Method = Quantile (good for skewed density data).
- Classes = 5.
- Color scheme = sequential blue.
- Round legend labels:
<50,50–200,200–500,500–2000,>2000.
Map B — Change¶
- Symbology = Graduated Colors on
POP_CHANGE_PCT. - Method = Manual Interval:
<-5,-5 – 0,0 – 5,5 – 15,>15. - Color scheme = Diverging (RdBu) — declines red, growth blue.
- Make sure 0 maps to the white middle of the diverging palette.
Step 7 — Layout¶
- Insert → Layout → Tabloid Landscape (11×17) — gives room for two map panels.
- Two map frames side by side.
- Shared elements: title, source, projection note.
- Per-frame: legend, scale bar.
- Title: "Population Density and Change, [State] Counties, 2010–2020".
→ Detailed checklist: Professional Map Layout.
Step 8 — Export and ship¶
- Export to PDF (vector, 300 dpi).
- Export a PNG (150 dpi) for your portfolio site.
- Push the project + write-up to a GitHub repo.
Skills learned¶
- Tabular joins
- Field calculation
- Graduated color symbology
- Sequential vs diverging palettes
- Multi-map layouts
- Professional export
Portfolio value¶
This is the easiest project to ship and the hardest to do well. Most beginner choropleths fail one of: normalization, palette, classification, layout. Doing all four right is a strong signal.
Stretch goals¶
- Add a dot density layer underneath showing absolute population.
- Animate the change over multiple decades using ArcGIS Pro's time-aware layers.
- Build a small ArcGIS Online dashboard with a map + bar chart of top/bottom counties.
→ Next: Transit Desert Analysis.