Mapping American FactFinder Data With ArcGIS Online

The US Census Bureau collects a vast array of demographic and economic data on a continual basis. Much of that data at various scales is made available through tables that can be downloaded from the Census Bureau's American FactFinder website.

The challenge with that data is that it is made available to the public in formats that are a bit cumbersome to use, making import into GIS software and portals a somewhat cumbersome process.

This tutorial describes how to create bubble maps and choropleths using data downloaded from the US Census Bureau's American FactFinder website. Choropleths also use TIGER/Line shapefiles for state, county, and census tract boundary polygons.

American FactFinder

American Factfinder is a public data portal for accessing information collected by the US Census Bureau. To find information on a particular community, enter the name of that community in the Community Facts search box. Note that when entering a city name, you may need to distinguish between the city, county, or metropolitan area.

Finding Community Facts in American FactFinder

Unlike the decennial census which is only taken every ten years, the ACS is continuously surveying people in America's communities so that data can be more current than the decennial census. However, because it is a survey rather than a complete count like the 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 on most ACS values.

Of particular interest is data from the American Community Survey (ACS), which is an ongoing, continuous survey of communities taken by the US Census Bureau that collects information on topics like employment and income, housing, education, family, and language.

ACS data is released interval with data that is gathered over 1-year and 5-year intervals. The shorter intervals are more current, but less accurate. The longer intervals are more accurate, but less current. You should choose the data set based on whether the analysis you are performing needs data that is more accurate or more up-to-date. For this tutorial, we go with accuracy by choosing the most recent five-year estimates.

Some ACS variables that may be of interest to social scientists includes:

American FactFinder provides the capability for downloading files as .csv tables, and that capability is used in this tutorial to download data for mapping in ArcGIS Online.

Joins

Thematic maps indicate what is where. American FactFinder data is the what. For bubble maps of states or counties, ArcGIS Online can geocode the place names in the data to get where. But for choropleths, you need where polygons that represent states, counties, census tract, etc. boundaries that can be colored with the what data.

A join is an operation where two data sets are connected to form a single data set. There are two kinds of joins: spatial joins and attribute joins.

A spatial join joins two data sets based on a spatial relationship. In the animation below, data from a points data set (the join layer) is joined with a polygon geometries data set (the target layer) to create polygons with data from the join layer.

This type of join is useful for state data, where ArcGIS Online can geocode American FactFinder data state names into points, and that point data can then be joined with state boundary polygons to create choropleths.

Spatial Join

An attribute join connects two datasets based on common key values. This type of join is useful for county and census tract data, since ArcGIS Online cannot reliably geocode county or census tract names.

Attribute Join

The steps for performing these different types of joins are detailed in the examples below.

Mapping State-Level Data

Download Data

For this example, we will map median household income from the American Community Survey by state.

  1. Visit factfinder.census.gov
  2. Go to the Download Center
  3. For the dataset, select American Community Survey and the most recent 5-year estimates
  4. Select the appropriate geographic type. For this example, All States within United States and Puerto Rico
  5. Search for the characteristic you are interested in - for this example, income
  6. Look through the metadata to find a dataset with an appropriate variable - for this example, median household income
  7. Download the .zip archive of the .csv file
Downloading State-Level ACS Data From American FactFinder

Clean Up the CSV File

  1. On some operating systems, you will be able to open the .zip file with a native application like Windows Explorer. However, on some systems, you may need to download and unzip manually
  2. Open the metadata file in a spreadsheet program to find the name of the column containing the variable you want - in this example HC01_EST_VC13 for median household income
  3. Open the data file that ends with with_ann.csv in a spreadsheet program
  4. Rename the variable column you want to map to something meaningful
  5. Rename the column with the state names to State so it is clear to ArcGIS Online which column to use for geocoding
  6. Remove all unneded columns
  7. Delete the top row of cryptic field names so the top row is the descriptive field names
  8. Save as a .csv file to your desktop under a meaningful name
Cleaning Up a State-Level ACS CSV File

Add The Data As an ArcGIS Online Bubble Map Layer

  1. Select Map from your ArcGIS Online home page to create a new map
  2. Select Add, Add Layer From File with the .csv file
  3. When asked to Locate Features, look through the fields and make sure your State column is marked as a State to geocode based on state name
  4. Select the column to style the bubbles. In this case it chose the correct default to Median Household Income
