Prepare index variables

The first step to creating a heat risk index is to prepare the input data. You'll use three variables for your index: average summer surface temperature, percent of area without tree cover, and population density. Each of these inputs is derived from ArcGIS Living Atlas of the World data, and can be repeated or customized for your own neighborhood or other area of interest.

Add data for the study area

The example heat risk index (HRI) will be calculated for Sevilla, a city in southern Spain. Before processing the data that will comprise the risk index, you'll find and prepare census data for Sevilla. This layer will be used to filter and clip global raster services, and will allow you to create the index within neighborhood-level geometries meaningful to local planning and intervention.

  1. Start ArcGIS Pro. If prompted, sign in using your licensed ArcGIS organizational account.
    Note:

    If you don't have access to ArcGIS Pro or an ArcGIS account (for ArcGIS Online or ArcGIS Enterprise), see options for software access.

  2. Under New Project, click Map.

    Map template under New Project

  3. In the Create a New Project window, for Name, type Sevilla Heat Resilience Index. Click OK.

    The project is created. First, you'll add a boundary layer to the map. For this tutorial, you'll use Spanish census section boundaries from the ArcGIS Living Atlas.

    Tip:
    Depending on your goals for the index, different boundaries may be a better choice. For example, if local decisions are made at the neighborhood or city council level, it may be more meaningful to use those boundaries in order to provide decision makers with specific context. In other cases, if your region doesn't have small enough administrative or census units or if you want to analyze at smaller resolutions, you might consider creating tessellations, or a smaller grid, for analysis. Keep in mind that you'll likely need to add demographic data to whichever geography you choose.

  4. On the ribbon, click the Map tab. In the Layer group, click the Add Data button.

    Add Data button

  5. In the side menu of the Add Data window, under Portal, click Living Atlas.
  6. Search for Spain census sections owner:esri_dm. Click the Spain Census Section Boundaries feature layer to select it.
    Tip:

    Adding owner: and the owner name to a search filters search results by a specific owner.

    Spain Census Section Boundaries layer in the list of search results

  7. Click OK.

    The layer is added to the map and the map zooms to Spain. You'll filter the census sections to only show Sevilla.

  8. In the Contents pane, right-click ESP_CensusSection and choose Attribute Table.

    The attribute table opens. The city where each census section is located is listed in the Name field.

    Note:

    If you don't see the Name field, click the Options button in the attribute table ribbon and click Show All Fields.

  9. In the attribute table, for Selection, click Select By Attributes.

    Select By Attributes button in the attribute table

    The Select By Attributes tool opens.

  10. In the Select By Attributes tool, build the query Where Name is equal to Sevilla and click OK.

    The bottom of the attribute table indicates that 521 sections are selected. You'll save a copy of this filtered layer to your project so that you can work with the data.

  11. On the ribbon, click the Analysis tab. In the Geoprocessing group, click Tools.

    The Geoprocessing pane opens.

  12. In the Geoprocessing pane, search for and open Export Features (Conversion Tools).
  13. For Input Features, choose ESP_CensusSection. For Output Feature Class, type Sevilla_Census_Sections.

    Export Features tool parameters

  14. Click Run.

    When the tool is finished running, the Sevilla_Census_Sections layer is added to the Contents pane. You can now remove the original census sections layer.

  15. In the Contents pane, right-click ESP_CensusSection and choose Remove.

    Next, you'll symbolize the Sevilla_Census_Sections layer so that you can see it on top of the layers you'll add later.

  16. In the Contents pane, right-click Sevilla_Census_Sections and choose Symbology.
  17. For Symbol, click the current symbol swatch. On the Gallery tab, under ArcGIS 2D, click Black Outline (1 pt).

    Black Outline (1 pt) style in the gallery

    The layer also has a transparency applied that makes the boundaries difficult to see against the basemap.

  18. On the ribbon, click the Feature Layer contextual tab. In the Effects group, change Transparency to 0 percent.
  19. In the Contents pane, right-click Sevilla_Census_Sections and choose Zoom To Layer.

    Symbolized Sevilla_Census_Sections layer

    Your area of interest layer is now symbolized and centered on the map. You'll use this extent later to clip the raster data for use.

  20. On the Quick Access Toolbar, click the Save Project button.

    Save Project button

    The project is saved.

Prepare Landsat surface temperature data

