Crosswalking from Tract to CDP

Hello! I’m looking to find a methodologically sound way of moving from Tract to CDP. My instinct is to create two reference tables that contain:

**Tract **
| STATE FIPS | COUNTY FIPS | TRACT | BLOCK |

** Place**
| STATE FIPS | PLACE CODE | BLOCK |

And join the tables on STATE FIPS and BLOCK. Does this seem appropriate, given that CDPs are not always the cleanest geographic extent? Unfortunately, I need to find a way of accomplishing this.

First, a point of clarification… It sounds like you might be trying to create a crosswalk from tracts to places generally and not only to “CDPs”. CDPs (census-designated places) identify places with no legal status, i.e., unincorporated places. The “place” level includes both CDPs and incorporated places.

If you need a crosswalk between tracts and places for earlier years (1990 to about 2016), you could use the Missouri Census Data Center’s Geocorr tool to get one.

But if you need a crosswalk for 2020 tracts and places, then the Geocorr tool won’t help (yet). The way to go about creating your own crosswalk is not to join two tables, but rather to start from a single block-level table (such as a block-level table from IPUMS NHGIS). The block-level table will include identifiers for states, counties, tracts, and places. To create a tract-to-place crosswalk, group the block data for each unique combination of those four identifiers. (It’s important to use all four identifiers because place codes are not unique across states, tract codes are not unique across counties, and county codes are not unique across states.) Then each resulting grouping will correspond to a unique intersection between a tract and a place.