District Abstract Export Format

Alec Ramsay
Dave’s Redistricting
2 min readJul 9, 2020

The “District Abstract” option of the Export dialog in DRA 2020 generates a JSON file that contains the aggregated district data used to analyze a map.¹ This is an example.

There are five sections in the file, along with some map-level properties.

Map-level properties

This section contains the following key/value pairs:

  • state — The two-character state code, e.g., ‘NC’.
  • name — The name of the map, e.g., ‘NC 116th Congressional’.
  • nDistricts — The number of districts in the plan, e.g., 13.
  • nCounties — The number of counties in the state, e.g., 100.
  • bStateLeg — ‘true’ if the map is for a state legislature; ‘false’ for congressional plans

The population Section

This section contains the following key/value pairs:

  • targetSize — The population of districts that are roughly equal in size, e.g., 733499
  • byDistrict — An array of total populations by district (1–13 here)

The partisanship Section

This section contains the following key/value pairs:

  • statewide — The statewide Democratic vote share or fraction,² e.g., 0.488196
  • byDistrict — An array of Democratic vote fractions by district (1–13)

The demographics Section

This section contains the following key/value pairs:

  • statewide — An array of the statewide fractions of voting-age population (VAP)² for each demographic
  • byDistrict — An array of VAP fractions for each demographic by district (1–13)

In both cases, the array values are objects with these numeric key/value pairs:

  • white
  • minority
  • black
  • hispanic
  • pacific
  • asian
  • native

The shapes Section

This section contains an array of values for each district (1–13), where the array values are objects with these numeric key/value pairs:

  • area
  • perimeter
  • diameter

The splitting Section

This section contains a two-dimensional array of county populations by district (1–13), i.e., the array for each district has a number for the total population of each county in that district; the order of the counties corresponds to the sort order of their FIPS codes

Footnotes

  1. The district-level aggregates depend on what datasets you have selected in the Data Selectors. In other words, if you choose a different dataset in the Data Selector, the district aggregates will be different (and then the analytics for the map will also differ).
  2. All fractions are in the range [0.0–1.0]. Multiply fractions by 100 to get the corresponding percentages.
  3. Or citizen voting-age population (CVAP), depending on which is chosen in the Data Selector.

--

--

Alec Ramsay
Dave’s Redistricting

I synthesize large complex domains into easy-to-understand conceptual frameworks: I create simple maps of complex territories.