The first variable in your index is average summer surface temperature, which can be derived from global Landsat Level-2 imagery available in ArcGIS Living Atlas. To prepare this input, you'll add the image service to your map and find scenes available for your area of interest. Then, you'll copy the raster locally and use the Zonal Statistics as Table tool to determine the maximum value within each Sevilla census section.

Tip:
Depending on your study area and available data, you might choose to use a different source for heat data. For example, you might prefer to download Landsat data from the Landsat Explorer app. The app allows you to select and preview scenes before downloading them. Another option is to use high resolution urban heat island data from the National Integrated Heat Health Information Systems (NIHHIS) and Climate Adaptation Planning and Analytics (CAPA) program. NIHHIS-CAPA data is available for specific cities in the U.S. and around the world who have participated in the heat mapping campaign. See if your city has been mapped or how to apply.

  1. On the ribbon, click the Map tab. In the Layer group, click the Add Data button.
  2. In the Add Data window, ensure Living Atlas is selected. Search for and add the Landsat Level-2 imagery layer owned by esri_imagery.

    Landsat Level-2 imagery layer from ArcGIS Living Atlas

    The Landsat Level-2 imagery layer is added to your project. The Level-2 collection of science products has atmospherically corrected surface reflectance and surface temperature data dating to 1982. You'll adjust the Landsat service properties to get only the temperature data you're interested in.

  3. In the Contents pane, double-click Landsat Level-2.

    The Layer Properties window appears.

  4. In the Layer Properties window, click the Processing Templates tab.
  5. For Processing Template, choose Surface Temperature (Celsius).

    Band 10 Surface Temperature in Celsius processing template

  6. Click the Mosaic tab. For Mosaic operator, choose Mean.

    This service uses a mosaic dataset to manage the decades' worth of scenes. By default, it displays the first scene. Selecting the mean operator will calculate an average temperature value from all the scenes available for your area of interest and based on the filters you'll apply. Next, you'll add a definition query with two arguments: Cloud Cover is less than or equal to 10 percent and scenes were acquired during summer months.

  7. Click the Definition Query tab and clickNew definition query.

    New definition query button

  8. Build the expression Where Cloud Cover is less than or equal to 0.10. Click Add Clause.

    Cloud cover definition query

    This query will filter out all scenes with more than 10 percent cloud cover. Clouds and cloud shadows in Landsat scenes adversely impact the results of any analysis.

  9. Build the expression And Month includes the value(s) 6,7,8.

    This clause will include only months that are considered summer months in the northern hemisphere. Your query now has two clauses.

    Query with two clauses

  10. For Query 1, click Apply. In the Layer Properties window, click OK.

    The service may take a few minutes to update. When it's finished, the scenes may show as a gray rectangle. To visualize the average summer temperatures in the layer, you'll symbolize the raster.

  11. In the Contents pane, right-click Landsat Level-2 and choose Symbology.
  12. In the Symbology pane, for Statistics, click Dataset and choose DRA.

    Statistics set to DRA in the Symbology pane

    DRA is short for dynamic range adjustment, which automatically adjusts your active stretch type as you navigate around your image based on the pixel values in your current display.

  13. For Color scheme, choose a graduated color ramp such as Inferno.
    Tip:

    Point to color ramps to see their name.

    Surface temperature data from Landsat imagery

Calculate the average summer surface temperature

