GISC 3200K - Programming for Geospatial Science & Technology

See also GISC 5200K.

1   Lectures

  1. Lecture 1: Introduction to programming
    1. How to set up Python for geospatial science and computing
    2. Programming pre-assessment
  2. Lecture 2: Python in ArcGIS Pro 1
  3. Lecture 3: Python in ArcGIS Pro 2
  4. Lecture 4: Logic
  5. Lecture 5: Literals, variables, and constants in Python
    1. Exercise 1: Literals and variables
  6. Lecture 6: Numeral systems in Python
    1. Homework 1: Conversions between numeral systems
  7. Lecture 7: Basic data types in Python
    1. Exercise 2: Read two integers
    2. Exercise 3: User input and type casting
    3. Exercise 4: Geospatial computation
    4. Exercise 5: Understand input()
    5. Exercise 6: Why type casting?
  8. Quiz 1
  9. Lecture 8: Sequence data types in Python
    1. Exercise 7: Read a GeoTIFF file as a NumPy array using GDAL
    2. Exercise 8: List and indexing
  10. Lecture 9: Control statements in Python
    1. Exercise 9: Branch
    2. Exercise 10: Debug branching
    3. Exercise 11: Print the range of an integer using if
    4. Exercise 12: Print the range of an integer using if, elif, and else
    5. Exercise 13: for and list
    6. Exercise 14: for and forward indexing
    7. Exercise 15: for and reverse indexing
    8. Exercise 16: Summation using a for loop
    9. Exercise 17: Summation using a while loop
    10. Homework 2: Summation
  11. Lecture 10: Functions in Python
    1. Exercise 18: Define your first function
    2. Exercise 19: Non-returning function
    3. Exercise 20: Add function
    4. Exercise 21: Why functions?
    5. Exercise 22: Distance function
    6. Exercise 23: Yet another distance function
    7. Exercise 24: File-writing function
    8. Exercise 25: File-reading function
    9. Exercise 26: Directory-listing function
    10. Exercise 27: Create number files
    11. Exercise 28: Add numbers from the number files
    12. Exercise 29: Generate random integers
    13. Exercise 30: User-input function
    14. Exercise 31: Plot a GeoTIFF file
    15. Exercise 32: Calculate the average cell value of a GeoTIFF file
    16. Homework 3: Say rock paper scissors
  12. Exercise 33: How to extract cell values from a GeoTIFF file using NumPy
  13. Exercise 34: How to classify a GeoTIFF file using NumPy
  14. Exercise 35: How to detect changes between two GeoTIFF files using NumPy
  15. Exercise 36: How to save a NumPy array as a GeoTIFF file using GDAL
  16. Exercise 37: How to calculate the area of a certain class in a GeoTIFF file using NumPy
  17. Project proposals

2   Past materials

3   Past projects

3.1   Summer 2021

Creating a Python toolbox for script customization in ArcGIS Pro poster by Catlin Corrales, Summer 2021.svg

3.2   Fall 2020

A parallelized implementation of the moving window & multi-resolution raster similarity indices poster by Owen Smith, Fall 2020.svg

3.3   Fall 2019

The football field generator program poster by Jackson Winskie, Fall 2019.svg

5   References

5.1   Python

5.2   ArcPy

5.3   Mathematics