Geospatial Data from the US Census Bureau

Rev. 10 March 2025

This tutorial covers basic techniques for acquiring and joining US Census Bureau (USCB) data. While focusing on ArcGIS Pro, this tutorial also includes information on using USCB data in the ArcGIS Online Map Viewer, Python, and R.

census.gov

US Census Bureau Data

The US Census Bureau (USCB) is the part of the US federal government responsible for collecting data about people (demographics) and the economy in the United States. The Census Bureau has its roots in Article I, section 2 of the US Constitution, which mandates an enumeration of the entire US population every ten years (the decennial census) in order to set the number of members from each state in the House of Representatives (the lower house of the US Congress) and Electoral College (that selects the US President) (USCB 2017). The Census Act of 1840 established a central office for conducting the decennial census, and that office became the Census Bureau under the Department of Commerce and Labor in 1903 (USCB 2021).

The American Community Survey

Among the Census Bureau's many programs is the American Community Survey (ACS), an ongoing survey that provides information on an annual basis about people in the United States beyond the basic information collected in the decennial census. The ACS is commonly used by a wide variety of researchers when they need information about the general public.

Unlike the constitutionally-mandated decennial census which is only taken every ten years, the ACS continuously surveys people in America's communities so that the ACS data can be more detailed and current than the decennial census. However, because the ACS is a survey rather than a complete count like the decennial census, there is uncertainty about how accurately the sampling represents the facts on the ground, and that uncertainty is expressed in a statistical margin of error (MOE) on most ACS values (US Census Bureau 2018).

Spatial Aggregation

In order to preserve the confidentiality of respondents (and the associated willingness of people to respond to highly-personal questions), the US Census Bureau generally only releases data that has been aggregated (combined) into areas at various geographic scales:

Types of aggregation areas used by the US Census Bureau

Temporal Aggregation

Although ACS data is captured through surveys that are administered on an ongoing basis, it is aggregated into time-periods to improve geographic coverage and reduce margin of error.

ACS data is released annually in aggregation by two different time-periods.

One-Year Estimates Five-Year Estimates
Useful when you need the most current data about an characteristic that changes frequently Useful when you need the most accurate data about a characteristic that stays fairly stable over time
Useful for areas that are changing rapidly Useful for areas that are well-established
Often has gaps in sparsely-populated rural areas Data is more complete
Based on fewer surveys, so it has wider margins of error Based on more surveys, so it has lower margins of error

Community Profile Pages

If you are looking for quick information on a specific state, county, city or community, the USCB provides profile pages in data.census.gov that include basic demographic information about population, income, education, etc.

You can access a profile page by typing the name of the area of interest into the search bar and waiting for it to autocomplete. If there is a profile page, a link to that page will appear for you to select.

A Profile Page on data.census.gov

FIPS Codes and GEOIDs

FIPS (Federal Information Processing Standards) codes are used to uniquely identify geographies in USCB data. FIPS codes for different geographies can be found with Google.

A full list of current FIPS codes for different area types is available on the US Census Bureau website.

FIPS codes build left to right from the more general to the more specific.

FIPS codes are commonly used as GEO_ID values in US Census Bureau data.

Because purely numeric FIPS codes are ambiguous about exactly what type of geography they represent, US Census Bureau data often includes fully-qualified GEOIDs (GEOIDFQ) that append a prefix to a FIPS code that clearly indicates what type of area the FIPS code represents.

GEOIDFQ prefixes also have specific subfields:

For example:

USCB Table Data

Data from a variety of different USCB programs is available on data.census.gov for download as table data.

These ACS demographic profile (DP) tables contain useful groups of data:

The video below demonstrates downloading selected variables from the DP03 table with county-level data from data.census.gov.

  1. From the data.census.gov home page, search for the desired table (DP03). The default table shows values for the entire USA.
  2. Click Geos to select the type of geographic area. For this example, we will use County and All counties within the United States and Puerto Rico.
  3. Click Download Table.
  4. Select the appropriate Table Vintages. For this example, we use the 2019 five-year estimates for maximum accuracy in the pre-COVID world.
  5. Download the zipped CSV.
  6. In the Windows File Explorer, open the .zip archive, and open the file with a name containing the word "data" in it.
  7. Remove all unnecessary columns, and rename the columns to meaningful names. For this example, these are the variables we keep.
  8. Remove the 2nd row with the descriptive column information and leave just the top header row and data rows.
  9. Look through the rows and remove any rows with non-numeric data.
  10. Save the spreadsheet as a CSV file under a meaningful name (County_Economics.csv).
Downloading table data from data.census.gov

Joining USCB Table Data to TIGER Shapefiles

Although the tables downloaded from data.census.gov contain geographic area identifiers, they do not contain the polygon information needed to map that data as areas in software and we need to join the table data to area polygons for mapping.

The Topologically Integrated Geographic Encoding and Referencing (TIGER) database is a collection of geospatial polygons maintained by the US Census Bureau.

Shapefiles utilize a file format developed by ESRI in the 1990s that is actually a collection of files that each contain separate information, such as the coordinates, attributes, projection, and metadata.

A join is a database operation where two tables are connected based on common key values. In GIS, attribute joins can be used to connect data from external tables (such as in a CSV file) to geospatial locations defined in feature classes that comes from shapefiles or file geodatabases.

Attribute join illustration

To join USCB table data to a TIGER shapefile, we join on the GEO_ID field in the downloaded table data and the GEOIDFQ field in the TIGER/LINE shapefile.

Joining USCB table data with a TIGER shapefile in ArcGIS Pro

TIGER Infrastructure Shapefiles

