Skip to primary navigation
Skip to content
Skip to footer
ENV 859
Geospatial Data Analytics
Overview
Calendar
Deliverables
Video links
Drive Map Script
Toggle menu
Toggle Menu
Main page
Sections
Course Intro
1. Advanced Geoprocessing
2. Python 101
3. Scripting with Python
4. GIS & Python
5. Spatial Data Science
Full Calendar
ENV 859 - Geospatial Data Analytics | Fall 2025 | Instructor:
John Fay
Topic
Date
In class...
On your own...
0. Course Intro
Aug-25
Course Intro & Setup
Course Survey
Activate Slack Account
VM Setup
1.0 Section 1 intro
1.1 Workspace Setup
1. Adv. Geoprocessing
Aug-27
Tech roundup
1.2 Workflow to Tool
Q&A Adv Geoprocessing 1.0-1.1
1.3 Conditional Processing
Open Lab: Create workflow
Sep-01
*Labor Day*
1.4 User Interactivity
1.5 Documenting & Sharing
Sep-03
Section 1 Q&A
✅️ Assignment 1
Assignment 1 Intro
2. Intro to Python
Sep-08
Open Lab - Assignment 1
2.2 Navigating Jupyter Notebooks
2.1 Introducing Python
2.3 Getting Started with Python
Sep-10
Q&A 2.1-2.2
2.4 Data Structures
-Exercises
Sep-15
Q&A 2.5
2.5 Flow Control
- Exercises
Sep-17
Q&A 2.6
✅️Assignment 2
- Exercises
3. Writing Python Scripts
Sep-22
3.1 Writing Python Scripts (Intro)
3.4 Scripting project
3.2 Setting up VS Code
3.4.1 Workspace set up
3.3 Using GitHub & Git
3.4.2 Parse one line of data
Sep-24
Q&A 3.1-3.4.2
3.4.3 Read data into your script
Exercise: Python's file object
3.4.4a For loops
Open Lab
3.4.4b While loops
✅️ Assignment 3, Part 1
Sep-29
Q&A 3.4.3-3.4.4
3.4.5 Create data dictionaries
Git reverts
3.4.6 Filter data added to dictionaries
Open Lab
3.4.7 Query dictionaries
✅️ Assignment 3, Part 2
Oct-01
Q&A 3.4.5-3.4.7
✅️ Assignment 3
3.4.8 Handling Errors
4.2 Python & GIS Intro
4. Python & GIS
Oct-06
4.1 Intro to ArcPy
4.2.1 - Running ArcGIS tools in Python
Demo: Extending Python
4.2.2 - ArcPy Functions
Demo: Conda environments
4.2.3 - ArcPy Classes
Demo: Running ArcPro tools in Python
4.2.4 - ArcPy Environment Settings
Oct-08
Q&A Using ArcPy (4.2.1-4)
4.2.5- Script Inputs
Open Lab: ArcPy 4.2.5-4.2.9
4.2.6 - ArcGIS Script Tools
4.2.7 - Describing data with ArcPy
Oct-13
* F A L L B R E A K *
Oct-15
Q&A Using ArcPy 4.2.5-7
4.2.8 - Data access with Cursors
4.2.9 - Working with Geometry Objects
Oct-20
Q&A Using ArcPy 4.2.8-9
4.3 Geoprocessing workflows
4.3 Geoprocessing workflows (intro)
4.3.1 Prep for notebook task
4.3.2 Notebook Initialization
4.3.3 Import Packages
4.3.4 Subset Points w/Select Tool
Oct-22
→ Guest: Elise Boos
4.3.5 Streamline the Select tool
•Q&A 4.3.5-4.3.7
4.3.6 Continue the workflow
4.3.7 View outputs [optional]
Oct-27
→ Guest: Michael Gaffney
4.4 Automating GIS with Python
Q&A 4.3.5 - 4.3.7
4.4.1 Notebook to script
4.4.2 Script based tools in ArcGIS Pro
Oct-29
Q&A 4.4.1 - 4.4.2
✅️ Assignment 4
Demo: Map algebra with `sa`
Demo: ArcGIS R Bridge
5. Spatial Data Science
Nov-03
5.1 What is Data Science
5.2 Pandas and the Dataframe
Exercise: Creating our Conda env
5.2.1 Reading data
5.2.2 Dataframe properties & summaries
5.2.3 Indexing & slicing
Nov-05
Q&A 5.2.1 - 5.2.3
5.2.4 Grouping
Pandas exercises I
5.2.5 Joining dataframes
5.2.6 Transforming data
Nov-10
Q&A 5.2.4 - 5.2.7
5.3 Geopandas & the GeoDataframe
Pandas exercises II
5.3.1 Creating geodataframes
5.3.2 Projections and transformations
Nov-12
→Guest: Ryan O'Banion
5.3.3 Spatial selection
Q&A 5.3.4 - 5.3.2
5.3.4 Spatial aggregation
Geopandas exercises
5.3.5 Spatial joins
Nov-17
Q&A 5.3.4 - 5.3.2
5.4 Data Visualization
Geopandas exercises
5.4.1 Anatomy of a plot
5.4.2 The grammer of graphics
5.4.3 Maps
Nov-19
TBD
6. Projects & Demos
Nov-24
Course Wrap up