AGOL Overview

ENV 859 - Geospatial Data Analytics   |   Fall 2025   |   Instructor: John Fay  

This outline sketches the workflow for developing a dashboard to compare FEMA redacted National Flood Insurance Claims to demographic variables, specifically Social Vulnerability Index data, at the tract level for North Carolina.


1. Upload the CSV & Create a Table service layer

1.1 In AGOL

  • + New item & Upload CSV
  • Option to Publish as hosted feature layer or table
    • Option to set field types and field aliases
  • Optionally, share the item

1.2 Using ArcGIS API for Python

1.2.1 Upload the CSV to AGOL

  • Create folder object (existing or new)
  • Specify the CSV’s item properties:
    • Item type (CSV)
    • Title
    • Description
    • Tags
  • Use folder.add() to upload the CSV to AGOL

1.2.2 Publish the CSV file as a hosted table

  • Create a dictionary of publishing parameters:
    • Name
    • Type (Table)
    • Location type (None)
    • Layer info: Field Properties for each field
      • Field name, field type, field alias
  • Use the publish() function of the CSV item to publish it
  • Optionally, share the item with the share() function

2. Create a Web Map

2.1 Open the Table service layer in a new web map

  • Click Add to Web Map
  • Note the resource is added as a table object
  • Save your map
  • Share the map with…

2.2 Add the 2020 SVI tract-level features for North Carolina

2.2.1 Locate and add the layer to the map

  • From the Add Layers menu (+), select Browse Layers
  • Search the Living Atlas for “SVI” to locate the “CDC/ATSDR Social Vulnerability Index 2020 USA” feature layer
  • Add it to your map
    • This add all the layers; we just want the “SVI2020_US_tract - Theme 1” layer

2.2.2 Subset for Theme 1 Tract Level:

  • Option 1: Ungroup and remove other layers
  • Option 2: Get URL of the layer and just add it
  • Rename the layer: “SVI2020 Tract-NC”
  • Set Visibility level

2.2.3 Filter Layer for just NC records

  • Zoom in to level where features are visible
  • Click the filter (filter) icon
  • Filter for “State-level FIPS code is 37”
  • Save your map

2.3 Add the Hurricane Storm Track features

2.3.1 Locate the service

  • Browse Living Atlas for “Hurricane”
  • Select “Historical Hurricane Tracks” and add to your map

2.3.2 Filter storm records

  • Filter for storms in the North Atlantic (NA) basin
  • Filter for storm occurring in the year 2000 and later
  • Save your map

3. Create a Dashboard

3.1 Initialize the dashboard from your web map

  • In the left action bar, select Create App>Dashboards
  • Note the dashboard item is automatically saved to the same folder as your map

3.2 Add regions to your dashboard

3.2.1 Add a Header

  • From the View menu, select Header and add it
  • Optionally: edit the Title and Subtitle
  • Save your dashboard

3.3. Add Selectors to filter the storm tracks

3.3.1 Add a Selector to your Header to select the Storm Season

  • In the Header settings, select + Add selector , specifying as “Category selector”
  • Ensure the Data option is selected in the left-side Action menu
    • Set the categories to be set from Grouped values
    • The grouped values will be extracted from the “Historical Hurricane Tracks” layer
    • The Category field with be year
    • Sort the values in descending order
  • Activate the Selector action menu
    • Change the label to: “Select storm season”
    • Give the selector a name in the General option (at the very bottom)
    • Name it: SeasonSelector
  • Activate the Actions action menu
    • Set the Active Target for the Filter option to the Historical Hurricane Tracks layer
    • Set it to Render only when filtered
  • Click Done to accept the settings
  • Save your dashboard
  • Test your filter

3.3.2 Add a Selector to your Header to select the Storm Name

  • Repeat steps above, but filter for Storm Name
  • Reconfigure the Storm Year Selector’s action so that it also filters the Storm Name Selector

3.4 Create a Visualization

3.4.1 Add a new Serial Chart below your map

  • Set its data source to be the FEMA_FloodClaims layer
  • Set the Category field to be Flood Event
  • Set the Statistic to be Sub
  • Set the Field to be Building Damage Amount

3.4.2 Filter the Serial Chart to only show selected Tracts

  • Open the Map configuration menu
  • Activate the Layer actions
  • Select the SVI2020 Tract-NC layer
  • Set that layer to filter the chart created above
    • Set the Source field to be Tract-level FIPS code
    • Set the Target field to be Census Tract