
Learn to automate geospatial workflows in QGIS with Python, processing spatial data faster and creating custom tools and plugins beyond the graphical interface.
Open the QGIS python console, run and debug scripts with print statements, and use the built-in script editor to automate geospatial tasks and manage map layers.
Load vector layers from shapefiles, style and query them, edit attributes, and export vector data in QGis using PyQGIS; apply categorized styling for capitals and cities.
Master PyQGIS vector layer operations by querying attributes, filtering cities with population greater than 1 million, performing spatial and nearest-neighbor queries, and styling roads.
Master vector layers in PyQGIS by adding and updating attributes, including a zip code field, then export the edited layer to shapefile and GeoJSON.
Learn to load, manipulate, analyze, and export raster data in QGIS with Python, covering geotiff, georeferenced tiff, jpg, and png formats, and properties like extent, dimensions, and crs.
Manipulate raster styles with a single band pseudo color renderer, build a color ramp shader, and apply min–max stops; query raster values at points and edit raster blocks.
Create and edit rasters with PyQGIS, defining dimensions and CRS, writing data blocks, performing hillshade analysis, exporting rasters, and applying color ramps for geospatial automation.
Master how to execute QGIS processing algorithms with Python using the processing run method to automate buffers, clipping, and spatial analysis. Explore practical examples and load results as new layers.
Reproject layers with the native Reproject layer algorithm and automate QGIS processing using Python, including memory layers, batch runs, and robust error handling for geospatial workflows.
Chain multiple QGIS geoprocessing tasks to load roads and places, reproject layers, select primary roads, create buffers, and find places along those roads while printing their names.
Learn to write and run a custom processing script in QGis using the PyQGIS Python API, automating data conversion, spatial analysis, and map creation through the processing toolbox.
Build your own PyQGIS processing script in part 2, run and batch-process shapefiles to count features, generate output layers, and log progress with error handling.
Explore automated map production with PyQGIS part 1, programmatically creating a landscape A4 layout, positioning map elements, and exporting to PDF and SVG for reports, publications and batch processing.
Automate map production in QGIS with PyQGIS, creating layouts, frames, north arrows, scale bars, and legends, while handling CRS alignment and exporting to pdf and svg.
Learn to build a QGIS plugin that calculates land surface temperature from Landsat eight thermal infrared band ten, converting toa radiance to brightness temperature and applying a thermal color ramp.
Everything QGIS can do, your scripts can do too.
QGIS has a Python console sitting right there in the menu, and most people never open it. Behind it is PyQGIS - the same API the software itself is built on - which means anything you can click, you can script. This course shows you how, from your first line in the console to a finished plugin.
You will start by setting up QGIS and finding your way around the Python console, then work through vector layers - loading, selecting, editing attributes, geometry and spatial operations - and raster layers, including bands, statistics and raster calculations. From there you move into the Processing toolbox: running QGIS algorithms from Python, chaining them into multi-step workflows, and writing your own processing script so your workflow appears as a tool alongside the built-in ones.
The last two sections are where it becomes properly useful. You will automate map production - layouts, legends and export, with no layout designer - and then build a real QGIS plugin from scratch: a Land Surface Temperature calculator, structured the way plugins are meant to be structured.
What you will build
Scripts that batch vector and raster operations across many layers
A multi-step workflow that chains QGIS processing algorithms together
A custom processing script that appears in the QGIS toolbox
Automated map layouts exported without opening the designer
A working Land Surface Temperature plugin
What you get
Step-by-step practical examples, not theory
A quiz after each of the core sections
Scripts you can adapt directly to your own projects
Before you enrol
This is an intermediate course. You need QGIS 3.x, working knowledge of GIS concepts, and basic Python - variables, loops and functions. No PyQGIS experience is assumed. QGIS is free and open source, so everything here runs on Windows, macOS or Linux with no licence to buy.
Taught by Dr. Azad Rasul, a geospatial data scientist and Assistant Professor, with over 150,000 students enrolled across his Udemy courses.
Enrol now and start scripting the QGIS work you currently do by hand.