Now that you've set the processing template and filters on the Landsat imagery, you'll copy just these scenes of interest to your project.

  1. In the Contents pane, right-click Landsat Level-2 and choose Attribute Table.
  2. At the bottom of the attribute table, click the Filter by Extent button.

    Filter by Extent button

    The table is filtered to show only the scenes available in the map's current extent, the Sevilla region.

  3. Close the attribute table. In the Contents pane, right-click Sevilla_Census_Sections and choose Zoom To Layer.
  4. In the Geoprocessing pane, open the Copy Raster tool.
  5. For Input Raster, choose Landsat Level-2.
    Note:

    A red X may appear next to the Input Raster parameter, indicating the parameter is invalid. The Landsat Imagery service only allows exports of 4000x4000 pixels at a time. Before running this tool, you'll set a processing extent to ensure that the raster export is within these limits.

  6. For Output Raster Dataset, click the Browse button.

    You'll save this raster as a TIFF file, which can't be stored in a geodatabase.

  7. In the Output Raster Dataset window, under Project, click Folders. Double-click the Sevilla Heat Resilience Index project folder.
    Note:

    If you gave your project a different name, the project folder's name will also be different.

  8. For Name, type Avg_SurfaceTemp_Sevilla.tif.

    Name parameter in the Output Raster Dataset window

  9. Click Save.
  10. In the Geoprocessing pane, click the Environments tab. For Extent, click the Extent of a Layer button and choose Sevilla_Census_Sections.

    Extent parameter in the Environments tab

    Setting a processing extent resolves the error condition you saw when you set the input raster.

  11. Click Run.

    When it's finished processing, the Avg_SurfaceTemp_Sevilla.tif raster is added to the Contents pane and the map.

    Note:

    You may receive a warning message after the tool completes, stating WARNING 003485: Processing templates will not be saved to the output raster dataset because the input layer already has an active processing template. This warning is expected because only the imagery data gets copied and not any of the service processing templates.

  12. In the Contents pane, right-click Landsat Level-2 and choose Remove.

    Copied surface temperature raster layer

    Now that your area of interest's surface temperate raster is copied to a local file, you can use the Zonal Statistics as Table tool to summarize all the temperature values within each census polygon to determine the average value.

  13. In the Geoprocessing pane, open the Zonal Statistics as Table (Spatial Analyst Tools) tool.

    The Zonal Statistics as Table tool calculates statistics of the raster cells within the zones of another dataset. In this case, you'll calculate the Maximum statistic to find the highest average temperature within each census section.

  14. Enter the following parameters:
    • For Input Raster or Feature Zone Data, choose Sevilla_Census_Sections.
    • For Zone Field, choose ID.
    • For Input Value Raster, choose Avg_SurfaceTemp_Sevilla.tif.
    • For Output Table, type Avg_SurfaceTemp_Sevilla.
    • For Statistics Type, choose Mean.

    Parameters for the Zonal Statistics as Table tool

  15. Click Run.

    The Avg_SurfaceTemp_Sevilla table is added to the Contents pane under Standalone Tables.

  16. In the Contents pane, right-click the Avg_SurfaceTemp_Sevilla table and choose Open.

    The MEAN field shows the mean statistic. You'll rename this field for clarity.

  17. On the ribbon, click the Standalone Table contextual tab. In the Data Design group, click Fields.

    Fields button in the Data Design group

  18. In the Fields table, in the Alias column, double-click MEAN to edit the record. Type Avg Summer Temp (C).

    Alias for the MEAN field

  19. On the ribbon, in the Manage Edits group, click Save to save your edits to the table.
  20. Close both tables and save the project.

    You have now completed the workflow for preparing the first input in the heat resilience index. First, using ArcGIS Living Atlas data, you derived land surface temperature for an area of interest using processing templates on the Landsat Level-2 image service. Then, you adjusted properties on the service to filter the scenes by attribute and calculate average values across the filtered scenes. You also applied a spatial filter to limit the scenes to an area around the census boundaries. After exporting the imagery to your project, you calculated the average surface temperature within each census section.

Derive lack of tree canopy

The second input for the heat risk index is the lack of tree canopy. This input is derived from the European Space Agency WorldCover 2021 Land Cover imagery service in ArcGIS Living Atlas.

