Border Lines—Part 1

With the midterm elections last week, it has been hard to avoid the analysis and interpretation of what the results might mean. Like many, my attention was captured by the drama surrounding control of the U.S. House of Representatives and which party would control it for the next two years. Some states like Vermont and Montana have a single federal congressional district, but for the 44 other states, every election is consequential because of its bearing on who controls how the new boundaries are drawn following the 2020 Decennial Census.

I downloaded the most recent congressional district boundaries from the Census Cartographic Boundary Files site and started poking around. The main things to know about congressional districts is that they are ideally contiguous and contain roughly the same number of people. The latter criterion ensures that everyone’s vote carries the same weight and the contiguity criterion is designed as a check on partisan gerrymandering.

The Polsby-Popper ratio has been widely used to measure the compactness of electoral geographies and part of its appeal is its simplicity. The PPR is (4π * A) / P2 where A is the area of a district and P its perimeter. Districts with a Polsby-Popper ratio closer to one are more compact or regular, while values closer to zero are irregular and perhaps, more sinister. Here is a quick map of current federal congressional districts shaded according to the Polsby-Popper ratio.

District_PPR_115th Congress

The red and orange areas really stand out, but are not necessarily where I expected them to be. One of the problems with relying on statistics like this in isolation is that they can give a biased perspective. Coastal districts with complex boundary lines (e.g., North Carolina’s Outer Banks, New Orleans, the Boundary Waters area of Minnesota) are potentially the victims of geography rather than the result of political maneuvering.

We can also consider how well the population criterion is met with a map like the one below.

District_TOTPOP_115th Congress

With a range of just under 25,000 people, the degree to which these districts contain a comparable number of voters is debatable. But what is most interesting to me in this one is the obvious regional pattern in the population size of congressional districts. Sunbelt migration aside, areas like east Texas are not population centers. Yes the states exert significant influence on how redistricting is done, but are the political parameters surrounding redistricting in the Deep South really similar to those in California and the Northeast? Who lives in the most irregular congressional districts in America? How have the boundaries of these individual districts changed over the years? Which party drew these districts and which party won these districts in subsequent elections? I have so many questions, but they will have to wait until a later blog post. Here’s the code for the map.


# Visit this site to request an API key --->
# Only need to load your API key once...
# census_api_key("YOURCENSUSAPIKEYHERE", overwrite=TRUE, install = TRUE)

# Download the population etsimate for all congressional districts using the tidycensus package
# This example uses the ACS 1-Year Estimates for 2017
cdists.2017 <- get_acs(geography = "congressional district", variables = "B00001_001E", geometry = FALSE,
survey= "acs1", year = 2017)
cdists.2017 <- subset(cdists.2017, select=-variable)
colnames(cdists.2017) <- c("GEOID", "NAME", "TOTPOP")

# Specify the map projection we want to use
North_America_Albers_Equal_Area_Conic <- "+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs"

# Congressional districts are not yet supported by the Census API, so
# download the shapefile directly
download.file("" , destfile="")
districts <- readOGR(".", "cb_2017_us_cd115_500k")

# Limit analysis to the contiguous states and Washington DC
noncontig <- c("02", "60", "66", "15", "72", "78", "69")
'%nin%' = Negate('%in%')
districts <- districts[districts$STATEFP %nin% noncontig, ]

# Project the polygons and calculate Polsby-Popper
districts <- spTransform(districts, CRS(North_America_Albers_Equal_Area_Conic))
districts$Area_SqM <- OasisR::area(districts)
districts$Perimeter_M <- OasisR::perimeter(districts)
districts$PPR <- (4 * pi * districts$Area_SqM) / (districts$Perimeter_M * districts$Perimeter_M )

# Join the population data
attributes <- districts@data
attributes.merged <- merge(attributes, cdists.2017, by="GEOID", all.x=TRUE)
base <- districts
base@data <- data.frame(base@data[,"GEOID"])
colnames(base@data) <- "GEOID"
districts.all <- merge(base, attributes.merged, by.x = "GEOID", by.y = "GEOID")

