
This course teaches GIS specialists to automate geospatial tasks in QGIS with Python, using scripts to solve specific problems, compare automation and plugins, and save time on repetitive work.
Explore how QGIS, an open source, free, cross-platform GIS, offers a plugin system, Python integration, and connectivity to enterprise multi-user databases, including the shift to QGIS 3 and Python 3.
Explore Python's open source, interpretive nature, its advantages and disadvantages in the CU JSC ecosystem, including platform independence and a rich third‑party module ecosystem for data science and GUI.
Discover PyQGIS, the Python package that exposes QGIS core classes, including QgsVectorLayer, QgsFeature, and QgsField, through SIP wrappers and bindings for Python 3.
Learn how Qt, the GUI framework used by QGIS, uses Qt Designer and Qt Creator, with PyQt bindings, signals and slots, and pyuic5 to convert designs into Python modules.
Learn to get help with PyQGIS and QGIS 3 using the developer's cookbook, official docs, and API reference. Explore Google and YouTube for answers, and practice in the Python console.
Use the python console in qgis to run single-line commands, test code, and view outputs, accessing the qgis api via iface and docking options for workflow.
Explore objects and object oriented programming in python by using prebuilt classes, focusing on constructors, properties, methods, and dot notation to create and manipulate instances.
Learn to control the QGIS interface with Python via iface, access the map canvas to zoom and manage layers, and load or add vector layers by name or file.
Learn to work with a layer in QGIS using Python by accessing a vector layer, checking validity, reading its source name, adjusting opacity, and looping through map canvas layers.
Explore how to access and manipulate layers in QGIS with Python: retrieve layers by name, handle lists, adjust opacity with repaint, and iterate over features including selected ones.
Learn how to access and customize QGIS layer symbology using renderers, symbol layers, and color properties with Python, including size and angle adjustments.
Explore point symbology in Python for QGIS by loading a geo package layer and adjusting symbol layers, colors, size, and rotation, then refresh layer symbology via the layer tree view.
Learn to use the PyQGIS Python editor to run multi-line scripts, debug efficiently, save and share code, and integrate with external editors for streamlined QGIS automation.
Discover how to collect user input in QGIS Python scripts with the Q input dialog, supporting text, integer, double, and get item prompts, plus ok/cancel handling.
Learn to use the Q input dialog in Python for QGIS to collect text, integers, doubles, and list selections, including setting a parent, default values, and handling okay or cancel.
Learn how to provide output to users in QGIS Python scripts by using the print statement for debugging and the cute message box with information, warning, critical, and question options.
Learn how to provide user output in QGIS Python automation using the message bar, status bar, and message log, including push_message, message levels, stacking behavior, and interactive inputs.
Learn to use the cross-platform Q file dialog to open, save, and select single or multiple files with type filters (shape files and geo json) across Windows, Mac, and Linux.
Learn how to access and iterate over attribute data in a QGIS layer using get_features, and apply filters with a feature request expression for efficient, selective results.
Learn how to sort features by attributes using Python and PyQGIS, build sort clauses for multi-field sorts (country name, continent), and compare speed and case sensitivity for efficient queries.
Learn how QGIS exposes geometry types in vector layers: the basic type (point, line, polygon) and the WK B type, with integer and string representations.
Explore the QGIS geometry object and its abstract geometry class, including point, line string, polygon, and multi geometries. Use get and constant get to access geometry.
Explore 2d geometry spatial predicates and operations in qgis python, including contains, intersects, within, and bounding box intersects, plus buffer, centroid, and union.
Learn to measure lengths, areas, and perimeters in QGIS using the distance area class, handle geographic coordinates by setting the WGS 84 ellipsoid, and convert results between units.
Learn how to create and manipulate selections in QGIS using Python, including select all, select by ID, select by expression, and select by rectangle.
Learn how coordinate reference systems govern spatial analysis in QGIS, ensuring geometries share a CRS, accessing CRS objects, and creating CRS via proj strings or WKT for on-the-fly transformations.
Learn to transform geospatial coordinates between coordinate reference systems with a QGIS Python transform object, converting longitude and latitude to NAD 83 Washington state plane, using copies for geometry transformation.
Learn how QGIS fields are structured with 2d field objects and the fields class, and how to access fields by name or index and inspect their type, length, and alias.
Learn to modify QGIS vector layers with Python using the data provider to delete features, add fields, or change geometries, and compare with editing inside an added buffer.
Modify feature attributes and geometry in QGIS with Python data providers by building dictionaries of field indexes and new values, selecting features by expression, and applying changes by feature id.
Learn to add new features using the data providers add features method with a compatible fields object, set attributes and geometry, and delete features with the delete features method.
Learn to add and delete fields on a vector layer via the data provider, then call update fields to reflect changes; create fields with the QGIS field constructor.
Leverage an edit buffer to modify vector features in a QGIS layer, using layer methods to add, delete, and change features and attributes, then commit or rollback.
Create QGIS geometries using 2D geometry constructors and deep copies. Explore from WKT and from WKB, and discuss point, line string, polygon, multipoint, multi line string, and multi polygon geometries.
Modify existing geometries using methods like add part, add points, add ring, and insert vertex. Delete parts, rings, and vertices; iterate over parts; convert between abstract and concrete geometry types.
Create a memory layer in QGIS with Python, set the coordinate reference system, define fields, and add features, using either a memory provider constructor or a UI string.
Export a memory layer to disk using the QGIS vector file writer class, and learn to specify the file name, encoding, coordinate reference system, and driver options.
Understand how to get the most from my Udemy courses, including pricing, promotions, and rating dynamics for GIS professionals.
Take your QGIS skills to the next level by learning how to write python scripts to automate QGIS. This course was created using QGIS 3.8 and the material should be valid for many years to come as there are not expected to be major changes to the PyQGIS package after the recent change to QGIS 3.0. All you need for this course is a basic understanding of QGIS and Python. We will be using the editor included with QGIS to write scripts.
Python scripts are much simpler than a full-blown QGIS plugín and the material in this course is focused on the GIS professional who is looking to use python scripts to improve their productivity, rather than the professional programmer. In my work, I have found this knowledge to be indispensable and I can't imagine working in GIS without having some level of scripting ability. I believe that by the end of this course you will feel the same way.