Tip:
Depending on your goals for the index, you might choose different to use different classification methods or different data. Because the goal of this index is to identify areas for tree planting campaigns, you're reclassifying the land cover layer to show where trees already are. If you were building the index to identify areas for other types of interventions, such as removing impervious surface or creating rain gardens, you may choose to reclassify the land cover data to show how much green space existed by identifying the tree cover, shrubland, and grassland in each census section. Or, you might choose to use a measure of biomass and vegetation health such as the Normalized Difference Vegetation Index (NDVI) or the Soil Adjusted Vegetation Index (SAVI). These measures are included in the Landsat Level-2 service, and they can also be calculated in ArcGIS Pro.

  1. On the ribbon, click the Map tab and click the Add Data button. From the Living Atlas portal, add the European Space Agency WorldCover 2021 Land Cover layer owned by esri_environment.

    ESA WorldCover 2021 layer from the Living Atlas portal

    This layer is a global land cover dataset that has 11 land cover classes. Out of these classified pixels, you'll only need those showing tree cover. You'll use the Reclassify tool to isolate only the tree cover pixels.

  2. In the Geoprocessing pane, open the Reclassify (Spatial Analyst Tools) tool.
  3. For Input raster, choose European Space Agency WorldCover 2021 Land Cover. Ensure that Reclass field is set to ClassName.
  4. In the Reclassification table, leave the New value for Tree Cover set to 1. Change all the other New values except for NODATA to 0.

    Reclassify tool parameters

  5. For Output raster, click Browse. Browse to the Sevilla Heat Resilience Index project folder.
  6. For Name, type Tree_Canopy_Sevilla.tif. Click Save.

    To process only the pixels relevant to your area of interest, you'll use the processing extent to clip the raster.

  7. Click the Environments tab. Under Processing Extent, for Extent, click the Extent of a Layer button and choose Sevilla_Census_Sections.
  8. Click Run.

    When the raster is finished processing, it is added to the Contents pane and drawn on the map.

  9. In the Contents pane, right-click European Space Agency WorldCover 2021 Land Cover and choose Remove.

    Reclassified raster on the map

    Note:

    Your raster may have different symbology than the example image.

    The Tree_Canopy_Sevilla.tif layer has two classes: tree cover and everything else. You can use this raster to calculate the lack of tree cover variable that will be an input to your index.

    The lack of tree canopy is calculated using the formula 100 – Percent Tree Canopy.

  10. In the Geoprocessing pane, open the Zonal Statistics as Table (Spatial Analyst Tools) tool.

    This time, you'll use the tool to summarize the number of tree cover pixels within each census polygon. The tool also counts the total number of pixels within each zone (polygon), so you can calculate the percentage of the polygon pixels covered with trees.

  11. Enter the following parameters:
    • For Input Raster or Feature Zone Data, choose Sevilla_Census_Sections.
    • For Zone Field, choose ID.
    • For Input Value Raster, choose Tree_Canopy_Sevilla.tif.
    • For Output Table, type Tree_Pixels.
    • For Statistics Type, choose Sum.
  12. Click Run

    The Tree_Pixels table is added to the Contents pane under Standalone Tables.

  13. Open the Tree_Pixels table.

    The table contains two columns of interest: COUNT, which is the total number of pixels within each polygon zone, and SUM, which is the sum of tree cover pixels. You'll calculate the percent tree cover and percent lacking tree cover for each census polygon using the following formulas:

    • PCT_Tree_Cover = (Sum / Count) * 100
    • PCT_Lacking = 100 - PCT_Tree_Cover
  14. In the attribute table, click Calculate.

    Calculate button

  15. In the Calculate Field tool, for Field Name (Existing or New), type Pct_Tree_Cover. For Field Type, choose Float (32-bit floating point).
  16. Under Expression, for Pct_Tree_Cover =, build the expression (!SUM! / !COUNT!) * 100 and click OK.

    The new field is added to the end of the attribute table.

  17. Click Calculate. For Field Name (Existing or New), type Pct_Lacking, and for Field Type, choose Float (32-bit floating point).
  18. For Pct_Lacking =, build the expression 100 - !Pct_Tree_Cover! and click OK.

    The Tree_Pixels table has two new fields, Pct_Tree_Cover and Pct_Lacking. The Pct_Lacking attribute represents the percentage of the census section lacking tree cover and is the second input to the heat resilience index.

    Pct_Tree_Cover and Pct_Lacking fields

  19. Close the Tree_Pixels table and save the project.

Calculate population density

The final input to the heat risk index is population density. This component of the index will allow you to prioritize action in populated areas where the most people may benefit from the intervention. You'll derive the population density input from Spanish census data in the Sevilla_Census_Sections layer.

Tip:

Depending on your goals for the index, consider adding additional demographic variables. For instructional purposes, in this tutorial you're only using a general measure of population density as a means of representing where tree planting campaigns might serve the most people. When building your index, this input likely will need to be more nuanced - consider adding demographic data to indicate where populations are most vulnerable to heat stress. People who are more vulnerable to heat stress include children and older adults, people with strenuous outdoor jobs, people chronic health conditions, people with disabilities, and people experiencing homelessness.

