Map COVID-19 Risk
Using ArcGIS Pro
How is COVID-19 impacting your state or your community? Using data for Hong Kong, complete this 50 minute tutorial to learn how to model COVID-19 transmission risk, susceptibility risk, insufficient resource risk, and exposure risk. Then review the details below describing how to gather and prepare the data needed to perform the same analyses where you live or work.
Transmission Risk
The highest potential for disease transmission will be in locations with high spatial interaction/connectivity and dense populations. These areas are shown below for Hong Kong as the darkest areas of the map.
Transmission risk map for Hong Kong
Efforts to minimize transmission (hand sanitizing stations, canceling large group events, posted information about best practices for reducing transmission, stay at home policies, and so forth) will be most important in the places ranked high for transmission risk.
Susceptibility Risk
Many people who contract COVID-19 will have mild symptoms, and most people will recover completely. So far, children are recovering fairly well , but mortality rates are high for older adults and those suffering from existing chronic illnesses. Risk increases where large numbers of susceptible people live in densely populated areas. The darkest areas of the map below are associated with the highest susceptibility risk.
Susceptibility risk map for Hong Kong
Efforts to minimize impacts to the most vulnerable populations (restricting access to nursing homes, establishing quarantine centers, limiting travel, and working from home) would be most important in the places associated with the highest susceptibility risk.
Healthcare Resource Scarcity Risk
Another concern regarding the COVID-19 outbreak is that healthcare resources will become strained, increasing the outbreak's negative effects. Risks increase where large numbers of at-risk populations coincide with few healthcare resources, shown in the darkest colors on the map below.
Healthcare resource scarcity risk map for Hong Kong
If COVID-19 begins to spread rapidly, it's possible healthcare resources will be quickly overwhelmed in these areas. Having a plan in place to ramp up healthcare resources (such as proposed quarantine sites, test kits, ventilators, and protective clothing) will be essential.
Exposure Risk
People in locations with many confirmed COVID-19 cases have a larger probability of being exposed to and contracting the virus. These areas of highest exposure risk (based on simulated data, not real data) are shown in the darkest colors below.
Exposure risk map for Hong Kong
High exposure risk locations would be priority areas for minimizing social interaction : keeping children home from school, limiting visits to senior communities and hospitals, canceling events, and encouraging work from home. People experiencing symptoms will need to self-quarantine and stay away from others not infected.
Next Steps
Complete this step-by-step tutorial to create each of the risk maps above, then gather and prepare data to analyze COVID-19 risk for your own areas using the guidelines below.
Create Input Layers for the Risk Analyses
Determine the study area analysis boundaries. Begin by identifying the geography appropriate for your analysis. This might be census tracts, neighborhood polygons, precincts, or whatever makes most sense*. If you don't already have administrative boundary polygons for your analyses, you can probably find them in the Living Atlas . Once you have your analysis polygons, select an appropriate projection and consider running the Repair Geometry tool before beginning your analysis.
*Hong Kong Constituencies were used for the analyses shown here.
Create a worst-case target polygon. You will also need to create a target risk polygon feature class. This polygon will contain the worst-case values* for all of your risk variables collected below.
*To create the worst-case target polygon for Hong Kong, one constituency was selected, copied to a new feature class, and moved away from the study area (just off shore). Each attribute in the copied target polygon was edited to reflect the worst-case values found throughout the study area. The target polygon, for example, had the highest number of seniors for any of the constituencies, a value of 0 for healthcare resources, the highest population density, the largest spatial interaction risk index value, and so forth.
Gather and prepare transmission risk data
Gather variables relating to transmission risk such as those listed below. Use the Enrich tool in ArcGIS Pro, search the Living Atlas , or find the data from another data source.
- Population density
- Spatial interaction density (sources include unacast , Facebook movement data , Terralytics data , Venntel , Safegraph , and other sources)*.
*For the Hong Kong analyses shown here, the spatial interaction layer was created from road connectivity. While this provides a baseline for place connectivity, it doesn't allow dynamic analyses of the changing patterns of spatial interaction that occur due to fear, closures, policy changes, and so forth. A better approach is to create the spatial interaction layer from movement data (see potential sources above). A third option is to estimate spatial interaction potential using a gravity model. Guidelines for all three of these approaches are provided below.
Build the spatial interaction index from a road network. To create the spatial interaction layer from the road network, you will need access to a road network data set such as Streetmap Premium .
- Use the Feature to Point tool to create points for your administrative boundary polygons.
- Run the Generate Network Spatial Weights tool setting the Input Feature Class to your administrative points and providing a network data set. Compute the driving distances for each point to every other point. Use Inverse for the Conceptualization of Spatial Relationships parameter and do not Row Standardize.
- Use the Convert Spatial Weights Matrix to Table tool to export the inverse distances to a simple table.
- Run Summary Statistics to sum the inverse distance weights associated with each administrative boundary.
- Use Join Field to add the summed weights back to the administrative boundaries. You can then use Alter Field to give the joined field an appropriate name such as Spatial Interactive Index.
Steps to create the spatial interaction index layer
Create a spatial interaction index from procured human movement data. To create a spatial interaction layer from movement data you will convert it to a format of Origin ID, Destination ID, and Weight. As a check, make sure weights are larger between closer locations, and smaller between locations that are far from each other (you may need to invert the weights: 1/distance). Sum the weights associated with each origin ( Summary Statistics ). Use the origin sum as the spatial interaction index for the associated polygon.
Estimate spatial interaction using a gravity model. Follow the instructions below.
- Download and unzip the Gravity, Spatial Interaction, Movement, and Centrality Modeling Tools .
- From the Catalog pane in your ArcGIS project, click Toolboxes and choose Add Toolbox.
- Navigate to the GravityModeling.tbx file you unzipped.
- Expand the toolbox and choose the Calculate Gravity index and Probabilistic Population Movement tool.
- For Input Features, choose your analysis polygon layer. For Weight Field use your total population field. Enter a path name for the Output Feature Class parameter. Set the Number of Neighbors to 0 to indicate you want to use all polygons, constrained by distance.
- Estimate the distance most people in your study area travel (average commute time, for example). Enter this value for the Neighborhood Distance parameter. If you want detailed place to place spatial interaction estimates, provide a path name for the Output Weights Matrix parameter.
- The result layer will contain a field called Gravity Index (High values have higher weights and spatial interaction/influence). Use the Join Field tool to add the Gravity Index field values to your analysis polygons. You can then use the Alter Field tool, if you want, to change the field name to Spatial Interaction Index.
Parameters for creating spatial interaction estimates
With these inputs, you are ready to create your own transmission risk map. Follow the instructions in the step by step tutorial .
Gather and prepare susceptibility risk data
Gather variables relating to the population most at risk such as those listed below. Use the Enrich tool in ArcGIS Pro, search the Living Atlas , or find the data from another data source.
- Seniors
- People living with chronic illnesses
- Households below the poverty level
- The CDC Social Vulnerability Index
- Lifestyle variables contributing to poor health such as smoking
- Relative infant mortality; even if no other data is available, this is a good surrogate for overall population health
- Population density*
*For the Hong Kong analysis, variables include adults age 60+, an index for spending on tobacco products (since COVID-19 is a respiratory illness), an index for purchasing power (to reflect income/poverty), and population density.
Using the Enrich tool to get data inputs
With these inputs, you are ready to create your own susceptibility risk map. Follow the instructions in the step by step tutorial .
Gather and prepare insufficient resource risk data
Gather variables representing the ability to respond to and treat people who contract the virus, such as those listed below.
- Staffed hospital beds for COVID-19 cases,
- Doctors per N people (N might be 1000, or 10,000, for example)
- Other variables representing treatment/response capacity*
- Population at risk (from the previous analysis)
*For the Hong Kong analysis, the number of hospital beds was used to reflect how prepared a region is to handle virus patients. The data came from a variety of web sources , and from Esri China ; some of the hospital data was geocoded from addresses. The population at-risk was defined as seniors 60+ for the purposes of this analysis.
Use the steps below to create the healthcare resource index. You'll use the Kernel Density tool to create a resource density surface, then summarize the density values into your analysis polygons. If your study area doesn't contain large areas of water, coastline, or other physical barriers, you can skip the first section of this workflow (go directly to Get resource counts).
- Extend study area polygons to incorporate water and other barriers
You'll first create non-overlapping buffers.
- Create Thiessen Polygons around each of your analysis polygon centroids. If you didn't create these centroids already, do so using the Feature to Point tool.
- In addition, create Buffers around each centroid. The buffers should be large enough to cover all water areas and other physical barriers.
- Clip the Thiessen polygons by the buffers to create the non-overlapping buffers.
- Erase the analysis polygons from the clipped result.
- Merge the analysis polygons with the polygon extension pieces based on analysis polygon ID.
- Dissolve the analysis polygons with their associated extensions.
For Hong Kong, the result looks as follows:
Hong Kong constituency polygons extended to cover water areas
Steps for extending study area polygons
Get resource counts
You'll use the Kernel Density tool to distribute the healthcare resources across the analysis polygons, then summarize the number of resources associated with each polygon.
- Use Kernel Density to get the expected number of healthcare resources in each extended analysis polygon.
- Use Zonal Statistics to sum the resource counts within each extended polygon.
- Use Join Field to get an estimate of the accessible healthcare resources for each analysis polygon.
Steps to get healthcare resource counts
With these inputs, you can create your own healthcare resource scarcity risk map. Follow the instructions in the step by step tutorial .
Gather and prepare exposure risk data
This workflow is for people who have access to real, address-level, COVID-19 case data*. The assumption is that you won't be sharing this data at any point in the workflow process. Consult HIPAA regulations , if appropriate. You will be computing and mapping relative exposure distances as part of this workflow. To ensure the distances can’t be used to reveal case identities, you’ll snap cases to their nearest road intersections. Later in the workflow, you’ll measure exposure risk distances from population centers constructed from randomly placed points (rather than from the analysis polygon centroid). Once the exposure risk map is created, you’ll delete the moved cases and the population center points.
*For the Hong Kong analysis shown here, the case data was fabricated from generalized real case data, and distances were quickly measured from constituency polygon centroids rather than from population centers.
Obscure case point data
What you'll need:
- Road intersections. These can be obtained from the Streetscarto feature class included with Streetmap Premium , or by processing a street layer such as TIGER/Line files or by using North America Detailed Streets :
-- If you obtain your street layer from an online source (like ArcGIS Online), copy it to your local disk to improve processing performance.
-- Run Feature Vertices to Points to get the road intersections. For Point Type, choose Both start and end vertex.
- Address-level confirmed cases as a point feature class (geocode these, if necessary).
- Use the Near tool to determine the farthest distance any case point is from a road intersection. The Near tool will create a Near_Dist field in the case layer. Sort this field from largest to smallest to determine the largest distance needed to ensure each case will be able to snap to an intersection. If the largest Near_Dist value is 27,605 feet, for example, round up to 28,000 ft.
- You'll use the Snap tool next. It moves points, so before going further, use Copy Features to create a backup copy of your input points. This is important!
- Run the Snap tool with your case points as the Input Features. For the Snap Environment, set Features to your road intersections layer, choose Vertex for Type, and type the largest Near_Dist value you found in step 1, for the Distance parameter.
Steps to obscure case points
Create block group population centers
For Hong Kong we simply measured distances to cases from constituency centroids. A more accurate approach is to create points reflecting population centers. The workflow to construct population center points is outlined here. It has a random component to confound re-identification of cases if you decide to distribute the summed case distances with your exposure risk map.
What you'll need:
- Small geography polygons with population counts. If you're using census block groups for your analysis, for example, you can use block areas for your small geography polygons. For places outside of the US, use Enrich to get population for areas smaller than your analysis areas, look for settlement point data , population surfaces , or use building footprints .
You'll create random points in each small geography polygon representing a percentage of the total population. You'll then compute the mean center for all random points associated with your analysis polygons.
- Clip the small area polygons if necessary (if they extend into the water or outside the study area).
- For each small area polygon, calculate a field reflecting 10, 25, or 50 percent of the population (this is to avoid running out of memory and to improve performance in later steps; aim for about 3 or 4 million population points total from the next step).
- Use Create Random Points to create the computed number of reduced population points for each small area polygon.
- Use Spatial Join to add the analysis polygon IDs to each small area polygon.
- Remove points with Null IDs or falling outside the study area.
- Use Mean Center to compute the population center for each analysis polygon.
Steps to create population center points
Compute and sum distances to known cases
- Determine what 10 percent of all cases is. For example, if there are 3,160 cases, multiply by 0.10 to get 316.
- Use Generate Near Table to compute the distances between the population centers you created and the closest (10 percent) cases.
- Use Join Field to add the administrative boundary IDs to the center point records.
- Use Summary Statistics to sum the distances by administrative boundary (IN_FID).
- Use Join Field to add the summed distances to the administrative boundary feature class.
- Use Alter Field to create a more appropriate field name.
Interpreting results. The administrative boundaries with the smallest summed distances have the largest exposure risk.
Steps to compute and sum distances
As outlined in the tutorial , use Similarity Search to create the Exposure Risk Map. To avoid re-identification of case points, delete the obscured case points and the population center point layers.
Create risk profiles
Once you have all 4 risk maps for your study area, complete step 6 of the Analyze COVID-19 Risk Using ArcGIS Pro tutorial to map risk profiles.
Tips for creating the risk profiles:
- Transfer the risk rankings to your administrative boundaries layer (you should have a ranking for transmission risk, susceptibility risk, insufficient resource risk, and exposure risk).
- Add a short integer field called SEED to your administrative boundaries layer and calculate all values to be 0.
- Sort the transmission risk field from worst to best ranking. Set the SEED value to 1 for the polygon associated with the worst transmission risk.
- Repeat step 3 for each of the risk ranking fields. Unless you have ties, you will end up with 4 polygons having a SEED value of 1 and all other polygons having a SEED value of 0.
- Run the Multivariate Clustering tool setting the Initialization Method to User defined seed locations and the Initialization Field to your SEED field.
Unlike the risk maps you created, the output risk profile map shows you which polygons share similar risk challenges. Use these risk profiles to guide policies for minimizing disease spread.
Concluding Comments
By completing the tutorial, you'll learn how to analyze risk for transmission, susceptibility, healthcare resource scarcity, and exposure, in the face of the COVID-19 pandemic. If you are using human movement data to estimate spatial interaction, recreate the transmission risk map as changes to human movement occur (as the result of fear, social distancing, stay home policies, and business closures). If you are getting regular updates with addresses of new confirmed COVID-19 cases, recreate the exposure risk map regularly. If you can represent healthcare resources as available resources, update the insufficient resource risk map periodically to help guide resource allocation. In addition, as the risk maps change, you may want to re-create the risk profiles map and use it to guide targeted remediation. Additional resources and analysis strategies can be found on the Esri COVID-19 Hub .
Please reach out if you have questions.