How to transfer population counts released from 2000 Census to your TAZs

Nandu Srinivasan

The Redistricting files were released by the Census Bureau by April 1, 2001. These files contain total population by race and latino origin, and population over the age of 18 by race and latino origin. The website is: The data are released at block level. However, the geographic header includes a TAZ code, so that we can aggregate the data to a TAZ level. I tried to download the data, transfer them to a GIS, and aggregate the data to a TAZ level for a county, and state. I worked on Windows NT, however the process should work on Windows 95, 98, or 2000. For unix users, I have a small note at the bottom. Please note that this is *a* method. There may be far better methods than this. If you know of any other methods, or have written code to automate the transfer, please let us know.

Here are some general steps in a PC environment:

There are three files that need to be FTPed from the site for each state. I attempted to convert their files to a GIS Platform, specifically Arcview.

Step1. Obtain 2000 Census Block Shape files for your counties.

For any county or state download the shape file for block data from ESRI's website ( Unzip these files, and keep them in a specially created folder. I created a folder called d:\VA_PL_Data, and saved the extracted shape files as 2000blocks.shp.

Step2. Obtain the Redistricting data files for the same counties as Step 1.

FTP the three redistricting files from the CB ftp site at

For example, for virginia, the geographic header file is, and the data files are and

Note: You can also get a CD-ROM containing the data files for your counties from your local State Data Center. For a list of SDCs, please visit

In case you obtain a CD-ROM from your SDC, you can skip most of step 3, because the CD-ROM should already contain dbf versions of the xxxgeo.upl file.

Step 3. Convert the upl files to dbase format.

First, Unzip the files you obtained in step 2 using Winzip. These files need a bit of massaging before import to Arcview.

Step a:

The geographic header file (vageo.upl or xxgeo.upl) is a flat ASCII file. The fields most of us are interested in are:
1. The State and County FIPS.
2. The Tract
3. The Block
4. The TAZ
To convert the flat file into something that can be used for linking fields, you will need to know where (or at which character) a record/field begins and ends. This can be obtained in chapter 2 (pages 16,17,18,19,20,21,22) of the file layout document (

For example:
You can open a new project under MS Access. Import the xxgeo.upl (in this case vageo.upl) file by using the Table Import Wizard, and specify exactly the 18th marker to the 25 marker for the "logical record" which is the key between the geographic header file and the data files.

The State and county FIPS are between the 29 and 34 markers.
The Tract is between the 55 and 61 marker. (Meaning that the record begins at 56 and is of 6 characters, so it ends at 61).
The block is between the 63 marker and the 67 marker.
The TAZ is between the 347th marker and the 353 marker.

Once the table is imported into Access, you can either

  1. query for the specific county you are interested in, and save it as a dbf file for import into Arcview. Or
  2. Save the whole table as a dbf file for import into Arcview.
Use the File-Export option to save the table to a dbase file.
I called the geography file as va_geography.dbf and saved it in the folder d:\VA_PL_Data

Step b.

The data files are fairly straightforward to convert as they are comma delimited. The file contains total population by race, and hispanic origin, and is in a convenient .csv format, and can be easily imported to access and converted to a dbf. The first field in this file is the "logical record key" - a field you can use for connecting the data with the geographic dbase file developed in step a. I named the data file as va_totalcounts.dbf and saved it in and saved it in the folder d:\VA_PL_Data. contains voting population (Age > 18) and is formatted in the same way as

You can import these into access and give them some headers that are more recognizable for you. Export these as DBF too.

Note: In some cases, you may have trouble performing Step 3 in MS Access. This may be due to the way your MS Office is set up. Contact your System Administrator, or someone that knows MS Access really well, when you are unsure of anything in Step 3.

Step 4:

Now, all that remains is to open the shape file, and the data tables in Arcview, create common "join fields" and link/join them together.

Step a.

Open a new Arcview session, and add the block theme you downloaded in step 1 (in my case 2000blocks.shp) as a theme. Also, add the three tables developed in Step 3. You will notice you can "join" the geographic header file and the data files easily in Arcview. I needed only total population counts by race, so I had only two tables to join (va_geography.dbf, and va_totalcounts.dbf). I used "logical record field" as the key field to join the two tables. Save the new table as va_counts.dbf

Step b.

The block theme obtained in step 1 (2000blocks.shp) has an attribute table where the state fips, county fips, tract, and block number are concatenated into a single field.

So to join the shape file to the data file, we need to concatenate the fields containing the statefips, countyfips, tract, and block in the new va_counts.dbf obtained in step 4a.  This can be then connected to the corresponding field in "Attributes of 2000blocks.shp"

Once the data are in Arcview, you can turn on the geo-processing wizard and summarize the data by TAZ, or by Tract easily.

File- extensions- click on geoprocessing wizard.

Then go to view and dissolve the block shape file on TAZ, Tract or anything else. This is the reason I added TAZ as an import item in step 3. You can add other fields you are interested in summation, or geography.

UNIX Users:

You can follow most of the steps outlined for PC users. You may have to save your files as comma delimited and import them as .txt files into Arcview. The steps that used Microsoft Access are basically far easier in a UNIX environment. For example, for the geographic header file, you can use shell scripts or simple "cut" and "paste" commands specifying the exact start and end points for fields (obtained from the file layout manual). The rest of the process must work.

Note: This note was sent as an e-mail to the CTPP listserve. For further questions on converting PL data to your TAZs, please contact your local Census State Data Center. To locate the SDC closest to you, please visit