In this first lesson, we'll start out by looking at non-programming methods for creating web maps and applications based on those maps. We'll be working with technologies from Google and Esri.
At the successful completion of this lesson, students should be able to:
Conversation and comments in this course will take place within the course discussion forums in Canvas. If you have any questions now or at any point during this week, please feel free to post them to the Lesson 1 Discussion Forum. (That forum can be accessed at any time by clicking on the Discussions tab within Canvas.)
Lesson 1 is one week in length. (See the Calendar in Canvas for specific due dates.) To finish this lesson, you must complete the activities listed below. You may find it useful to print this page out first so that you can follow along with the directions.
Step | Activity | Access/Directions |
---|---|---|
1 | Work through Lesson 1. | You are in the Lesson 1 online content now. The Overview page is previous to this page, and you are on the Checklist page right now. |
2 | Create a mapping app of your own choosing using Esri's Web AppBuilder or one of their configurable templates. | Post a link to your app in your e-portfolio. |
3 | Take Quiz 1 after you read the online content. | Go to the Canvas Homepage and click on the "Lesson 1 Quiz" link to begin the quiz. |
Several technology vendors provide the means for nonprogrammers to create web maps without writing any code, and the capabilities of these map authoring applications are increasing constantly. In this part of the lesson, we will explore Google's My Maps and Esri's ArcGIS Online.
Google has come full circle with My Maps. Several years ago, they developed an online app called My Maps that allowed users to manually digitize their own point, line and polygon overlays on top of Google's basemaps. These custom maps were stored on Google's servers and could be shared easily. Around this same time, Esri came out with their ArcGIS Online platform, a step up from what was offered by My Maps in its ability to mash up layers published through map services, to import shapefile and tabular data, and to incorporate geoprocessing capabilities. Google responded with an analogous product called Google Maps Engine and at the same time rebranded their My Maps app as Maps Engine Lite. Fast forward to 2015, when Google announced that it would be discontinuing support for Maps Engine -- apparently ceding the online GIS platform market to Esri. Support for Maps Engine Lite continues, though part of the strategic rebranding was to change the name back to My Maps.
As you'll see in a moment, today's My Maps offers users greater data input capabilities than it did in its original incarnation. It provides a good web mapping option in situations where more fully-featured platforms would be overkill.
With that, you've produced your first web map of the class! Before moving on to ArcGIS Online, here are a few miscellaneous notes about My Maps:
As with Google's My Maps, Esri's ArcGIS Online [3] allows users to build a multi-layer map without the need for programming.
In this section, we've been able to build a pair of useful interactive web maps without any programming. Move on to the next page to see how to take your ArcGIS Online map further -- still without programming -- by embedding it within a web page and using it as the basis for a web application.
The maps created earlier in the lesson offer interactivity in the form of zooming in/out, toggling layers on/off, accessing info about map features by clicking on them, changing the base map, etc. This part of the lesson will begin by showing how to embed your Google and Esri maps within a separate web page. After that, we'll look at tools developed by Esri that make it possible to incorporate even more interactivity -- to turn your map into an app.
While it's sometimes preferable to share the link to your map -- allowing it to fill the viewer's browser window -- it can also be useful to embed the map within a page of content.
The interactivity offered by these maps is nice, but you may find yourself in situations where you need to go further. For example, maybe you want end users to be able to query the map's underlying data for features meeting certain criteria or to be able to edit the underlying data. Esri offers a couple of different non-programming options for those looking to build apps with greater functionality. The first of these is a set of templates that each meet a narrowly focused need (e.g., Edit, Query, Directions). As the app developer, you select the desired template and make a relatively small number of configurations to tailor the app to your needs. The second option is to use Web AppBuilder. This option is more open-ended, allowing you to build a less narrowly focused app by picking and choosing from a set of widgets.
We'll start with configurable app templates and to demonstrate their use we'll create an app for locating buildings on the Penn State Main Campus.
Now let's try Esri's more open-ended option for creating apps.
For this lesson's graded assignment, I'd like you to build a web-mapping app with Esri technology (using either a configurable template or the Web AppBuilder). You are welcome to select the app's subject matter (perhaps something from your work) and the functionality it provides. If you're unsure of what to map, you might try searching ArcGIS Online, where there is a wealth of data.
You will have two other opportunities to select your own projects later in the course: once to overlay features on top of the Google basemap using the Google Maps API and later in the course's culminating project when you'll code your own app based on either Google or Esri technology. Keep that in mind when selecting data and/or functionality to incorporate into this project.
This project is one week in length. Please refer to the course Calendar, in Canvas, for the due date.
With that, you've finished working through the content on developing geospatial apps without programming. For some of you, especially those who work in an organization with an ArcGIS Online account, what you've learned in this lesson will sufficiently meet your app development needs. However, if you find that a widget doesn't quite do what you want, you need/want to build your app with a non-Esri technology, or you just want to understand what Esri's widgets are doing behind the scenes, you'll need to learn about web programming technologies (like JavaScript).
Looking ahead, here is a basic roadmap for where we're going from here:
Links
[1] https://www.google.com/mymaps
[2] http://mapsengine.google.com/map/edit?mid=zJSuQ4KMi644.kxjDn-h_k5Qc
[3] http://arcgis.com/
[4] http://pennstategis.maps.arcgis.com/
[5] https://www.e-education.psu.edu/geog863_gmaps/sites/www.e-education.psu.edu.geog863_gmaps/files//jb_data.zip
[6] https://www.e-education.psu.edu/geog863_gmaps/sites/www.e-education.psu.edu.geog863_gmaps/files/lesson1_embed.html
[7] http://pennstategis.maps.arcgis.com
[8] http://maps.pasda.psu.edu/arcgis/rest/services/pasda/PSU_Campus/MapServer/1
[9] https://www.e-education.psu.edu/geog863_gmaps/sites/www.e-education.psu.edu.geog863_gmaps/files/psu-facebook-avatar-180x180.jpg
[10] http://doc.arcgis.com/en/web-appbuilder/create-apps/widget-overview.htm
[11] http://www.e-education.psu.edu/geog863_gmaps/sites/www.e-education.psu.edu.geog863_gmaps/files/psu-facebook-avatar-180x180.jpg
[12] http://www.psu.edu