GEOG 863:
Web Application Development for Geospatial Professionals




For this week's assignment, please select from one of the scenarios below.  Regardless of the scenario you choose, I'd like you to follow these guidelines:

  • Use the JavaScript prompt() method to ask the user for a subset of data to map (e.g., a state).  We'll see better methods for getting user input and return to your selected scenario to "do it right" in the next lesson.
  • Configure your app so that appropriate information is displayed through popup windows.
  • Use ColorBrewer to obtain logical color values.
  • Look at the service in the ArcGIS Online Map Viewer or ArcGIS Desktop to get a sense of its data fields and values.

Before reading over all of the scenarios, go to the sign-up page to see which of them are still available.  Here are the scenarios:

  1. 2016 U.S. Presidential election
    Using the U.S. Presidential election feature service, prompt the user for a state, then display a county-level map of the voting in that state.  There are a couple of ways you can code the ClassBreaksRenderer.  That object's field property can be set to the name of a field in the layer's attribute table or it can be set to the name of a function that returns the value that should be used for the mapping.  Ideally, I'd like to see you calculate the margin of victory for either candidate and set up class breaks like 0-10%, 10-20% and >20%.  The smaller-margin counties should be drawn in a light shade of blue/red and the larger-margin counties in a dark shade. 

    If you're unable to set the field property to a function, you can instead set it to one of the candidate vote percentage fields.  However, because the winning candidate doesn't always receive over 50% of the vote, you need to be careful to handle the close counties properly.  A solution to this problem is to create two different layers - one displaying counties won by Obama and the other counties won by Romney.
  2. World cities
    Using the World cities feature service, prompt the user for a continent, then display the cities in that continent symbolized by population (varying either size or color).  This scenario is a bit trickier than the others in that there is no continent identifier in the Cities layer.  To identify the correct cities, you can query the Continents layer to get the polygon geometry of the selected continent, then use a spatial query to find the appropriate features in the Cities layer.
  3. U.S. National Parklands
    Using the U.S. National Park lands feature service, prompt the user for a National Park Service region, then display the parklands within that region.  Use different symbols for the common park types (National Monument, National Historic Site, National Park, National Historical Park, National Memorial) and depict all other types in a class called Other.
  4. U.S. county population change
    Using the U.S. county population change feature service, prompt the user for a state, then display the counties in that state according to their population change (from 2000 to 2007).  As in the election scenario above, the best way to depict the population change is through the use of a function that calculates the ratio of the 2007 population to the 2000 population.  Counties that exhibited a population increase will have a ratio greater than 1, while those that exhibited a decrease will have a ratio less than 1.  As with the election scenario, use shades of one color (e.g., green) to depict the increase counties and shades of another color (e.g., red) to depict the decrease counties.
  5. Alternative fuel stations
    Using the alternative fuel stations feature service, prompt the user for a state, then display the alternative fuel stations in that state.  Use different symbols for the different fuel types.
  6. 2016 EU Referendum in the UK
    Using this 2016 EU Referendum feature service, prompt the user for a region (e.g., Northern Ireland, North East, North West), then display the voting districts in that region based on their remain/leave vote.  The remain/leave vote percentages add to 100, so you can safely base your ClassBreaksRenderer on one of the two percentage fields.  As with the presidential election scenario above, set up vote margin classes like 0-10%, 10-20%, >20% and use shades of one color to depict the remain districts and shades of another color to depict the leave districts.
  7. Earthquakes
    Using this Earthquakes feature service, prompt the user for a year (in the period 1970-2011), then display the earthquakes that were measured in that year.  Render the layer using four magnitude classes (<7, 7-8, 8-9, >9) symbolized in different sizes or colors.
  8. Hurricanes
    Using this Hurricane feature service, prompt the user for a named hurricane (e.g., Katrina), then create a map that shows hurricanes that developed in that basin.  The service has a default symbology, but I'd like you to override that symbology with your own using dotted lines rather than solid and a light-to-dark color ramp to indicate the strength of the hurricane.  You'll find the UniqueValueRenderer class to be helpful. 


This project is one week in length. Please refer to the Canvas course Calendar for the due date.

  1. Remember to sign up for a scenario before you start working on it.
  2. Edit your e-Portfolio so that it includes a link to your map and post a link to your e-Portfolio through the Assignment 6 page.  (80 of 100 points)
  3. Beneath the map or on your e-Portfolio page, provide a short description of your map and reflect on what you learned from the lesson, what you found challenging, and how you might apply what you learned to your work.  (20 of 100 points)
  4. Complete the Lesson 6 quiz.