Topics
Every subject on the site, grouped into areas. Each topic page brings the concepts, the how-to guides and the fixes for that subject onto one page.
There are three ways to find things here, and this is the one to use when you know the subject but not the guide. A topic page answers "what does this site have on CRS?" — all of it, in the order that usually works: the concept first, then the task, then the error you are about to hit.
If you would rather follow a route than pick a subject, the learning paths string guides into ordered sequences. If you know the kind of help you need rather than the subject, browse by concept, how-to or fix.
Fundamentals
What the objects, files and libraries actually are.
-
Getting started
A working install, your first GeoDataFrame, and what Python GIS is for.
24 guides → -
Files & formats
Reading and writing shapefiles, GeoPackages, GeoJSON and CSV — and what breaks in each.
82 guides → -
Data sources & downloads
Getting the data in the first place: OpenStreetMap, web services, satellite catalogues and geocoders.
33 guides → -
Geocoding & addresses
Turning address text into coordinates, and coordinates back into places — with the match quality attached.
23 guides →
Geometry & space
The shapes themselves, where they sit on the earth, and how they relate.
-
Geometry & topology
Clipping, buffering, dissolving and overlays — and what makes a geometry valid.
72 guides → -
CRS & projections
Coordinate systems, EPSG codes, reprojection, and the silent errors they cause.
44 guides → -
Joins & relationships
Spatial joins, attribute joins, nearest neighbour and point-in-polygon.
48 guides → -
Networks & routing
Street networks as graphs: shortest paths, travel time, isochrones and snapping.
25 guides → -
3D & buildings
Footprints with a height on them: extrusion, city models, volumes, shadows and the meshes you export.
20 guides → -
H3 & global grids
Indexing the earth into cells: H3 hexagons, S2, geohash and quadkeys — resolution, hierarchy and the joins they make cheap.
20 guides →
Imagery & point clouds
Data that arrives as measurements of a surface rather than as features on it.
-
Satellite imagery
Bands, reflectance, cloud masks and composites — turning scenes into an array you can trust.
22 guides → -
LiDAR & point clouds
LAS, LAZ and COPC files: returns, classes, density, and the surfaces you derive from them.
16 guides → -
Gridded & climate data
NetCDF, GRIB and Zarr grids with a time axis: opening, subsetting, averaging and regridding them with xarray.
24 guides →
Analysis
Getting from a raw download to something you can put in front of someone.
-
Data cleaning
Turning a messy download into an analysis-ready dataset you can trust.
70 guides → -
Raster & rasterio
Reading, sampling and converting raster data in Python.
69 guides → -
Maps & visualisation
Static plots, choropleths, interactive maps, and exporting images people can use.
64 guides → -
Spatial statistics
Density, clustering, hotspots and autocorrelation — measuring pattern rather than drawing it.
40 guides → -
Census & demographics
Census boundaries and tables: joining them, turning counts into rates, carrying margins of error, and comparing years.
28 guides → -
Terrain & elevation
Working with DEMs: slope, aspect, hillshade, contours, profiles and drainage.
42 guides → -
Hydrology & watersheds
Where water goes on a DEM: conditioning, flow direction and accumulation, watersheds, stream networks and HAND.
20 guides → -
Movement & time
GPS tracks and trajectories: cleaning them, segmenting them, and measuring what moved where.
18 guides → -
Web maps & tiles
Getting a dataset into a browser: tile pyramids, vector tiles, PMTiles and MapLibre styling.
24 guides → -
Cartography & map design
The decisions that turn a correct plot into a map someone can read: hierarchy, colour, labels and export.
22 guides → -
Coastal & marine
Depths, tides and shorelines: bathymetry grids, which line is the coast, inundation, vessel tracks and the sea areas a country can claim.
20 guides → -
Agriculture & vegetation
Fields, crops and canopies: boundaries, vegetation indices over a season, yield maps, management zones and prescription files.
20 guides →
Modelling & prediction
Predicting values where nobody measured them, and deciding where things should go — with the limits of each model attached.
-
Spatial machine learning
Features, spatial cross-validation, prediction rasters and the area a model can honestly speak for.
17 guides → -
Interpolation & surfaces
IDW, kriging, TIN and variograms — turning scattered samples into a surface, with its support attached.
18 guides → -
Location & accessibility
Catchments, access to services, gravity models, site suitability and choosing where the next facility should go.
20 guides →
Production
Work that runs without you watching it.
-
Batch processing
Running one operation across a whole folder without babysitting it.
41 guides → -
Pipelines & automation
Config-driven, scheduled, observable workflows that run without you.
50 guides → -
Performance & scale
Spatial indexes, parallelism, memory, and datasets too big to load at once.
67 guides → -
Cloud-native formats
COG, Zarr, GeoParquet and STAC: reading the part you need over the network instead of downloading the file.
22 guides → -
Testing, CI & Docker
Proving a GIS workflow still works, and shipping it somewhere reproducible.
19 guides →
Delivery & sharing
Handing the work to someone else: an API, an app, a link that keeps working.
Governance & trust
What a dataset is allowed to say, who it is allowed to say it about, and how anyone proves where it came from.
-
Privacy & sensitive locations
Coordinates are personal data: re-identification risk, geomasking, aggregation thresholds and the checks to run before a release.
20 guides → -
Metadata, licensing & provenance
The record that travels with the data: what it describes, who may use it, which version it is, and what produced it.
20 guides →
Tools
The other software in a Python GIS stack, driven from Python.
-
QGIS & PyQGIS
Driving QGIS from Python: Processing algorithms, layouts, plugins and headless runs.
25 guides → -
PostGIS & databases
Spatial data in Postgres: connecting, querying, and writing results back.
19 guides → -
DuckDB & analytic SQL
A spatial database with no server: querying GeoParquet, joining millions of rows, and where it beats a GeoDataFrame.
21 guides →