# Districts with a Polsby-Popper ratio closer to one are more compact

one.district.states <- c("50", "38", "46", "10", "30", "11", "56")

districts.mult <- districts.all[districts.all$STATEFP %nin% one.district.states, ]
districts.sf <- st_as_sf(districts.mult)

ggplot(data = districts.sf) +
geom_polygon(data = districts.all, aes(x=long, y=lat, group=group),
fill="white", color="grey50", size=0.25) +
geom_sf(aes(fill=PPR)) +
coord_sf(datum = NA) +
theme_map() +
theme(legend.position="bottom") +
theme(legend.key.width=unit(2, "cm")) +
ggtitle(label = "Polsby-Popper Ratio", subtitle = "115th Congress") +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
labs(caption = "Note: Polygons in white are states with a single Congressional district.") +
scale_fill_gradientn(colours = c("red", "yellow", "green", "lightblue", "darkblue"),
limits=c(min(districts.sf$PPR), max(districts.sf$PPR)))

ggsave(paste0("District_PPR_115th Congress.png"), width = 11, height = 8)

# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------

Ain’t No Party Like A Free And Open Source GIS Party

I have taught geographic information systems (GIS) for over a decade and used these tools for even longer. The analysis of geospatial data is a big part of what I do and ESRI’s ArcGIS suite is among the most familiar and reliable tools that I use. However, I am torn about exclusively using this software in the classroom and in my research for a couple of reasons.

What happens when students graduate? Current students at my institution can download a renewable, one-year license for free. For many urban planning students, they will take jobs that also provide access to the ESRI software after graduation, but for those that do not, what options are out there and how much of a learning curve will there be to transition away from ArcGIS?

Without the backing of an educational institution or employer, ArcGIS is expensive and pricing is increasingly difficult to understand. The cost of the standard ArcGIS Desktop product depends on whether you opt for a “term” or “perpetual” license with specialized extensions adding to the final bill. This business model makes sense as the array of applications and customers has exploded over the past two decades, but in addition to overwhelming those of us without a background in procurement, it feels very much like being nickeled-and-dimed.

QGIS (formerly known as Quantum GIS) has emerged as a viable alternative. It is close enough to the familiar ArcGIS Desktop software in the way it looks and in the way it functions. Building some degree of competence with an open-source GIS seems like a good investment, and so I have started to introduce QGIS in the advanced course that I teach.


QGIS is an excellent option if you just need to create maps or if you are engaged in very specialized, scientific analysis because chances are, there is a plug-in built by QGIS developers or someone in the user community that does what exactly what you want.


The fact that SAGA (System for Automated Geoscientific Analyses) and GRASS (Geographic Resources Analysis Support System) are part of the base installation enhances QGIS’ capacity to support more sophisticated analyses, but in my view ArcGIS is better for “mid-range” needs like geocoding addresses. This recent piece offers a more systematic comparison of the capabilities of QGIS and ArcGIS.

If you’re interested in checking out QGIS, you can access documentation and tutorials in multiple languages on this page, but you can also take a look at the short exercises I put together by clicking the links below.

Exploring QGIS Exercise 1 (Instructions) Exploring QGIS Exercise 1 (Data)
Exploring QGIS Exercise 2 (Instructions) Exploring QGIS Exercise 2 (Data)

The ‘Economic Mobility Atlas’ Is Just Not As Catchy

The Opportunity Atlas was released a few weeks ago, and like everyone else I was intrigued. The user interface is professionally crafted and the data visualization takes aim at a very important policy question—how does access to opportunity and by extension, social mobility vary across neighborhoods (and geographic scales) for persons of different household income, racial background, and gender.