When selecting demographic variables, it's best practice to work closely with stakeholders to identify their priorities and determine how to represent them in the index. Depending on your local priorities and how many indicators you choose to include, consider making a subindex to represent population and vulnerability in your index.

  1. Open the attribute table for the Sevilla_Census_Sections layer.

    The layer contains attributes for both total population and area in square kilometers. You'll calculate a new field by dividing population by area.

  2. In the attribute table, for Field, click Calculate. In the Calculate Field window, for Field Name (Existing or New), type PopDensity, and for the Field Type, choose Float (32-bit floating point).
  3. Under Expression, for PopDensity =, copy and paste the expression !TOTPOP_CY! / !AREA!.

    Calculate the PopDensity attribute.

    Note:

    Though the attributes are shown by their aliases, or readable names, in the Fields pane, they populate in the expression using their field name.

  4. Click OK.

    The PopDensity field is added to the table. The three derived inputs are now ready to be combined into the heat risk index and symbolized on a map. You'll first transfer all the inputs to the Sevilla_Census_Sections layer for processing.

  5. In the Geoprocessing pane, open the Join Field tool.
  6. Enter the following parameters:
    • For Input Table, choose Sevilla_Census_Sections.
    • For Input Join Field, choose ID.
    • For Join Table, choose Avg_SurfaceTemp_Sevilla.
    • For Join Table Field, choose ID.
    • For Transfer Fields, choose Avg Summer Temp (C).

    Join Field tool parameters

  7. Click Run.

    When the tool finishes running, the Avg Summer Temp (C) field is added to the Sevilla_Census_Sections table.

  8. In the Join Field pane, change Join Table to Tree_Pixels and change Avg Summer Temp (C) to Pct_Lacking. Click Run.

    Now, all three inputs are in the same table.

  9. Close the table. Save the project.

You've prepared the variables you'll use to create your heat index. You're ready to create the index.


Create a heat risk index

With all the index inputs prepared, you'll create your index. There are many ways to create, combine, and interpret indices based on the purpose; in this tutorial, you'll use the Calculate Composite Index tool. This tool incorporates some data preprocessing and data combination steps to help you choose an index method that fits your data. If you're working with different study areas or variables, adjust your index methods accordingly using the Calculate Composite Index tool documentation and best practices guide.

Understand index inputs

