Data structures
The key
No single Census layer contains every zoning jurisdiction: a city is a place, a Michigan township is a county subdivision, and the unincorporated part of a county is the county itself. So the key is a GEOID from one of three summary levels, told apart by their fixed widths — 5, 7 or 10 digits can never collide.
County governments zoning their unincorporated remainder.
/localities/06037 — Los Angeles County, CA — the unincorporated areas
Incorporated cities, towns, boroughs and villages.
/localities/0644000 — the City of Los Angeles, CA
Townships and New England towns — where the subdivision is a government.
/localities/2608100240 — Ada township, Kent County, MI
A district address carries its jurisdiction: /localities/06037/districts/A-1 is the A-1 district of unincorporated Los Angeles County — “A-1” names a different district in every code that uses it, so the code alone addresses nothing.
How the levels nest
Which level a jurisdiction keys at is a fact about state law, not a choice of this site. In most states the county-subdivision layer is a statistical fiction and zoning authority is place-or-county; in the strong-township states the subdivision is the government. One precedence rule covers both worlds.
0644000 is Los Angeles city, 06037 Los Angeles County, 2608100240 Ada township in Kent County, Michigan. Colors mark the summary level a jurisdiction keys at — blue place, gold county subdivision, amber county.How the roster resolves
16,686 of 17,523 jurisdictions on the roster carry a GEOID, assigned at database build time (sql/locality-geoid.sql) by the first rule that matches:
- 1Its Census place. A roster row carrying a place code joins TIGER on
state + place— exact for every row that has one. - 2Its county subdivision, where
state + subdivisionis unique statewide. The ambiguous pairs — a subdivision code is only defined within its county — resolve to nothing rather than to a guess. - 3Its county, for county unincorporated rows, through the pipeline’s own record of which county each subdivision defers to, then by unique county name.
What doesn’t resolve (837 rows). Almost entirely townships from the strong-township states (PA, MI, WI, OH, IN…) filed without a county code: a name cannot separate the 49 “Washington township”s of Iowa, so these keep their legacy numeric URLs until the roster itself is enriched. None of them has an ordinance in the database yet.
Legacy URLs redirect. The old numeric addresses were surrogate keys — row numbers, stable only by accident. /localities/836 answers with a permanent redirect to /localities/06037; links keep working, and the GEOID form is the one search engines are told is canonical.
One key, one jurisdiction. Where the roster holds duplicate rows for the same real-world government (a “Shamong” and a “Shamong Township”), the GEOID goes to the row with extracted content and the duplicate keeps none — the key is unique by construction, and the database enforces it.
One caveat, stated plainly. A few hundred place-level rows resolve to census-designated places — unincorporated communities with a Census boundary but no government of their own. Their GEOIDs are real TIGER features and the URLs are stable, but the zoning authority over that ground is the surrounding county or township.
Joining your own data against it
Because the key is plain Census geography, any dataset that knows where it is can derive the same key and join — no crosswalk table. For a parcel (or any point) carrying its TIGER codes, the governing jurisdiction is the first of:
1. inside an incorporated place? → statefp || placefp (160, 7 digits) 2. subdivision has a government? → statefp || countyfp || cousubfp (060, 10 digits) (TIGER funcstat = 'A') 3. otherwise → statefp || countyfp (050, 5 digits)
The order matters and is the same rule the roster resolves by: a New York village sits inside a town and both have zoning codes — the village’s governs, and the village is the place. Note that a parcel’s county and subdivision codes alone are not enough in place states: the Los Angeles CCD in the diagram contains four cities and county land under one subdivision code, so telling a city parcel from an unincorporated one takes a point-in-polygon against TIGER’s place layer.
See also: the database schema, where zoning_locality.geoid and sumlev live, and the Census Bureau’s own GEOID documentation for the summary-level vocabulary this page borrows.