Municipals: nest 1,823 city officeholders under their real counties

Pull Atlas's place→county crosswalk (Census TIGER 2024 places × county
geometries, 32,041 places) into the build as a committed raw input, and
use it to resolve municipal officeholders whose county was unknown.

- data/place_county_crosswalk.jsonl — new raw input (place_geoid → county_geoid)
- build.py — place-name+state → county_geoid → ACS county slug as a fallback
  in county_slug(); city_slug() generalized to non-FL bare place labels
- data/sources/sources.yaml — provenance entry for the crosswalk

_unresolved municipals: 1919 → 58. The remainder are genuine: CT planning
regions (post-county), county-level rows mislabeled municipal upstream,
consolidated city-counties (null label), Wikidata-QID placeholder names,
and ambiguous same-name places — left unresolved rather than guessed.

Join key is county_geoid (5-digit FIPS); the directory slug is taken from
the ACS county node so municipals nest under the exact existing county dir.
Deterministic (byte-identical rebuild); validate.py passes 19,721 records.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Fabio
2026-07-04 20:23:57 -04:00
parent ad7607856d
commit 199d8b37d3
2893 changed files with 33094 additions and 995 deletions
+15
View File
@@ -53,6 +53,21 @@ sources:
raw: [acs_county.jsonl, acs_cd.jsonl]
notes: County and congressional-district demographics; keyed by FIPS.
- id: place-county-crosswalk
name: Census place → county crosswalk (Atlas PostGIS)
url: https://www.census.gov/geographies/mapping-files.html
type: dataset
authority_level: official
requires_api_key: false
refresh_frequency: on-demand
feeds: [Person]
raw: [place_county_crosswalk.jsonl]
notes: >
Atlas PostGIS spatial join of Census TIGER 2024 places against county
geometries — 32,041 places, one primary county each. Resolves municipal
officeholders to their county. Join key is county_geoid (5-digit FIPS);
the sibling county_fips column is the 3-digit county code only.
# Prepared but not yet ingested — see docs/roadmap.md
planned:
- id: govinfo