Consolidated index of video content
July 19, 2022 ยท View on GitHub
GISC 420 T1 2022 (always under construction!)
Consolidated index of video content
Week 1 Introduction
These are a mix of videos from 2021 and 2022, depending on which seem most useful.
- Computing and interfaces (2021) 4m26s (this is a bit rambly...)
- Why we use conda environments (2022) 13m40s
- Checking
condais installed (2022) 1m09s - Building the
g420environment (2022) 2m58s - Running IDLE (2022) 3m40s
- Overview of week's practical elements (2021) 4m50s
Week 2 Functions and conditionals
Introduction and practical aspects
- Getting to the materials 2m02s
- Unpacking the notebook materials and getting started 1m34s
- Introducing jupyter notebooks 6m16s
Slides about functions
- Defining a function 7m38s
- Function parameters 2m55s
Slides about conditionals
These are from 2021, because I forgot to hit record this time around (oops)
- Conditionals and the flow of program execution
- Boolean expressions with
TrueandFalseandand,orandnot - Evaluation of Boolean expressions
ifandelse
Introducing geopandas
- Introducing
geopandas4m50s - Opening a spatial dataset and a simple map 4m21s
- Mapping data: choropleth maps 5m10s
- Multipanel maps 1m22s
Projections in geopandas
- Dealing with projections 6m45s
The assignment
- Preamble materials 12m33s
- The assignment itself 3m18s
Week 3 Iteration and sequences
Introduction
- Overview comments 1m32s
Iteration
whileloops 8m01sforloops 3m24s- Iteration notebook 2m39s
Sequences
- Sequences, introducing
strings andlists 5m57s - Slicing sequences 4m05s
stringmethods 2m57slistmethods 1m00s- Immutable
strings, mutablelists4m17s - Sequences notebooks 1m31s
The hangman program
- Playing
hangman6m15s - Overview of the
hangmancode 10m03s
Overview of ASSIGNMENT 2
Week 4 Dictionaries and data decoding
How dictionaries work
- Dictionaries and me (1m19s)
- Overview of dictionaries (2m30s)
- A silly example: Te Reo - English translation (2m25s)
- The basic features of dictionaries ()
- Inverting dictionaries to get the reverse lookup from values to keys (3m48s)
Two ways to use dictionaries: counting and memoizing
- Counting using a dictionary (9m23s)
- Memoizing a function using a dictionary (11m51s)
cachetools(1m55s)
Overview of ASSIGNMENT 3
- The land resource inventory data (9m11s)
- An outline solution (8m17s)
Week 5 geopandas as a GIS
These materials were recorded in 2020, but remain applicable this year.
- Overview
- Loading the data
- Buffering
- Centroids and other spatial properties
- Spatial transformation
- Spatial overlays and joins
- Dissolves and merges
Week 6 Object orientation
- Introduction to OOP 7m45s
- A minimalist class that contains data 8m27s
- Copying an object with
copy.copy()1m35s - Objects as more than data containers 6m11s Note: I seem to have cut the last 10s or so from that one, but you get the idea...
- How the class constructor imposes expectations on data 3m05s
- 'Dunder' methods (plus digression about
self) 9m17s - Adding specialised methods to our class 2m40s
dataclassobjects 3m25s- Composing more complex classes from simple ones 8m14s Note: probably shouldn't use a
tupleofPoints in case we might want thePolygonvertices to be mutable.
The mini-project and me rambling about some potential topics
Nothing to see here really..., but for completeness...
- Overview 2m26s
- Isochrones 4m21s
- Multitype Voronoi 2m15s
- Gerrymandering and zone design 6m09s
- Cartograms 2m49s
- Visibility graphs 1m42s
- Woven maps 5m23s
Week 7 Random other stuff and working environments
- Introductory comments 1m18s
Trivia
- Indentation tricks 7m10s
Smart function signatures
- Default values 4m00s
- Arbitrary numbers of arguments 4m22s
- Keyword arguments 2m50s
- Putting it all together 3m06s
List comprehensions
- What they are 3m07s
- Two trivial reasons to use them 2m16s
- Performance... take 1, where I get flustered 2m43s
- Performance... take 2, which is not as bad... 1m31s
mapand comprehensions 6m21s
Importing modules
- Importing modules 6m21s
Working on a project with conda, git and VSCode
condaenvironments... with more technical glitches 5m22s- An overview of github 7m28s
- History on github and cloning a repo locally 6m41s
- VSCode and your project 9m45s
Week 8 Web scraping
New! For 2021...
HTML and the web
- The web in general (6:03)
- A simple web page (8:31)
- A more complicated web page (5:38)
- Summing all that up (5:00)
- Query parameters in a URL (1:59)
Browser developer tools
Grabbing data and APIs
- Grabbing the AED locations data (11:01)
- APIs and why web scraping (8:11)
Web scraping
- The DOM (4:45)
- Introducing
BeautifulSoup4(8:10) - Grabbing the data (7:13)
- Making a scraper (5:13)
Week 9 Automating GIS with python
Some glitches at the start with getting that WFS layer into Q. And the sound is only OK, I'm afraid...
The python console and pyqgis
- The python console in QGIS and
pyqgisthe horror, the horror (7:51) - Doing some odds and ends in the console (6:35)
- There is also an editor available... and why
pyqgisis not very 'pythonic' (6:52)
(Try import this in a python console.)
Model designer
- Answer to a question about whether a simpler API would be possible in some other language (5:04)
- Model designer intro and the sequence of operations for the polygon Voronoi model (9:51)
- Automating that workflow... (6:17)
- Models and generated code (8:36)
- Some limitations of visual model builders (9:58)
Use code!
- Use code instead! (4:21)