To create an effective index, you'll need to choose what methods to use to preprocess and combine the data. Preprocessing steps in the Calculate Composite Index tool ensure that variables are compatible and can be combined in an index. In order to choose these steps, you first need to understand the distribution of input variables. You can also choose to deal with inconsistencies like skewness and missing values at this stage. To understand the variables, you'll use the Data Engineering view, which has tools for exploring, visualizing, and cleaning your data.

  1. In the Contents pane, uncheck Tree_Canopy_Sevilla.tif and Avg_SurfaceTemp_Sevilla.tif to turn them off.
  2. Right-click Sevilla_Census_Sections and choose Data Engineering.

    The Data Engineering view opens. You'll use the Data Engineering tools to view histograms of each of your input variables, symbolize them on the map, and calculate summary statistics to understand the values.

  3. In the Fields panel, click PopDensity. Press and hold the Shift key, then click Pct_Lacking to select the three index inputs you've prepared.
  4. Drag the three selected fields into the Statistics panel.

    Add fields to the Statistics panel

    The three fields are added. Next, you'll calculate statistics.

  5. In the Statistics panel, on the ribbon, click Calculate.

    Statistics are calculated for each input, including mean, median, outliers, and skewness. Next, you'll map the inputs and create histograms to understand their distribution.

  6. In the Fields panel, point to the PopDensity field and click Update Symbology.

    Update Symbology button

    The map updates to display the census sections based on their population densities. There are higher density values in smaller census areas near the center of the city, while larger census areas and areas on the outskirts of the city have lower densities.

    Map showing population density field in Sevilla_Census_Sections layer

  7. In the Statistics panel, for the PopDensity field, right-click the chart preview and choose Open histogram.

    Open the PopDensity histogram

    The PopDensity histogram appears. The histogram shows the distribution of the data, which has a slight positive skew.

  8. Close the histogram. In the Data Engineering view, scroll until you see the Skewness statistic.

    The skewness statistic for the PopDensity field is 0.823. Values less than -0.5 or greater than 0.5 are generally considered skewed. Having high skewness in a variable can change its impact on the index results. While the Calculate Composite Index tool has preprocessing methods available that can deal with skewness, such as scaling, these methods are applied to every variable used as an input, not just skewed variables. Using the Data Engineering tools to deal with variables ahead of using the composite index tool gives you more control over individual variables. You'll use the Transform Field tool to change the PopDensity variable to a more normal distribution.

  9. For the PopDensity field, right-click the Skewness statistic and choose Transform Field.

    Transform Field tool

  10. In the Transform Field tool, make sure the Transformation Method is Box-Cox.

    You'll accept the rest of the defaults. The Shift parameter can be used if any values in the input table are negative. The Power parameter can be used to specify the value of the power. If no value is provided, the best approximation of a normal distribution curve will be used and displayed in the geoprocessing messages.

  11. In the Transform Field tool, click Ok.

    Run the Transform field tool

    When the tool finishes running, the new field is added to the Sevilla_Census_Sections table.

  12. In the Data Engineering view, in the Fields panel, drag PopDensity_BOX_COX into the Statistics panel and click Calculate.
  13. Use the histogram and statistics to compare the PopDensity and PopDensity_BOX_COX fields.

    The Skewness statistic for PopDensity_BOX_COX is -0.033, which is closer to a normal distribution. Now you'll repeat the process to map and transform the PCT_Lacking field, which has a strong negative skew.

  14. In the Fields panel, point to the PCT_Lacking field and click Update Symbology.

    Map of Pct_Lacking attribute

    The map updates to show census sections by percent of tree cover. Darker shades of green show areas with a higher percent of land lacking tree cover. Many of the smaller census sections in the downtown area have little tree cover. There are also several large outlying census sections that have little tree cover. To understand these patterns in greater detail, you can change the basemap to view satellite imagery.

  15. On the ribbon, on the Map tab, click Basemap and choose Imagery Hybrid.

    The imagery shows that many of the large outlying census sections contain industrial parks, warehouse districts, and agricultural fields with few trees. Because there are many census sections with no tree cover, the variable is highly skewed. You'll use the Transform Field tool again to change the distribution into something closer to a normal distribution.

  16. For the PCT_Lacking attribute, right-click the chart preview and choose Transform Field.
  17. In the Transform Field tool, make sure the Transformation Method is Box-Cox and click Ok.
  18. In the Data Engineering view, in the Fields panel, drag Pct_Lacking_BOX_COX into the Statistics panel and click Calculate.
  19. Use the histogram and statistics to compare the Pct_Lacking and Pct_Lacking_BOX_COX fields.

    Because the skew was stronger on this field, the transformation resulted in a new Skewness parameter of -0.233, which still lies within the -0.5 to 0.5 range that you're using as a rough approximation of normal distribution.

    The final field to map is the Avg Summer Temp (C) field.

  20. In the Fields panel, point to the Avg Summer Temp (C) field and click Update Symbology.

    Map of Average Summer Temperature

    The final attribute, Avg Summer Temp (C) draws on the map. Interestingly, the large outlying census sections also appear to have higher temperatures. This could be because of several reasons, such as an artifact of data processing or the size of the sections compared to the smaller downtown sections. For example, high temperatures in the industrial park and warehouse districts may drive up the average value for the entire section. In the Statistics pane, you can see that the minimum and maximum average temperatures are 40.91 and 50.84 degrees Celsius, respectively.

    Now that you have a better understanding of the index inputs, you can move on to choosing preprocessing steps and index methods.

Select index methods

