GISJOIN in block group part crosswalk

I am using the NHGIS crosswalk for block group part data (1990 to 2010). As noted in the readme, the bgp1990gj variable depends on more geographic units than just state-county-tract-block group. However, when I download 1990 data at the blck_grp_598 level (such as …ds120_1990_blck_grp), many of these geographic units are not in the data (for example, county subdivisions are missing). This makes it impossible to do a one-to-many merge between the 1990 blck_grp_598 data and the crosswalk file. Moreover, some of the weight variables differ by 1990 state-county-tract-block group, so I am hesitant to just drop duplicate rows.

Could you please advise on (a) where to find the extra variables so that I can construct bgp1990gj in the population tables or (b) what I’m missing? Thanks!

Although you say you’ve downloaded data for blck_grp_598, it sounds as though you’re now working with data for standard whole block groups (blck_grp), not block group parts (blck_grp_598).

E.g., a data file for block group parts should be labeled “ds120_1990_blck_grp_598” and not “ds120_1990_blck_grp”.

It’s true that the data for whole block groups doesn’t include county subdivision codes, but the data files for blck_grp_598 do include county subdivision codes. The GISJOIN in blck_grp_598 files also already includes the county subdivision code, along with all other required codes, so it should match exactly with the crosswalk GISJOINs in a one-to-many relationship.

I suggest you retrace the data selection and download steps to make sure that you’re requesting tables for blck_grp_598, labeled “Block Group [1990 partition]…”, as indicated in the crosswalks documentation.

Hope that works!

Similar to the OP’s problem, I’m working with data that only uses 2000 standard GEOID structure and was hoping to use your crosswalk files to make comparable with 2010 block group designations. Is there a way to do this without the block group parts? I can derive the 12-character GEOID from bgp2000gj, however similar problem as OP where I can’t do a one-to-many merge without having some block groups over-weighted.

The new crosswalks are not designed for source data for whole block groups. The reason for this design is that (to my knowledge) all 1990 and 2000 census data tables that are available for block groups are also available for blocks and/or block group parts (BGPs), and to standardize geographic units across time, allocating data from the smallest possible source units (blocks or BGPs) will generally be more accurate, as discussed here in the crosswalk documentation.

It would be possible to use the BGP crosswalks to allocate data from block groups, but you’d first have to disaggregate from block groups down to BGPs, following steps similar to those I laid out for using the block crosswalks for the same purpose. Such disaggregation also degrades accuracy.

I’m wondering if for the data you have at the block-group level, could you get the same statistics at the BGP level? That should be possible using NHGIS, following this guidance. If you’re able to get BGP-level data, then you can use the crosswalks as they are without additional manipulation.