TIGER/Line shapefiles are available for a variety of geographic features. These features can be used for creating base maps.

  1. Go to the USCB's TIGER/Line Shapefiles page, choose the web interface, and download the desired geometries.
  2. Using Windows Explorer, open the file, copy the contents, and paste them into the Downloads directory.
  3. Bring the data into the project geodatabase with the Export Features tool.
Importing a TIGER/Line shapefile of railroad lines

Project Geodatabase

When working with data from shapefiles and tables in ArcGIS Pro, the data should be saved in the project geodatabase to keep the project data together and avoid losing external files. This is why many examples in this tutorial use Export Features tool to copy the data from shapefiles or feature services into the project geodatabase.

Figure
The relationship between geodatabases, feature classes, features, maps, and layouts

A project geodatabase is the default geodatabase used for storing feature classes that are imported or created as part of an ArcGIS Pro project.

Viewing the contents of the project file geodatabase in the Catalog Pane

USCB Data from Secondary Sources

Although data.census.gov is the definitive primary source for US Census Bureau data, the amount of available data is vast, and that data is made available in formats that requires additional processing to use in GIS. Accordingly, subsets of that data are sometimes made available from secondary sources in pre-processed formats that facilitate easier use.

Feature Services

Feature services provide clients with access to vector features in a server geodatabase through REST endpoints.

Data from feature service endpoints can be downloaded into your project geodatabase so you can preserve a snapshot of the current data in case the feature service data is modified or deleted.

Client-server architecture

ArcGIS Online Feature Services

Numerous authors publish subsets of USCB data as feature services in ArcGIS Online. You should always use caution when accessing data from non-authoritative ArcGIS Online sources as the data is often work from student projects that is often of uncertain vintage and integrity.

The Minn 2019-2023 ACS feature service in the University of Illinois ArcGIS Online organization features a wide variety of commonly-used demographic variables from the 2019-2023 ACS five-year estimates data profile (DP) tables at state, county, and census tract aggregation levels. The data has full metadata and is also available as downloadable GeoJSON for use in R or Python.

Use the Export Features tool to copy the data from the feature service into the project geodatabase.

Importing county ACS data from a feature service

Counties Filtered by State

If you only need counties in a specific state, you can use the Export Features tool with a filter.

Importing county ACS data using an precompiled layer

County Tracts Filtered by GEOID

Tracts for specific counties can be filtered using a GEOIDFQ, which is described above..

Downloading census tract ACS data for Cook County, IL

Living Atlas Features

ESRI's Living Atlas of the World is a collection of geospatial data services that can be accessed in ArcGIS Pro or in ArcGIS Online. These services include data from the USCB and other government agencies.

Although the Living Atlas can be convenient, there are three issues with using Living Atlas data on a regular basis:

You can download features from many Living Atlas feature services into your ArcGIS Pro project geodatabase.

  1. Open the Export Features tool.
  2. Symbolize the new feature class by the desired variable.
Exporting Living Atlas features into a new project database feature class

Image Service Download

Image services provide clients with the ability to access raster and image data from a server geodatabase.

For this example we demonstrate how to download a portion of the USA NAIP Imagery: Natural Color Living Atlas layer covering Peoria County, Illinois to a GeoTIFF file.

  1. Acquire: Add the desired image service layer to your map.
  2. Store: Right click on the image layer and select Data and Export Raster tool
  3. Communicate: Remove the ArcGIS Online tile layer and leave only the new raster layer on the map.
Exporting a portion of an Living Atlas image layers to the project geodatabase

Clipped Image Service Download

If you have boundary polygon(s), you can clip the downloaded raster.

  1. Acquire: Add the desired image service layer to your map.
  2. Store: Right click on the image layer and select Data and Export Raster tool
  3. Communicate: Remove the ArcGIS Online tile layer and leave only the new raster layer on the map.
Exporting a clipped section of an Living Atlas image layers to the project geodatabase

Point Elevation

If your primary interest is getting elevation values for points and you have fewer than 1,000 features, the Summarize Elevation tool can be used to add an elevation field to a point feature class from ESRI's world elevation service.

This example demonstrates adding elevation values to a point feature class of Chicago Transit Authority "L" Stations.

Getting elevation values for points

Area Elevation

As with points, if your primary interest is getting elevation values for areas and you have fewer than 1,000 features, the Summarize Elevation tool can be used to add an elevation field to an area feature class.

This example adds elevation to neighborhood boundaries in the City of Chicago.

Getting elevation values for areas

Public Feature Services

Government agencies often make their geospatial data available through their open data portals.

In this example, we download the a feature class of trail center lines from the Lake County, IL Open Data & Records Hub.

  1. Acquire: Find the desired feature service and select I want to use this...
  2. Store: Under Analysis, Tools, open the Export Features tool.
    • Input Features: Copy the endpoint URL and remove the query component of the endpoint URL.
    • Output Features: Browse into the project geodatabase and provide a meaningful name (Trails).
  3. Communicate: Symbolize as needed.
Exporting features from a feature service

Data downloaded from feature services may cause the cryptic Geometry cannot have Z values error when packaging a project, even if the feature class properties do not indicate the presence of Z values. The workaround is to export the feature class to a shapefile, then export the shapefile back over the feature class in the project geodatabase.

Joining Demographic Data for Analysis in ArcGIS Pro

USCB demographic data can be joined with data from other sources for analysis in ArcGIS Pro. Even if the demographic data is not needed, joining table data with USCB polygons from secondary sources can be an easy way to get table data into ArcGIS Pro for visualization and analysis.

Joining Dissimilar Areas

A spatial join connects two datasets based on a spatial relationship where attribute values are transferred from a set of features in a join layer to a target layer.

Spatial joins can be used to aggregate data from polygons into larger or smaller polygons. This example demonstrates use of a spatial join to join demographic census tract data from the Minn 2015-2019 ACS Tracts feature service to neighborhood boundaries in the City of Chicago.