Skip to content

Materials for the Intro to Programming for GIS and Remote Sensing Course that I teach at Saint Louis University. They include the updates I made for the spring 2020 and fall 2020 semesters.

Notifications You must be signed in to change notification settings

gbrunner/programming-for-gis-and-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course Description

This course will introduce students to Python programming and its applications to remote sensing and GIS. Through completing this course, students will be able to use Python to perform common GIS and remote sensing analysis tasks, automate workflows, and develop custom Python tools. Topics will include describing data, manipulating data, automating spatial analysis tasks, creating Python scripts and tools, and using Python for imagery analysis. We will also introduce students to WebGIS and how Python can be used to interface with data that is shared online.

Course Objectives

  • Students will learn Python and understand how to use it to solve problems in GIS and Remote Sensing and will demonstrate their knowledge by completing multiple homework assignments and projects.
  • Students will be encouraged to use Python through relevant examples and assignments.
  • Students will begin implementing it in their own research projects such as theses and capstones.

Materials

Course Materials will be shared using Blackboard. Slides, labs, and homework are in the folders that correspond to the specific units covered in class.

Texts

Grading

  1. 15% - Lab Work & Programming Exercises
  2. 15% - Homework Assignments
  3. 20% - Project 1
  4. 20% - Project 2
  5. 30% - Final Project

Feedback and Assessment

In order to ensure that students are on track to achieve the course objectives, students will have weekly coding assignments. The coding assignments will be graded and returned before the next online lecture, where the solutions will be reviewed, and questions will be addressed. Feedback on respective assignments will also be given to each student through Blackboard. Weekly assignment will become the foundation for student projects which will serve as the benchmarks for whether students understand how to use programming to solve GIS and remote sensing problems. There will be 3 projects over the course of the semester. Two will be defined by the professor. The third and final project will be defined by the student in consultation with me. For the final project, the student will define the questions he or she wants to answer, find the data to answer it, code up a solution to the question(s), and put together a presentation on the project and solution that will be presented during our final class. For the final project, discussion with classmates and me is encouraged as each student will define his or her own project and goals. The instructor will make himself available for virtual office hours weekly on Mondays from 4 to 5 PM using Zoom. If you have questions or concerns, don’t hesitate to meet with me during office hours, send me an email, or schedule an ad-hoc meeting with me outside of our regular meetings or office hours. For week 1 of class, please post your name, discipline of study, and academic interests in the Introductions discussion channel in Blackboard. If you ever need to talk, do not hesitate to reach out to me.

Schedule

Week Topic
Week 1 Intro to Python & Jupyter
Week 2 Intro to arcpy
Week 3 Exploring spatial data
Week 4 Working with feature data and cursors
Week 5 Working with features and geometries
Week 6 Rasters & imagery
Week 7 Creating Python script tools
Week 8 Functions, classes, and error handling
Week 9 Intro to Python for web GIS
Week 10 Interacting with AGOL using Python
Week 11 Publishing and consuming GIS services
Week 12 Plotting and data visualization
Week 13 Introduction to HTML and JavaScript
Week 14 Scientific data
Week 15 Final Project presentations

Homework

The purpose of the homework is twofold: to keep you thinking about Python outside of the lab and to prepare you for the next class. I do not want to overwhelm you with homework. I do want to ensure that you are learning how to use Python to solve GIS and remote sensing problems. Please do not hesitate to ask me or your classmates questions on homework if you are encountering difficulties. Furthermore, I would like your feedback as to whether assignments get too difficult or too easy so that I can adjust the assignments and in-class materials accordingly. Homework is to be submitted via blackboard before class on the day that it is due.

In Class Exercises

The easiest way to learn to code is by writing code! Lectures are designed to be interactive. If I am typing code, you should be too! Lectures will be followed by in-class exercises that are designed to get you writing code on your own. The exercises that I have written as Python notebooks (.ipynb files) have questions throughout them. Please answer these questions and submit them via Blackboard before the beginning of the following week of class.

Project 1

Project 1 will likely consist of working with tabular data (CSV or text file) or generating some report based on GIS data using Python. I will give the assignment by week 4. It is due before class on week 6.

Project 2

Project 2 will likely consist of using Python to do some sort of spatial analysis or raster analysis. It will be assigned by week 9. It is due before class on week 11.

Final Project

In my experience, all students and professionals need at least one demo or presentation that they can be prepared to give for a job interview, conference presentation, or other type of meeting. Through this class, I’d like each student to develop that demo or presentation, with the foundation of that presentation being some sort of spatial analysis, imagery analysis, or GIS analysis with Python. Each student will be responsible for a short 10 minute presentation to be given during either Week 14 or 15 of class on a project of their own choosing that will leverage Python. Before Spring Break (i.e. by Week 8), please submit to me a short write up (no more than 1 page) of what your project will be, what problem you will solve, how you will use Python to solve the problem. On week 14 or 15, please be prepared to give a 10 minute presentation explaining your problem, solution, how you got there, and hopefully some cool maps and results.

About

Materials for the Intro to Programming for GIS and Remote Sensing Course that I teach at Saint Louis University. They include the updates I made for the spring 2020 and fall 2020 semesters.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published