Next, you'll choose your preprocessing steps. Preprocessing in the Calculate Composite Index tool focuses on reversing variables to make sure they're consistent in direction, and on scaling variables to make sure they're consistent in range and unit. If you're working with different study areas or variables, refer to the Calculate Composite Index tool documentation and best practices guide to choose appropriate preprocessing steps and combination methods.

  1. In the Geoprocessing pane, search for and open the Calculate Composite Index tool.

    While there are many ways to create indices, you'll use this tool because it combines multiple data processing steps into a single tool and creates a series of charts to help you validate the results of the index tool.

    First, you'll add the three inputs you've prepared and set the preprocessing parameters you want to use.

  2. For Input Table, choose Sevilla_Census_Sections. For Output Features or Table, type Sevilla_HRI_MeanofScaled.

    Tip:
    It may be beneficial to test several preprocessing and index combination methods. To help differentiate them later, choose an output name that represents the parameters used.

  3. For Input Variables, click the Add Many button.

    Add Many button

  4. Choose Avg Summer Temp, PopDensity_BOX_COX, and Pct_Lacking_BOX_COX. Click Add.

    Three index inputs for the Input Variables parameter

    Note:

    If your Input Variables are listed using field names instead of aliases, click the Field list settings button and choose Show Field Aliases.

    Each input has a check box to reverse direction. Depending on how you prepared your input variables, you may need to reverse a variable's direction. To decide whether to reverse a variable, you need to make sure that all high values represent a common outcome for the index. In this case, you prepared all your variables so that high values indicate the census section's benefit from tree planting would be greater, and low values indicate that the census section's benefit would be lower. Because the direction of the values are compatible, you don't have to reverse any of them.

    Next, you'll choose how to scale the inputs. Scaling is the method used to standardize all the inputs to a common range. Because you're working with variables with different units and scales, you need to standardize them before you can combine them. For example, it's hard to compare the impacts of a change of one degree Celsius on a census section versus a change of one percent tree coverage. Scaling these variables will map the values to a common range, such as 0 to 1.

    Scaling methods depend on your data and your goals for the index. For example, if you're working with very skewed data or the ranks of each variable in the dataset are more important than their actual values, you may choose to use the mean of percentiles, which standardizes values by translating them into percentiles between 0 and 1. Or, if you have a critical value, such as a median housing price, and want your index to identify areas above and below that critical value, you might choose to use the Flag by threshold custom option.

  5. For Preset Method to Scale and Combine Variables, choose Combine values (Mean of scaled values).

    This preset option sets the Method to Scale Input Variables to Minimum-maximum and the Method to Combine Scaled Variables to Mean. First, input variables are rescaled between 0 and 1, then combined using the mean of the rescaled input variables as the index. This method is appropriate because the scaling process will consider the magnitude of difference between values in the input data, quantifying how much better or worse the census section is in relation to the rest of the values.

    Because it uses the minimum and maximum of the dataset to rescale, this method often isn't appropriate for skewed data. If you hadn't transformed the PopDensity and PctLacking attributes in earlier steps, you'd want to consider a method like mean of percentiles, which preserves the rank of the data but not the magnitude. Methods that preserve rank are useful for creating indices showing where conditions are better or worse, but won't quantify how much better or worse.

  6. For Method to Scale Input Variables, confirm that Minimum-maximum is chosen.
  7. For Method to Combine Scaled Variables, confirm that Mean is chosen.

    The next parameter sets the weight of each variable. Variables can be weighted to represent the relative importance of each factor as it contributes to the index.

  8. Expand the Variable Weights section.

    By default, all weights are set to 1, meaning each variable is equally weighted. For this index, you want to focus on planting trees in places where they can directly benefit people, so you'll weight the PopDensity_BOX_COX variable more than the other two.

    The Output Settings parameters allow you to choose what to name the index attribute field. You can also choose additional symbolized layers for the tool to generate.

  9. Under Weights, for PopDensity_BOX_COX, set the Weight to 2.

    Next, you'll choose settings for the index output. First, you can choose minimum and maximum values for the index range, such as a scale of 1 to 10. This range is optional, but can make values easier to interpret. Then, you can choose additional output layers to give you more ways to assess the results.

  10. Expand Output Settings. For Output Index Name, type HRI.

    Calculate Composite Index tool parameters

  11. For Output Index Minimum and Maximum Values, set the Minimum to 1 and the Maximum to 10.
  12. Under Output Settings, for Additional Classified Outputs, check the box next to Standard deviation.

    Custom index parameters

  13. Click Run.

    When the tool is finished, the Sevilla_HRI_MeanofScaled group layer is added to the Contents pane. The group layer contains three layers, one showing the index values using an unclassified color ramp, another showing the index values as percentiles, and the third showing the index values as standard deviation classes. The HRI layer also contains several charts.

Map and interpret the index

Now that you've created an index, you'll explore and interpret the results. Using the charts and outputs that the composite index tool creates, you can determine whether the index works for your purposes, or if you should test additional preprocessing steps and index methods. Once you're comfortable with the results of your index, you'll style it in a way that's easier for others to interpret. The index values you've been looking at are meaningful to you, but likely won't be to others without additional context.

