Assignment 2: Sea Level Rise in Santa Barbara

ESM 263 (Frew), Winter 2017

Due at 8am on Tuesday, 7 February 2017


  1. Work through tutorials.
  2. Perform a geospatial analysis using ArcMap, and produce results data.
  3. Design a map to communicate your results.
  4. Submit your work to course website.


This assignment is worth 10 points: 5 points for your map and 5 points for your data, awarded according to the evaluation rubric. Your map must present your results accurately and clearly, and adhere to cartographic design principles. Your data must use correct units, data types, and file format.


In this homework, we'll analyze some potential impacts of extreme (as in, maybe Greenland melts...) sea-level rise in Santa Barbara County. To reduce computational requirements, we've restricted our region of interest (ROI) to the downtown Santa Barbara area, rather than the entire county's coastline.

Your assignment is to estimate the impact of ten scenarios of sea level rise: 1m, 2m, . . . , 10m increases in mean sea level. You will compute three metrics for each sea level rise scenario, as shown in Table 1.

sea level rise
area flooded
parcels flooded
property losses
1 ? ? ?
2 ? ? ?
3 ? ? ?
4 ? ? ?
5 ? ? ?
6 ? ? ?
7 ? ? ?
8 ? ? ?
9 ? ? ?
10 ? ? ?
Table 1: Results template

Available data

We projected all available data into the California Teale Albers (NAD 1983 datum) projection, and they're available in the HW2 geodatabase:

Task 1: Tutorials

Work through Law & Collins Chapters 15 (Querying data) and 17 (Selecting features by location) on attribute-based and location-based queries.

Task 2:  Geospatial analysis and results data

  1. Download from the website, and extract the contents into your H:\ESM263 folder.
  2. Create a new map in ArcMap called HW2.mxd and add all the data from your HW2 geodatabase. Organize your map by creating a New Group Layer. Rename it to "Basemap", then move Streets, Cities, County, and California into it.
  3. Read the metadata in ParcelMetadata.pdf. For the parcel data, there are several property value attributes. We will use NET_AV: the net assessed value (in USD) for the parcel.

    For the elevation data, the only attribute is GRIDCODE, and its value represents the sea level rise (m) required to flood the land at that elevation. The data also uses an interval range; that is, the value marks the upper end of a range. For example, interpret GRIDCODE = 4 as 3 < GRIDCODE ≤ 4m.

  4. Perform a "spatial join" from Elevation to Parcels to compute your aggregate statistics, as shown in Figure 1. This method will compute statistics for each Elevation feature. The spatial join will find all Parcel features that intersect it, and then aggregate their attributes by running an aggregation function. The result will be a new layer that has all of the Elevation features plus the aggregated attributes from the matching Parcels features.

    Figure 1: Join Data dialog

    The Join Data dialog (Figure 1) is invoked by right-clicking on the Elevation layer and selecting Joins and Relates → Join.... Choose the option to "Join data from another layer based on spatial location". Select Parcels as the layer to join to the active layer (Elevation), select Sum as your aggregate function, and name the spatial join output as H:\ESM263\HW2\HW2.gdb\Join_Output.

  5. Now, we will compute your results for each S = {1,2,...,10} meter sea level rise scenario.
    1. Switch to the "List by Source" view in the Table of Contents to see the Results table.
    2. Perform a "table join" from your Results table to the Join_Output table using Results.S and Join_Output.GRIDCODE as the join keys.
    3. Open your Results table. Click on the "Table Options" pulldown and make sure that "Show Field Aliases" is checked.
    4. Use Field Calculator... (Figure 2) to compute the values for the A, P, and L fields for each of the 10 scenarios S. Remember that for A and L you will need to convert to the correct units shown in Table 1.

      Figure 2: Field Calculator dialog

      Click the "Python" radiobutton and the  "Show Codeblock" checkbox. Type in the following Python code. For each calculation, substitute YourFieldNameHere for whichever field you're using.

      Pre-Logic Script Code:

      total = 0
      def accumulate(increment):
          global total
          if total:
              total += increment
              total = increment
          return total
    5. Calculate A based on the Join_Output.Shape_Area field, which is in m2.
    6. Calculate P based on the Join_Output.Count_ field.
    7. Calculate L based on the Join_Output.Sum_NET_AV field, which is in USD.
    8. Remove the table join from the Results table.

Task 3: Map results

Design a map that communicates your results. Consider these questions:

Task 4: Turn in your work

  1. Use ArcMap to export your map as a PNG image to HW2.png (as in HW1, use 300 dpi and 8-bit color palette options).
  2. Use ArcToolbox's Table to Table (conversion) tool to convert your Results table in the HW2 geodatabase to HW2.dbf using the dBase (DBF) file format. Make sure that your "Field Map" has only 4 fields (S, A, P, and L).
  3. Rename your files to include your full name, and use correct capitalization with no spaces or punctuation; e.g., HW2JamesFrew, NOT HW2-james-frew or hw2jamesfrew:
  4. Verify that your PNG file is no larger than 3300x2550 pixels and 10 MB, and that your DBF file is readable by ArcMap (and/or Excel) and has the correct field names and data types.
  5. Upload your PNG and DBF files to the Assignment 2 page on the course website.

back to ESM 263 home