Mapping Another Layer of Summer 2020 Protests


Visualization

Introduction

In the summer of 2020, protests erupted across the United States in response to the murder of George Floyd by a white police officer working for the Minneapolis Police Department. 

Visualizing protests, riots, and police violence as data can serve as a kind of counter-mapping that not only challenges notions about protests in 2020 but helps write a change narrative that activists, journalists, and policymakers can fold into their platforms. However, care must be taken that any data justice tool does not ignore or subvert the larger organizing movement it is intended to aid. To that end, this lab attempts to address the limitations of map-based visualizations of data related to protests in summer 2020. 

Context

This lab uses data from the U.S. Crisis Monitor, a joint project of the Armed Conflict Location & Event Data Project (ACLED) and the Bridging Divides Initiative (BDI) at Princeton University. Their September 2020 report, “Demonstrations & Political Violence in America: Mapping New Data from the US Crisis Monitor,” employs several mapping visualizations. 

Screenshot from the U.S. Crisis Monitor Report, September 2020

These two maps show one of the fundamental findings in the report: most protests were peaceful. This finding is relayed by the large grey clusters (generally) encircling the orange clusters. This style of clustering comparison characterizes the visualizations in the report.

One of the obvious problem areas in this map is the Portland, Oregon area, where the orange cluster blocks out any information about protests. This highlights some of the issues with the map. For instance, we do not know the scale the size of each cluster represents, and the clusters obscure any more granular information. The maps are obviously meant to provide a broad overview to support the report’s findings, but, with some adjustments, I theorized that the same data could be used to create maps that were more interactive, narrative, and clear. 

Materials 

This lab uses data from the Armed Conflict Location & Event Data Project (ACLED), for the United States from March 2020 to November 2020. The data was formatted using OpenRefine, a data cleaning power tool, and mapped using Carto, a proprietary cloud-based mapping and visualization tool.

Methods

Creating my visualizations in Carto required three steps: formatting my data, exporting my data, and querying my data in the Carto interface. ACLED data is exported as a CSV file that includes granular point data in the longitude and latitude columns. The CSV also includes date information in both calendar and timestamp formats.To upload my file, I needed to convert it into a GeoJSON file. In OpenRefine, I converted my dates into time-date data formats and exported the CSV as a point-shaped GeoJSON file.

Once I uploaded my data, I had two options for mapping it. Navigating directly to my data table, titled “protests,” I could prompt Carto to automatically generate a map with all of the data points. Alternatively, I could create a blank map and bring in only the data of interest using a SQL query. Within my SQL query, I could also call Carto’s query functions to perform some additional analysis. In Carto, the queried data becomes a layer with its own styling and interactivity options. I ultimately chose to import my data using SQL because it simplified the styling process, reduced the number of interactive elements, and seemed to improve performance over filtering a table. For one map, using SQL allowed me to perform an additional analysis that I could not achieve with just the layer styling. 

Results

Based on this method, I created three maps intended to supplement the story told is the U.S. Crisis Monitor

Screen recording of the Carto protests map.
Screenshot of the interactive pop-ups.

This map shows each instance of protest, riot, or police violence (color-coded) as a single point that interactively displays the event type, actor, date, and narrative on mouseover. The time-based component of the map proceeds day by day from March 2020 to November 2020, and it can be paused at any time for viewers to interact with individual points. 

The map visually captures one of the most important things about the 2020 protests: the largely peaceful national movement that erupted almost overnight. Only capturing clusters and aggregates misses the important dimension of time, which speaks directly to the power and urgency of the protests. With more time before the Carto license expired, I would have liked to fine-tune the color and opacity settings.

Screenshot of heatmap styling, Portland, Oregon area.

In this map, I styled the data points as a heat map in order to resolve the issue of overlapping data points. Unlike the point-based map, this map is not interactive and cannot represent time. However, it more clearly and more accurately represents the densities of the three different event types over the course of the summer. The black centers represent police violence, the red circles represent riots, and the white circles represent protests. The map makes it clear that riots were not only rare; they tended to occur in only a few places and be accompanied by police violence. Looking at Portland, Oregon, we can now see that there is a clear locus of violence in the center of the city, while most other protests in the area remained peaceful.

Hex bin view of the United States 2020 protests, March 2020 to November 2020. Darker colors indicate a greater number of events.
Hex bin view of riots (>10) on the West coast. Darker bins indicate a higher number of events.
#SQL query for hex bin map. Credit Carto user manual tutorials.
WITH
  data AS (
  SELECT
    `carto-un`.h3.ST_ASH3(geometry, 4) AS h3id,
    COUNT(CASE WHEN event_type = 'Riots' THEN 1 END) AS r_total,
  FROM `carto-dw-ac-sfcnovju.shared.protests-4`
  GROUP BY h3id
  )
SELECT
  h3id, 
  r_total,
  `carto-un`.h3.ST_BOUNDARY(h3id) AS geom
FROM
  data

For my final map, I wrote my SQL query to bin events based on location. The resulting hex map is colored by density, where darker colors represent more events. The green-colored hex map aggregates all events in the “protests” dataset, and, other than the neater appearance, does not add value to the maps from the Crisis Monitor report. However, the bins do make it possible to do more granular analysis, the same way that layering census tracts or counties would. The second map shows only hexes where significant (defined as more than 5) riots occurred. In that analysis, we can clearly see that riots were geographically rare. 

Reflection

I want to reflect on the positionality of my analysis. I found that putting my visualizations in dialogue with the U.S. Crisis Monitor report did position them as counter maps that add a complicating layer to the report. However, taking this visualization any further or treating the topic any more broadly would require that I address my position as a bystander outside the organizing community. I suspect that even the most thoughtful design I could invent (and probably the ones that I did above) has the potential to work against the activist agenda as long as they do not engage with the community. As I move forward in the design area and create designs with wider reach or visibility, I would want to think critically about how to make engaging with communities a regular part of my design practice.

References

Dorothy Kidd (2019) Extra-activism: counter-mapping and data justice, Information, Communication & Society, 22:7, 954-970, DOI: 10.1080/1369118X.2019.1581243