Creating a Bubble Map From an American FactFinder .csv File

Join The Data With a TIGER Shapefile To Create a Choropleth

If you want to map your data as a choropleth, you need polygons to color.

  1. Download a state file from the US Census Bureau's TIGER Cartographic Boundary Files. The 500k resolution files are good enough for a web map while being fairly small for quick upload. The download is a .zip file containing a shapefile of polygons
  2. Add that .zip file as a layer
  3. Click the Analysis icon on that polygon layer and select Summarize Data, Join Features
  4. Since the data points are already geocoded, you can use a spatial join with Choose a spatial relationship
  5. Click off current map extent so any features not currently displayed (like Alaska and Hawaii) are included in the output data
  6. Save the joined data under a meaningful name
  7. Show credits to make sure the operation will not use too many credits. State joins should use under one credit
  8. Style the polygons based on the newly joined data variable
Creating a Choropleth Using a Spatial Join

Save and Share

Save the map under a meaningful name and share with everyone to get a link you can e-mail or submit for an assignment.

Note that you may get a warning message that one of your map layers also needs to be shared so the map is visible to everyone.

Sharing a Choropleth

Mapping County-Level Data

Download Data

The process for downloading county-level data is similar to downloading state-level data

  1. Visit factfinder.census.gov
  2. Go to the Download Center
  3. For the dataset, select American Community Survey and the most recent 5-year estimates
  4. Select the appropriate geographic type. Choose County, the state you are mapping, and All Counties within <state>
  5. Search for the characteristic you are interested in - for this example, income
  6. Look through the metadata to find a dataset with an appropriate variable - for this example, median household income
  7. Download the .zip archive of the .csv file
Downloading County-Level ACS Data From American FactFinder

Clean Up the CSV File

  1. On some operating systems, you will be able to open the .zip file with a native application like Windows Explorer. However, on some systems, you may need to download and unzip manually
  2. Open the metadata file in a spreadsheet program to find the name of the column containing the variable you want - in this example HC01_EST_VC13 for median household income
  3. Open the data file that ends with with_ann.csv in a spreadsheet program
  4. Rename the variable column you want to map to something meaningful
  5. Rename the column with the state names to State so it is clear to ArcGIS Online which column to use for geocoding
  6. Remove all unneded columns
  7. Delete the top row of cryptic field names so the top row is the descriptive field names
  8. Go through all rows and make sure there are no non-numeric values in the data. Dashes or asterisks will cause ArcGIS Online to think this is nominal data and you will not be able to make a bubble map or choropleth
  9. Save as a .csv file to your desktop under a meaningful name
Cleaning Up a County-Level ACS CSV File

Add The Data As an ArcGIS Online Bubble Map Layer

  1. Select Map from your ArcGIS Online home page to create a new map
  2. Select Add, Add Layer From File with the .csv file
  3. When asked to Locate Features, make sure it selects your County field as a Subregion to geocode
  4. Select the column to style the bubbles. In this case it chose the correct default to Median Household Income
Creating a Bubble Map From an American FactFinder .csv File

Join The Data With a TIGER Shapefile To Create a Choropleth

If you want to map your data as a choropleth, you need polygons to color.

  1. Download a county boundary file from the US Census Bureau's TIGER Cartographic Boundary Files. The 500k resolution files are good enough for a web map while being fairly small for quick upload. The download is a .zip file containing a shapefile of polygons
  2. The TIGER shapefile for all US counties is too large to add to a map directly. Therefore you will need to go to your Content page and add it as a new hosted layer. This may take a minute or two to upload and process. Give it a meaningful name so it is easy to find
  3. If a layer with that name already exists in your organization, you may need to us
  4. Back in your map, Search for Layers in My Content to find the hosted layer of county boundaries and add it to the map
  5. Click the Analysis icon on that polygon layer and select Summarize Data, Join Features
  6. Since the data points are already geocoded, you can use a spatial join with Choose a spatial relationship
  7. Click off current map extent so any features not currently displayed (like Alaska and Hawaii) are included in the output data
  8. Save the joined data under a meaningful name
  9. Show Credits to make sure your join will not consume too many credits. This operation should usually not take more than ten credits, and less than five for small states
  10. Run Analysis. This may take a few minutes if you have a large state
  11. Style the polygons based on the newly joined data variable
Creating a Choropleth Using a Spatial Join

Save and Share

