
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.
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 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.
Learn how to access and customize QGIS layer symbology using renderers, symbol layers, and color properties with Python, including size and angle adjustments.
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.
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 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 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 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 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.
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.
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.
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.