SoVI Web Map

SoVI Web Map Purpose

This static web map is to provide access to the result of our SoVI analysis. This static web map will transition to an online GIS with selected tools and dynamic analytical capabilities. In addition, information about our methods and datasets untilzed are included here.

SoVI Web Map Data

The process of creating the data necessary for the SoVI webmap was the majority of the data processing; the other outputs are repackaged versions of this base dataset. Therefore, the full methodology for preparing datasets are presented here.


Data Collection

The are two datasets required to calculate SoVI for Oklahoma and compare with hazardous weather events. The SoVI data input is produced by the U.S. Census Bureau and made available at the tract and county level, both were analyzed. The weather event data is delivered in a tabular format with some geographic information which required preparation to match the county and tract geographies from Census data. All data presented here is from the 2010 - 2014 American Communities Survey (ACS) data, which overlaps the M-SISNet survey period and is identical to the original, national SoVI time period allowing direct comparison between the two SoVI scales.


This research was conducted at both the county and tract level, necessitating TIGER shapefiles of each respective boundary layer from the begining of the research timespan (2010).


The preparation of SoVI data mostly consists of acquiring the various ACS data tables specified in The SoVI Recipe. There are a few variables which require simple arithmetic calculations using ACS data. Collation of the various CSV files into a single output, dropping extraneous fields, and calculations were all performed using custom Python scripts. There is a single variable omitted from this research, QHOSPTPC or Percent Hospitals Per Capita, included in the national SoVI due to its residence behind a paywall.

Collected variable data was subjected to a factor analysis. At this step was an opportunity to improve the fit of SoVI analysis to Oklahoma. The final SoVI value is calculated by simply summing factor values, but first the cardinality, or direction of influence on social vulnerability must be decided. For example, the Wealth Factor is negative because increased wealth reduces, or has a negative effect, on vulnerability. Once all relevant factors were assessed for influence, any deemed negative were inverted, and all factors summed to that region’s SoVI value.


Weather event data came from the NOAA Storm Events Database. This database contains a partial representation of weather events focused specifically on hazardous events that include “storms and other significant weather phenomena having sufficient intensity to cause loss of life, injuries, significant property damage, and/or disruption to commerce”. It includes twelve discrete hazardous weather events collected by the Mesonet, Emergency Managers, Local Officials, Social Media, Utility Companies, Park Managers, Broadcast Stations, Police, Fire and Rescue Responders, Forest Service Personnel, National Weather Service Observations, Amateur Radio, Trained Spotters, and Storm Chasers. These report locations have been coded as area, line, or point geometry and either coordinates or a FIPS code identifier. For the county level analysis, only the line geometry required division to conform to county shapefiles from the Census. Damages, injuries, and deaths for line events types were then assigned to the line fragments based on their proportion of total line length. At the tract level the division of lines by Census tract shapefile and proportional allocation was also completed.

Data Processing

A major undertaking of this research project was the preparation of the data processing portions in Jupyter Notebook format. These are being made available, also on this website, in order to share transparently and hopefully help other researchers interested in this topic.

The first script reads the directory it’s unzipped into for the census CSV files as well as the “varaible map” file (included, customize as needed) in order to aggregate and colate all date into a single file. The second script is a Jupyter Notebook file that completes all computations and creates the raw input for statistical analysis. These were written for the county level data, but should work on tracts as well.


> Should say more about the iterative process based on Cutter here <

The final SoVI values by County and Tract are the final outputs of these processes. These SoVI values were used to create the visualizations.


  • Peter Kedron
  • Joseph Holler
  • Clay Barrett
  • Lindsay King