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. Use ClassBreaksRenderer to display the margin of victory for either candidate. Set up class breaks like 0-10%, 10-20% and >20% with smaller-margin counties drawn in a light shade of blue/red and the larger-margin counties in a dark shade. The best way is to set the renderer's valueExpression property to an Arcade expression that calculates the value for mapping.  
  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 this Continents feature service 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 Demographics
    Use this Popular Demographics of the United States feature service. It contains population fields for five US generations (Greatest Generation, Baby Boomer, Gen X, Millennial, and Gen Z). Choose a generation (don't make this a user option, just pick one that interests you) - Prompt the user for a state, then display the counties in that state according to the generation's population as a percentage of total population. Similar to the election scenario, you can calculate the population percentage using valueExpression and an Arcade expression in either ClassBreaksRenderer or VisualVariable.
  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 PictureMarkerSymbol to show the fuel types as appropriate icons. I've put together a set of free icons that can be downloaded here.
  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.  Note: this service will not display properly in a SceneView using API version 4.8 or higher.  So use a MapView or version 4.7 of the API.
  7. Wildfires
    Using this Historic Wildfire Perimeter Service, prompt the user for a year (between 2000-2018), then display the fire perimeters from that year.  Render the layer using according to fire size in acres using either ClassBreaksRenderer or VisualVariable with an appropriate color ramp. 
  8. Hurricanes
    Using this Hurricane feature service from Living Atlas, prompt the user for a year, then display hurricanes from that year.  The service has a default symbology, but I'd like you to override that using dotted lines rather than solid and a light-to-dark color ramp to indicate the hurricane category (look for a field with the alias USA Saffir-Simpson Hurricane Scale).  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.