/Geographical-Computing

Course materials for GISC 420 Geographical Computing

Primary LanguageJupyter Notebook

Geographical Computing

These pages outline a one semester (36 contact hours) class in python programming for geospatial that was last taught at Victoria University of Wellington as GISC 420 in the first half of 2022.

I am still in the process of cleaning the materials up for potential conversion into training materials. For the time being the materials are provided gratis with no warrant as to their accuracy as a guide to python programming for geospatial but you may still find them useful all the same!

Link to video segments from zoom sessions

A consolidated list of the video material for this class is available on this page. Note that some video content is from earlier years, but remains relevant.

Lab and lecture timetable

Here's a 12 week schedule for the course.

Week Lecture topic Lab materials Videos
1 Course overview; why python; variables and operators Introduction to Python code Videos
2 Programming 1 functions and conditionals geopandas: working with spatial data using code (5%) Videos
3 Programming 2: Loops, strings, and lists Loops and iteration (10%) Videos
4 Programming 3: Dictionaries Reclassify complex landuse data programmatically (15%) Videos
5 geopandas as a GIS Perform basic GIS operations in geopandas (15%) Videos
6 Programming 4: Objects [right-click download] and APIs; thinking algorithmically Introducing some potential project topics
Mini-programming project (30%) Videos
7 Random other stuff Random other stuff materials
Setting up working environments for the projects
Videos
8 Web-scraping and the DOM BeautifulSoup Videos
9 Automating QGIS the materials Videos
10 A glimpse of other languages: same only different pydeck - making JavaScript using Python
11 Course review (ask me anything!) Working on mini-projects
12 In-class 'e-test' (25%) Working on mini-projects

Readings

A really great introduction to Python is provided by this freely available PDF book (also available to purchase), from which readings will be assigned, especially in the first half of trimester.

Other useful resources are generally found online and will be called out in lectures as we proceed or provided via Blackboard if needed.

Software

Most of the lab assessments will be completed in Jupyter Notebook or similar Jupyter Lab environments. These are good for incrementally becoming accustomed to code, then writing small amounts of code, building up to writing more extensive blocks of code.

For the mini-project assignment it will probably be more effective to work in an Integrated Development Environment (IDE) such as VSCode or PyCharm and use a version control tool such as git.

All these tools are freely available (although there are a few wrinkles and variations between platforms). We will introduce these in class as needed. All are available on the lab machines, but you may prefer to work on your own computer.