Workflow

Resources

Data Sources

Various data sources were used in this project. For the redistricting analysis, the smallest unit of analysis used was census block groups. Census block groups for the City of St. Louis were downloaded from the U.S. Census Bureau’s website . The American Community Survey’s 2018 5-year estimates were used to get the most up to date population and racial data for the census block groups. Additionally, boundaries representing various political and geographic units in St. Louis, such as neighborhoods and parks, were downloaded from the City of St. Louis’s Open Data Portal.

Use of ESRI's Districting Extension

I used ESRI's Districting extension extensively in this project to both manually create ward boundaries as well as to tweak automatically generated ones. I took the following steps to use this extension:

  • Installed the extension from ESRI's website.
  • Created a new plan, imported the block group shapefile, set the number of wards (14) and assigned the relevant demographic variables.
  • To import, I created a text field containing the IDs of the block groups and their assigned ward, then used the import plan function.
  • To export, I simply exported the ward layer as a shapefile.

Use of Auto-Redistrict

To use Auto-Redistrict, I downloaded the executable JAR file from autoredistrict.org and installed it on my computer. Once it is installed, importing a shapefile, running the algorithm and exporting the results is relatively straightforward. One thing to note, you must set the District Column to "AR_RESULT" in order to export.

Use of BARD

Micah Altman and Michael P. McDonald's paper on Better Automated Redistricting is extremely useful in understanding the software package. Additionally the documentation that comes with the package is also informative. A couple notes on using/installing BARD:

  • In order to install BARD on windows, you must first install Rtools.
  • When importing shapefiles into BARD, a .GAL file is required, along with the shapefile. This file represents the contiguity of features. The .GAL file is a text file that contains, for each observation, the number of neighbors and their identifiers. This file format is not found in many GIS software, including ArcMap, so I used a free and open source software tool called GeoDa to create this file. Click here to learn more about this process.

To view the R code I used to generate ward boundaries, click here.

Evaluating Redistricting Criteria

In order to actually calculate the redistricting criteria for a generated ward boundary, I created a python script and used ArcPy, a Python package, to perform the calculations described by each criteria and output the results. This script allowed me to easily evaluate whether a set of ward boundaries met the criteria described above. To view this script, click here.