Additionally, taking action based on this index will require more local input and knowledge. For example, what is the budget for the tree planting intervention? What kind of permitting is required, and do communities want trees planted in their neighborhood? Without this kind of direct understanding, it's potentially misleading to produce maps that show interpretations of your index. Instead, you'll use the standard deviation output you produced to classify the census areas as receiving greatest benefit, moderate benefit, and least benefit.

  1. In the Contents pane, under HRI, right-click Distribution of Index and choose Open.

    Open option for the Distribution of Index chart

    The high index values can be interpreted as showing areas that would benefit most from tree planting as a heat resilience intervention. Likewise, the low index values can be interpreted as benefiting least from tree planting as an intervention. This doesn't mean that these areas don't have high summer temperatures or need resilience measures implemented, but that interventions other than tree planting might be considered.

  2. In the chart pane, click the bar representing the highest index values to select them on the map.

    Highest index values in the chart

  3. Click one of the selected census sections on the map to open an informational pop-up.

    Index layer pop-up

    The pop-up shows the overall index score for the census section as well as the scaled values of the variables.

  4. Click around the map and use the histogram to explore census sections with high and low index values and understand why they've been ranked that way.

    This index output layer and the accompanying chart are helpful to use if the index values themselves are meaningful to you. For example, if you wanted to target your tree planting campaign in census sections that scored 8 or higher on the index, this histogram is a good starting point.

  5. In the Contents pane, turn off the HRI layer and turn on the HRI - Percentile layer. Use the pop-ups and Distribution of HRI - Mean (Percentile) chart to explore the percentiles output.

    This output is useful if you care less about the index score and more about the ranking of the section. For example, if you wanted to target your tree planting campaign in census sections that scored in the 95th percentile, then you might use this output.

    In this case, because you're making a general index without local input or stakeholder feedback, you'll use the final output, the standard deviation output, to classify the census areas as receiving greatest benefit, moderate benefit, and least benefit. This map should be viewed as a midpoint in your analysis. It can be used to prompt discussion and gather perspective from stakeholders in order to better refine the variables, weights, and methods used.

  6. In the Contents pane, under Sevilla_HRI_Percentiles_GeomMean Layers, turn off the HRI - Percentile layer and turn on the HRI - Standard Deviation Classes layer. Open the Counts by HRI – Mean (Standard deviation classes) chart.

    Standard deviation map and table

    This layer shows the index data symbolized by standard deviation, with the highest index values three standard deviations away from the mean.

  7. Close the chart. In the Contents pane, right-click HRI - Standard Deviation Classes and choose Symbology.

    The layer is currently symbolized with six classes.

  8. For Primary symbology, click Unique Values and choose Graduated Colors.

    Graduated Colors option

  9. For Field, choose HRI – Mean (Standard Deviation Classes).
  10. For Classes, choose 3.

    These three classes will represent the census areas receiving greatest benefit, moderate benefit, and least benefit.

  11. Click Color scheme and check Show all. Choose the Brown-Green (3 classes) color ramp.

    Brown-Green (3 classes) color ramp

    Tip:

    Check the Show names box to see the name of each color ramp.

    Next, you'll decide which census areas belong in the three categories you've decided to use. This decision is as subjective as the index creation process and can be adjusted to meet local needs and guidelines.

  12. In the Classes tab, for the first class, confirm that Upper value is set to ≤ –1. For Label, type Least Benefit.
  13. For the second class, confirm that Upper value is set to ≤ 1. For Label, type Moderate Benefit.
  14. For the third class, confirm that Upper value is set to ≤ 3. For Label, type Greatest Benefit.

    Classes with updated labels

    Depending on your preferred methods for sharing and communicating the results of this index, you could now publish it as a web map or create a map layout to share a printed version. Either way, this map should be viewed as a midpoint, a way to gather community input and perspective before taking action on any tree planting.

  15. Save the project.

In this tutorial, you created a heat risk index showing where tree planting would be most beneficial at mitigating extreme heat based on population density, lack of existing tree canopy, and average summer surface temperatures.

The resilience index methodology can be replicated for other areas of interest around the world and for different climate hazards, and can include index inputs specific to your community, such as at-risk populations. When creating your own index, make sure to use data preprocessing and index creation methods specific to your data. For more guidance on the Calculate Composite Index tool, use the tool's documentation page and the Creating Composite Indices Using ArcGIS: Best Practices technical paper.

You can find more tutorials in the tutorial gallery.