The first thing that jumped out at me was how opportunity is being defined. It appears to be measured primarily in terms of income, with educational attainment and marital status as complementary indicators. There is an entire literature on the multi-dimensional nature of opportunity and how difficult it is to measure. The work of john a. powell and others at the Kirwan Institute from almost a decade ago is a good example of an attempt to move beyond income and to really grapple with the complexity of opportunity and its uneven distribution in space. Rather than comparing outcomes across groups, the focus of this approach to opportunity mapping is on the underlying factors that contribute to social mobility—which includes a heavy dose of economic mobility—and the levers that can be used to facilitate access to opportunity and social mobility. It also helps, to specify which groups or types of households we have in mind when attempting to measure opportunity, which the Opportunity Atlas acknowledges by including race/ethnicity and gender alongside household income as filters for the data presented.

The team of researchers behind the Opportunity Atlas use Census tracts as a proxy for neighborhoods, which is a common practice in the social sciences. I immediately searched for the Census tract I grew up in because if you’re like me, the immediate reaction is to evaluate all claims made about how the world works against your own experience.

But in fairness, the data presented in the Opportunity Atlas are not really about me. Literally. The underlying data are instead based on individuals born between 1978 and 1983, which accurately describes two of my younger brothers and a few of my cousins. I learned that average current income for kids born between 1978 and 1983 in this tract is among the lowest on average in the nation. I also noted that the employment rate was 77 percent and only 6 percent of the children from my home Census tract made it into the top 20 percent of the national income distribution as adults. This lack of economic mobility was not surprising, but it led to other questions about the underlying drivers of these outcomes.

The research team found that “in the southeast, rural areas tend to have lower rates of upward mobility than urban areas” and that the relationship is reversed in the Midwest and Mountain West regions. In my view, what is missing here is a more explicit acknowledgment of race in these results. Many rural areas in the southeast are home to large proportions of racial and ethnic minorities, while rural communities in Iowa, which is explicitly mentioned in the data story presented on the website, are overwhelmingly white (the state of Iowa is approximately 90 percent white only according to the American Community Survey). I wrote a paper two years ago that documents many of the same patterns at the county level and I spent more time trying to explain the observed regional differences in opportunity than the Opportunity Atlas team does here. If you can scale the paywall, you can read my county-level study here. Otherwise, send me a message and maybe you can borrow my ladder. You can also read this piece by john a. powell on the role of race, residential segregation, and policy in understanding contemporary disparities in access to opportunity. But I digress.

According to the Opportunity Atlas website, 44 percent of kids from the tract where I grew up stayed there, while 61 percent remained in the same commuting zone as adults. How much of the economic mobility that the Atlas is trying to capture requires physical mobility? Unfortunately the data in the Atlas do not speak directly to that question, but the movement of people out of and into a given place clearly impacts their life outcomes, as the research team notes. I now live in this Census tract 790 miles to the northwest where the average income and other outcomes for individuals born between 1978 and 1983 are very different. The 75th percentile of parents’ income in the tract where I now live was $64,000 versus $46,000 in the Census tract where I grew up.


This part of Champaign was probably farmland during the 1980s, which also invites questions about how the neighborhoods featured in the Opportunity Atlas (70,000 Census tracts in the country) have changed over the past forty years. Neighborhood change is not an exclusively urban phenomenon. A former colleague observed that “as rural places grow they cease to be rural”. It is unclear how the Opportunity Atlas defines “rural” and how that designation might have evolved over time for many of the Census tracts in the study. More importantly, recent survey results and data suggest that physical mobility is on the decline, which raises the stakes for the place-based policies the research team advocates. I was willing and able to relocate to improve my life outcomes, but based on the data in the Atlas, my experience is the exception and not the rule.

The Opportunity Atlas succeeds at drawing attention to spatial inequality at geographic scales below the county and city, but the logical next question is how can these data be used to bring about positive change? I think the answer lies in truly understanding what has enabled the economic mobility that this data visualization documents otherwise, the neighborhood effects illustrated here have limited practical value. As someone who has lived the economic and social mobility the Opportunity Atlas highlights, I am skeptical of anyone who suggests that it can be achieved in isolation or that individuals who are smart enough and work hard can radically improve their life outcomes single-handedly. The task for urban planners—and all of us—is to remove obstacles that impede economic and social mobility and to expand the resources, networks, and culture that support it.