Learning Paths
Curated, topic-based routes through the guides — start at the top of a path and work down.
-
Finding & Fetching Data
Get the data before you analyse it — from OSM, web services and satellite catalogues.
Open path → -
Spatial Statistics
Measure the pattern instead of eyeballing the map.
Open path → -
Terrain & Elevation
Turn a grid of heights into slope, shade, contours and drainage.
Open path → -
Networks & Routing
Distance along the street, not across the rooftops.
Open path → -
Raster Analysis
Read, reproject, clip and summarise raster data in Python.
Open path → -
Spatial SQL & PostGIS
Move the heavy lifting from Python into the database.
Open path → -
Making Maps
Turn a GeoDataFrame into a map someone else can read.
Open path → -
GIS Data Cleaning
Turn messy spatial data into analysis-ready datasets.
Open path → -
Batch Processing
Process many files at once, reliably.
Open path → -
Automation & Pipelines
Build repeatable, config-driven GIS pipelines.
Open path → -
QGIS Automation
Automate QGIS with PyQGIS and Processing models.
Open path → -
Satellite Imagery
From a scene on a catalogue to a number you can defend.
Open path → -
LiDAR & Point Clouds
Millions of points, and the surfaces worth deriving from them.
Open path → -
Cloud-Native GIS
Read the part you need, not the file it lives in.
Open path → -
Publishing Web Maps
Get the data into a browser without shipping the whole dataset.
Open path → -
Movement & Time
Tracks are not points — the order and the clock are the data.
Open path → -
Spatial Machine Learning
Why the usual rules break, and what to do instead.
Open path → -
Interpolation & Surfaces
A continuous surface from scattered samples, with its support attached.
Open path →