Save the map under a meaningful name and share with everyone to get a link you can e-mail or submit for an assignment.

Note that you may get a warning message that one of your map layers also needs to be shared so the map is visible to everyone.

Sharing a Choropleth

Mapping Tract-Level Data

Download Data

Census tracts are small, relatively-permanent subdivisions of counties that are used to aggregate collected data and preserve the anonymity of individual responses. Census tracts generally have a population size between 1,200 and 8,000 people, with an optimum size of 4,000 people. This is the smallest area of aggregation used by the Census Bureau for most data, and is commonly used for mapping and analysis.

  1. Visit factfinder.census.gov
  2. Go to the Download Center
  3. For the dataset, select American Community Survey and the most recent 5-year estimates
  4. Select the appropriate geographic type: Census Tract, the State, the County, and All Census Tracts in...
  5. Search for the characteristic you are interested in - for this example, income
  6. Look through the metadata to find a dataset with an appropriate variable - for this example, median household income
  7. Download the .zip archive of the .csv file
Downloading Tract-Level ACS Data From American FactFinder

Clean Up the CSV File

  1. On some operating systems, you will be able to open the .zip file with a native application like Windows Explorer. However, on some systems, you may need to download and unzip manually
  2. Open the metadata file in a spreadsheet program to find the name of the column containing the variable you want - in this example HC01_EST_VC13 for median household income
  3. Open the data file that ends with with_ann.csv in a spreadsheet program
  4. Rename the variable column you want to map to something meaningful
  5. Remove all unneded columns
  6. Delete the top row of cryptic field names so the top row is the descriptive field names
  7. Go through all rows and make sure there are no non-numeric values in the data. Dashes or asterisks will cause ArcGIS Online to think this is nominal data and you will not be able to make a bubble map or choropleth
  8. Save as a .csv file to your desktop under a meaningful name
Cleaning Up a Tract-Level ACS CSV File

Join The Data With a TIGER Shapefile To Create a Choropleth

Since ArcGIS Online doesn't know how to geocode census tract names, you will not be able to make a bubble map directly from a CSV file of tract data. This will require performing an attribute join with the TIGER shapefile of census tract boundaries.

  1. Download a census tract boundary file from the US Census Bureau's TIGER Cartographic Boundary Files. These are .zip files with tracts for the entire state
  2. Tract shapefiles will usually be too large to add to a map directly. Therefore you will need to go to your Content page and add it as a new hosted layer. This may take a minute or two to upload and process. Give it a meaningful name so it is easy to find
  3. Create a new map, Search for Layers in My Content to find the hosted layer of county boundaries and add it to the map
  4. Add Layer From File with the .csv data
  5. When prompted to Locate features by, choose None, add as table since ArcGIS Online doesn't have the capability to geocode from census tract names
  6. Click the Analysis icon on that polygon layer and select Summarize Data, Join Features
  7. Since this will be an attribute join, join with Choose fields to match and select:
    • AFFGEOID as the field in the target layer (the shapefile)
    • ID as the field in the join layer (the CSV file)
  8. Click off current map extent so any features not currently displayed are included in the output data
  9. Save the joined data under a meaningful name
  10. Show Credits to make sure this operation will consume a a reasonable amount
  11. Style the polygons based on the newly joined data variable
  12. Save the changes to your map under a meaningful name
Creating a Census Tract Choropleth Using an Attribute Join

Save and Share

Save the map under a meaningful name and share with everyone to get a link you can e-mail or submit for an assignment.

Note that you may get a warning message that one of your map layers also needs to be shared so the map is visible to everyone.

Sharing a Choropleth

Configuring Popups

Joined data often contains numerous fields that are not directly relevant to viewers of a map, and these fields clutter the pop-ups when visitors click on features to get more information.

  1. From the ellipsis (...) beside the layer with the popups, select Configure Pop-up
  2. Under Display select A description from one field
  3. Select the one field that should be displayed
  4. Save the map to save the new pop-up configuration
Configuring Pop-Ups

Project Folder

Because a project like this has many layers and web maps, it may be helpful keep them all together in a folder to avoid cluttering up your ArcGIS Online home directory.

  1. On your Content page, create a new, meaningfully-named folder
  2. Move all files associated with the project into that folder
  3. If you need to submit proof of this operation, press the PrtSC button on Windows or Shift-Command-4 on Mac to take a screenshot, paste it into a Google Docs document, and share
Creating a Project Folder