Geospatial Data Science and Remote Sensing

Open Python for Geospatial Data Science

In this course, you will explore the Python programming language and associated open-source modules and libraries for working with and analyzing data in general and geospatial data in particular. Note that this course is much shorter than the course focused on R. We begin with a broad overview of the Python programming language. We then explore key libraries for analyzing data including NumPy, Pandas, and Matplotlib. Next, we explore methods for working with, processing, and analyzing geopatial data provided by GeoPandas, Rasterio, EarthPy, and WhiteboxTools. The final modules focus on machine learning using Scikit-learn and Interpretml. We do not cover ArcPy, the ArcGIS Python environment, since this course focuses on free and open-source tools. It is assumed that you have some prior experience working with geospatial data; however, no prior experience with the Python language or coding in general is assumed. If you do not have a GIS background, I would recommend checking out the West Virginia View Introduction to GIScience class.

Background material and examples will be provided as webpages and video modules. We have provided all required data, code, and Jupyter Notebooks to allow you to follow along with the examples. For a more hands-on exploration, we have also provided a series of assignments and the required data.

After completing this course you will be able to:


Example Environment

Environment Set Up


Example Data

Assignment Data

Basic Python

Basic Python

Deeper Dive

Assignment 1

Python for Data Science



Assignment 2

Data Visualization

Assignment 3


Assignment 4

Assignment 5

Machine Learning

ML Background


Assignment 6


Assignment 7