GEOG 585
Open Web Mapping

GEOG 585 Syllabus (Spring 2024 and Summer 2024)


GEOG 585: Open Web Mapping.

Design, development, and implementation of web mapping applications using OGC standards and open-source software.
Prerequisites: GEOG 485 GIS Programming and Automation


Summer 2024 (May - July)
Dr. Panagiotis (Panos) Giannakis is the lead instructor for Geog 585. He is an assistant teaching professor for the John A. Dutton e-Education Institute, College of Earth and Mineral Sciences at Penn State.

Email: Please use the course e-mail system (it ensures your emails don't get caught up in any spam filters, especially if you attach any scripts). I check e-mail regularly and will do my best to respond to questions at least once per weekday and once on weekends unless I notify you otherwise. If Canvas is down you can try

Course Overview

Geography 585: Open Web Mapping is a 10-week online course that gives you experience with sharing geographic information on the Internet using free and open-source software (FOSS) and open specifications. It is an elective course in Penn State's online geospatial education programs, including the Master of Geographic Information Systems.

The two main purposes of Geog 585 are to help you understand the importance of web services and to give you some experience making web maps with FOSS and open standards. You could certainly implement web services using proprietary software, too; however, the cost of a proprietary GIS server package makes FOSS an attractive area of study for basic web mapping tasks.

The purpose of Geog 585 is not to promote FOSS over proprietary software, or vice versa (you could find plenty of materials on the Internet debating this subject); however, Geog 585 should familiarize you with the capabilities and shortfalls of the current FOSS landscape to the point that you can make an informed decision about how to use FOSS in your own web mapping tasks.

The set of FOSS and open data sources you will be exposed to in Geog 585 includes QGIS, GDAL, GeoServer, GeoWebCache, OpenStreetMap, and Leaflet. You will also learn about open data standards such as GeoJSON, KML, and OGC web service specifications.

Course Objectives

By the end of this course you should be able to:

  • select and apply different free and open source software (FOSS) to support all stages of a web mapping project, from data preparation to web hosting and client-side programming
  • explain and assess fundamental concepts, approaches & architectures, and common open standards related to web mapping
  • analyze, evaluate, and adapt existing web mapping applications
  • design and implement FOSS based interactive web mapping applications with the main purpose of visualizing geographic data
  • reflect on the potentials, advantages and disadvantages of utilizing FOSS software and open standards compared to proprietary approaches


This course requires you to do some programming with JavaScript and the Leaflet API. You don’t have to know anything about Leaflet yet, but it is required that you have:

  • Enough formal experience with writing computer programs or scripts that you are comfortable identifying and using fundamental constructs such as variables, loops, decision structures, error handling, objects, and so forth. A B grade or above in Geog 485 satisfies this prerequisite. Exceptions require equivalent programming experience and instructor approval.
  • Enough experience with JavaScript that you are able to easily identify the above constructs when you see them in a piece of JavaScript code. A B grade or above in Geog 863 satisfies this prerequisite, or you can do your own preparation using the W3Schools JavaScript tutorial.
  • Enough experience with HTML and CSS that you are easily able to view and interpret the basic elements of page markup, such as the head, body, script tags, and so forth. Geog 863 satisfies this prerequisite, or you can do your own preparation using the W3Schools HTML tutorial.

Required Course Materials

There is no required textbook for this course. You will be required to complete various online readings.

All software used in this class is open-source software that is freely available for Windows.

To host some of the web map data and applications that you will produce in this class on the web, you will be required to set up an Amazon AWS account, including registering a credit card. Using the AWS S3 cloud storage service will result in some extra costs, but these will be small (<$10 most likely) if you make sure to follow the instructions provided in the lesson materials and posted as announcements on Canvas by the instructor.

If you will not have a consistently available Internet connection available during this course, please contact the instructor prior to beginning.

Assignments and Grading

Geog 585 has nine lessons. Each of them is one week in length. The tenth week of the course is reserved for you to work on your term project (described further below). On most weeks, you will see:

  • conceptual lesson materials
  • a walkthrough that takes you through a new piece of software or functionality step by step
  • an assignment that typically expects you to apply what you learned in the walkthrough. Be aware that some assignments have multiple parts, and some weeks’ assignments are worth more than others’.

The walkthroughs and assignments in Geog 585 require a significant time commitment to complete and often involve installing or using new software. Please start working on the lesson at the beginning of the week to allow for completing a high-quality deliverable on time and any troubleshooting that might be necessary along the way.


Quizzes are administered throughout the course to test your knowledge of the material and your ability to think and reason independently about the concepts presented.

Term project

During the course, you will work on a term project that synthesizes the skills that you gain throughout the lessons. Many of the weekly assignments are directly related to building your term project; in other words, you can use your term project data in the weekly assignments, and some pieces of your weekly assignment deliverables may appear in your term project deliverables. The final week of the course is set aside for full-time work on your term project.


Deliverables are weighted in the following fashion to obtain your grade:

  • Weekly assignments – 50%
  • Quizzes – 20%
  • Term project – 30%

Make-up Exam Policy

Because this course has no exams, there is no Make-up Exam Policy.

Letter grades will be based on the following percentages:

Letter grades and percentages
A 90-100%
A- 87.5-89.9%
B+ 85-87.4%
B 80-84.9%
B- 77.5-79.9%
C+ 75-77.4%
C 70-74.9%
D 60-69.9%
F <60%
X Unsatisfactory (student did not participate)

Percentages refer to the proportion of all possible points earned by the student after the above weights have been applied.

Late Work

Any assignment not submitted by the due date on the course calendar in Canvas shall incur a 10% deduction in grade prior to any other deduction made by the instructor when grading the assignment. An additional 10% will be deducted for each additional week late. The instructor may choose to modify or waive these penalties under exceptional circumstances (such as severe health issues).

GEOG 585 Course Schedule

image Printable Schedule

Weekly assignments (for weeks 1-9) and quizzes (in weeks 3, 6, and 9) are always due at the end of each week by Wednesday, 11:59 pm (Eastern Time). In addition, a brief term project proposal document needs to be submitted at the end of week 2. In week 10, a video demonstrating your term project needs to be submitted by the end of Sunday; the remaining term project deliverables (report and reviews of two other students' video) are due by the end of Wednesday (last day of class).

Week 0: Orientation
Date: Week 0
  • Comprehend the structure of GEOG 585.
  • Know how to use the course management system.
  • Read the course syllabus.
  • Complete the W3CSchools JavaScript and HTML tutorials (if needed).
Readings: Orientation lesson pages
Assignments: Introduce yourself to the rest of the class.
Lesson 1: FOSS and its use in web mapping
Date: Week 1
  • Describe the roles of clients, servers, and requests and how they contribute to web service communication patterns.
  • Identify benefits and challenges to FOSS and how they should be weighed when choosing a software platform.
  • List common FOSS solutions for general computing and GIS and discuss how you have seen these used in the “real world.”
  • Recognize when and how FOSS might be used in a “hybrid” model with elements of proprietary software.
  • Add and symbolize GIS data in QGIS.
Readings: Lesson 1 online materials
  • Walkthrough: Installing and exploring QGIS.
  • Responding to FOSS.
Lesson 2: Designing web services and web maps
Date: Week 2
  • Identify the pieces of hardware and software architecture used in web mapping and describe the role played by each.
  • Recognize the roles of basemaps and thematic layers in a web map, and identify examples of each.
  • Critique the layer construction and architecture of a web map.
  • Log into the GeoServer administrator page and preview layers.
Readings: Lesson 2 online materials
  • Walkthrough: Setting up GeoServer.
  • Analyze two web maps.
  • Term project proposal.
Lesson 3: Storing and processing spatial data with FOSS
Date: Week 3
  • List common open file and database formats for spatial data and give appropriate uses for each.
  • Recognize the advantages of various data storage architectures and formats.
  • Process (clip and project) GIS data using QGIS and GDAL, and describe when it would be appropriate to use each.
  • Experiment with a new GDAL function and use the documentation to learn how to invoke it.
Readings: Lesson 3 online materials
  • Walkthrough: Clipping and projecting vector data with QGIS and OGR.
  • Walkthrough: Processing raster data with QGIS and GDAL.
  • Prepare term project data and experiment with GDAL utility.
  • Quiz 1.
Lesson 4: Drawing and querying maps on the server with WMS
Date: Week 4
  • Identify the pros and cons to using a dynamically drawn web map service (as opposed to a tiled service).
  • Recognize the role of OGC in defining open geospatial web service specifications.
  • Learn about the main geospatial web service standards (OGC's W*S specifications, REST).
  • List the basic functions of a WMS and describe how and why each would be invoked.
  • Expose GIS datasets as a WMS using GeoServer.
  • Use SLDs to define layer styling in a WMS. Create the SLDs using code and using the GUI environment of QGIS.
  • Identify and critique a WMS used on a public-facing website.
Readings: Lesson 4 online materials
  • Walkthrough: Serving and styling a WMS with GeoServer.
  • Walkthrough: Advanced styling and group layers with WMS.
  • Review a WMS and serve some of your term project data as a WMS.
Lesson 5: Building tiled maps with FOSS
Date: Week 5
  • Describe the advantages of tiled web maps and identify when it is appropriate to use them.
  • Recognize strategies and techniques for creating and updating large tiled web maps.
  • Create tiles for a WMS using GeoWebCache.
  • Use best practices in multiscale map design to create a tiled basemap using QGIS.
  • Discuss hosting options for tiled maps. Unpack and upload your tiled map to a webspace.
Readings: Lesson 5 online materials
  • Walkthrough: Creating tiles with GeoServer using GeoWebCache.
  • Walkthrough: Creating tiles with QGIS.
  • Examine tiled maps, then build your own.
Lesson 6: Putting layers together with a web mapping API
Date: Week 6
  • Identify commonly-used web mapping APIs (both proprietary and FOSS) for realizing mashups and interactive elements in web maps, and recognize programming patterns that are common to each.
  • Choose developer examples that relate to your web mapping task and adjust the code to meet the needs of your own application.
  • Use Leaflet to create mashups of different kinds of map layers (like a tiled basemap combined with a WMS thematic layer).
  • Create interactive informational popups for your web map features using Leaflet.
Readings: Lesson 6 online materials
  • Walkthrough: Overlaying a WMS on a tiled map with Leaflet.
  • Overlay your own data in Leaflet and examine real world use of a web mapping API.
  • Quiz 2.
Lesson 7: Drawing vector layers with the browser
Date: Week 7
  • Describe benefits and challenges of drawing thematic vector map layers in the web browser.
  • Choose between KML, GeoJSON, and other formats for drawing vector data in the browser.
  • Understand how vector layers can be symbolized on the fly to provide a more interactive web map experience.
  • Draw thematic vector layers in a web map using Leaflet and change the symbolization in response to map events.
Readings: Lesson 7 online materials
  • Walkthrough: Adding interactive GeoJSON layers in Leaflet.
  • Make your own mashup with a vector layer drawn in the browser.
Lesson 8: Going beyond “dots on a map”
Date: Week 8
  • Implement techniques for data filtering and classification using Leaflet.
  • Describe OGC specifications for vector data editing (WFS) and geoprocessing (WPS) in web maps.
  • Implement the layer switcher and other controls from Leaflet according to application needs.
  • Choose a web presentation framework such as Bootstrap and apply it to your Leaflet applications.
  • Query and display geographic attributes (including links to images and web pages) in your web map application.
  • Learn and critically evaluate a new piece of FOSS GIS.
  • Lesson 8 online materials
  • Steiniger, S., & Hunter, A. J. (2013). The 2012 free and open-source GIS software map–A guide to facilitate research, development, and adoption. Computers, Environment and Urban Systems, 39, 136-150.
  • Walkthrough: Making a thematic map with Bootstrap controls and the Leaflet framework.
  • Independent exploration of FOSS.
Lesson 9: Exploring open data, VGI, and crowdsourcing
Date: Week 9
  • Define “open data” and describe some of the differences in use conditions among open data options.
  • Recognize the benefits and weaknesses of OpenStreetMap and its process of crowdsourcing.
  • Describe options for retrieving data from OpenStreetMap.
  • Edit OpenStreetMap according to community-defined tagging standards, and describe what this experience taught you about open data sources.
Readings: Lesson 9 online materials
  • Walkthrough: Getting source data from OpenStreetMap.
  • Evaluate OpenStreetMap usage and contribute to OpenStreetMap.
  • Quiz 3.
Lesson 10: Term project
Date: Week 10
  • Synthesize the material from the previous lessons to create an interactive web map combining data sources of your choosing. Justify your choices of data storage formats, web service types, and API elements used, with respect to both aesthetics and performance.
Readings: Lesson 10 online materials
  • Term project video (Sunday).
  • Term project report and review of project videos of two other students.

Class Support Services

Penn State Online offers online tutoring to World Campus students in math, writing, and some business classes. Tutoring and guided study groups for residential students are available through Penn State Learning.

Course Policies


Students who do not meet these prerequisites may be disenrolled according to Administrative Policy C-5;if they do not have the proper prerequisite override. If you have not completed the listed prerequisites, then promptly consult with the instructor if you have not done so already. Students who add the course after being disenrolled, according to this policy, are in violation of the Student Code of Conduct.

Technical Requirements

For this course, we recommend the minimum technical requirements outlined on the World Campus Technical Requirements page, including the requirements listed for same-time, synchronous communications. If you need technical assistance at any point during the course, please contact the IT Service Desk.

Internet Connection

Access to a reliable Internet connection is required for this course. A problem with your Internet access may not be used as an excuse for late, missing, or incomplete coursework. If you experience problems with your Internet connection while working on this course, it is your responsibility to find an alternative Internet access point, such as a public library or Wi-Fi ® hotspot.


This course must be viewed using the latest version of Firefox, Safari, Chrome, or Edge. Internet Explorer is not supported. If you use any other browser, or if you are not using the latest version of your browser, some pages containing equations may not render properly. In addition, javascript must be enabled for equations to render properly. If you have any issues with equations not rendering properly, please update your browser to the latest version or try using a different browser. If you need additional technical assistance at any point during the course, please contact the HelpDesk (for World Campus students) or the IT Service Desk (for students at all other campus locations).

Penn State E-mail Accounts

All official communications from Penn State are sent to students' Penn State e-mail accounts. Be sure to check your Penn State account regularly, or forward your Penn State e-mail to your preferred e-mail account, so you don't miss any important information.

Academic Integrity

Academic integrity is the pursuit of scholarly activity in an open, honest, and responsible manner. Academic integrity is a basic guiding principle for all academic activity at Pennsylvania State University, and all members of the University community are expected to act in accordance with this principle. 

According to Penn State policy  G-9: Academic Integrity, an academic integrity violation is “an intentional, unintentional, or attempted violation of course or assessment policies to gain an academic advantage or to advantage or disadvantage another student academically.” Unless your instructor tells you otherwise, you must complete all course work entirely on your own, using only sources that have been permitted by your instructor, and you may not assist other students with papers, quizzes, exams, or other assessments. If your instructor allows you to use ideas, images, or word phrases created by another person (e.g., from Course Hero or Chegg) or by generative technology, such as ChatGPT, you must identify their source. You may not submit false or fabricated information, use the same academic work for credit in multiple courses, or share instructional content. Students with questions about academic integrity should ask their instructor before submitting work.

Students facing allegations of academic misconduct may not drop/withdraw from the affected course unless they are cleared of wrongdoing (see G-9: Academic Integrity). Attempted drops will be prevented or reversed, and students will be expected to complete coursework and meet course deadlines. Students who are found responsible for academic integrity violations face academic outcomes, that can be severe, and put themselves at jeopardy for other outcomes which may include ineligibility for the Dean's List, pass/fail elections, and grade forgiveness. Students may also face consequences from their home/major program and/or The Schreyer Honors College.

Please also see Earth and Mineral Sciences Academic Integrity Procedures, which this course adopts. To learn more, see Penn State’s “Academic Integrity Training for Students.

Course Copyright

All course materials students receive or to which students have online access are protected by copyright laws. Students may use course materials and make copies for their own use as needed, but unauthorized distribution and/or uploading of materials without the instructor’s express permission is strictly prohibited. University Policy AD 40, the University Policy Recording of Classroom Activities and Note-Taking Services addresses this issue. Students who engage in the unauthorized distribution of copyrighted materials may be held in violation of the University’s Code of Conduct, and/or liable under Federal and State laws. For example, uploading completed labs, homework, or other assignments to any study site constitutes a violation of this policy.

Accommodations for Students with Disabilities

Penn State welcomes students with disabilities into the University's educational programs. Every Penn State campus has an office for students with disabilities. The Student Disability Resources (SDR) website provides the contact information for every Penn State campus. For further information, please visit the Student Disability Resources website.

To receive consideration for reasonable accommodations, you must contact the appropriate disability services office at the campus where you are officially enrolled, participate in an intake interview, and provide documentation. See Student Disability Resources: Applying for Services. If the documentation supports your request for reasonable accommodations, your campus’s disability services office will provide you with an accommodation letter. Please share this letter with your instructors and discuss the accommodations with them as early in your courses as possible. You must follow this process for every semester that you request accommodations.

Change in Normal Campus Operations

In case of weather-related delays or other emergency campus disruptions or closures at the University, this online course will proceed as planned. Your instructor will inform you if there are any extenuating circumstances regarding content or activity due dates in the course due to these delays or closures. If you are affected by a weather-related emergency, please contact your instructor at the earliest possible time to make special arrangements.

Reporting Educational Equity Concerns

Penn State takes great pride in fostering a diverse and inclusive environment for students, faculty, and staff. Acts of intolerance, discrimination, or harassment due to age, ancestry, color, disability, gender, gender identity, national origin, race, religious belief, sexual orientation, or veteran status are not tolerated (Policy AD29 Statement on Intolerance) and can be reported through Educational Equity via Report Bias.

Counseling and Psychological Services

Many students at Penn State face personal challenges or have psychological needs that may interfere with their academic progress, social development, or emotional wellbeing.  The university offers a variety of confidential services to help you through difficult times, including individual and group counseling, crisis intervention, consultations, online chats, and mental health screenings.  These services are provided by staff who welcome all students and embrace a philosophy respectful of clients’ cultural and religious backgrounds, and sensitive to differences in race, ability, gender identity, and sexual orientation.  Services include the following: 

Counseling and Psychological Services at University Park  (CAPS): 814-863-0395
Counseling Services at Commonwealth Campuses
Penn State Crisis Line (24 hours/7 days/week): 877-229-6400
Crisis Text Line (24 hours/7 days/week): Text LIONS to 741741

Military Personnel

Veterans and currently serving military personnel and/or spouses with unique circumstances (e.g., upcoming deployments, drill/duty requirements, disabilities, VA appointments, etc.) are welcome and encouraged to communicate these, in advance if possible, to the instructor in the case that special arrangements need to be made.

Connect Online with Caution

Penn State is committed to educational access for all. Our students come from all walks of life and have diverse life experiences. As with any other online community, the lack of physical interaction in an online classroom can create a false sense of anonymity and security. While one can make new friends online, digital relationships can also be misleading. Good judgment and decision-making are critical when choosing to disclose personal information with others whom you do not know. 

Deferred Grades

If you are prevented from completing this course within the prescribed amount of time for reasons that are beyond your control, it is possible to have the grade deferred with the concurrence of the instructor, following Penn State Deferred Grade Policy 48-40. To seek a deferred grade, you must submit a written request (by e-mail or U.S. post) to the instructor describing the reason(s) for the request. Non-emergency permission for filing a deferred grade must be requested before the beginning of the final examination period.  It is up to the instructor to determine whether or not you will be permitted to receive a deferred grade. If permission is granted, you will work with the instructor to establish a communication plan and a clear schedule for completion within policy.  If, for any reason, the coursework for the deferred grade is not complete by the assigned time, a grade of "F" will be automatically entered on your transcript.


This course will be conducted entirely online. There will be no set class meeting times, but you will be required to complete weekly assignments with specific due dates. Many of the assignments are open for multiple days, so it is your responsibility to complete the work early if you plan to travel or participate in national holidays, religious observances, or university-approved activities.  If you need to request an exception due to a personal or medical emergency, contact the instructor directly as soon as you are able. Such requests will be considered on a case-by-case basis.

In EMS, inclusivity is one of our core values. We prioritize fostering a diverse and equitable community where each member knows they belong here and is inspired to succeed. We encourage everyone in our EMS community to be actively engaged in fostering this ideal, and all members of this class should contribute to a respectful, welcoming, and inclusive environment and interact with civility. Our commitment to inclusivity aligns with Penn State’s values and policies. 

To learn more, visit EMS Educational Equity.  Here, you will find information about the EMS ALLWE initiative, the Rainbow EMS Network, Anti-Racism, active ally-ship, bystander intervention, and more. The site also has resources for where to turn if you need assistance and links to University references.  Also, contact your EMS department’s Associate Head for DEI for more information about department initiatives. 

Mandated Reporting Statement

Penn State’s policies require me, as a faculty member, to share information about incidents of sex-based discrimination and harassment (discrimination, harassment, sexual harassment, sexual misconduct, dating violence, domestic violence, stalking, and retaliation) with Penn State’s Title IX coordinator or deputy coordinators, regardless of whether the incidents are stated to me in person or shared by students as part of their coursework. For more information regarding the University's policies and procedures for responding to reports of sexual or gender-based harassment or misconduct, please visit Penn State's Office of Sexual Misconduct Prevention & Response website.

Additionally, I am required to make a report on any reasonable suspicion of child abuse in accordance with the Pennsylvania Child Protective Services Law.


Please note that the specifics of this Course Syllabus can be changed at any time, and you will be responsible for abiding by any such changes. Changes to the syllabus shall be given to you in written (paper or electronic) form.