Learn how to set up automated tests for your QGIS plugin to avoid frustration of your future self, plugin users and the general community. It's an often overlooked part of plugin development, yet a very crucial one. Read this tutorial to see it's really not that painful. Includes the setup of Github Actions to run your tests on every push/pull request.

Nordex Energy – Case Study



Together with Nordex Energy, one of the world's largest wind turbine manufacturers, we were given the task to automate the planning of roads to connect the wind turbines to each other. In this article we will focus on the problem itself, the approach we decided to take and the challenges we encountered along the way.
Tagged under: , , ,
Learn how to set up automated tests for your QGIS plugin to avoid frustration of your future self, plugin users and the general community. It's an often overlooked part of plugin development, yet a very crucial one. Read this tutorial to see it's really not that painful. Includes the setup of Github Actions to run your tests on every push/pull request.
Our third tutorial in the QGIS plugin development series focuses on improving code maintenance of QGIS plugins. We will introduce linters, a better code structure and some highly useful tips and tricks for plugin development.
Tagged under: , , , ,
Our second tutorial in the QGIS plugin development series focuses on QGIS and user interaction. You will learn how capture a point clicked on the map canvas by the user, a few practical examples of the concept of signals & slots in PyQt, and then some more.
Tagged under: , , , ,
Follow our tutorial to get a better hang of developing QGIS plugins in QGIS v3.x. The resulting plugin will be capable of querying Nominatim's Reverse Geocoding API from user generated Lat/Long or X/Y in arbitrary coordinate systems and parse the API result into a QGIS Point layer.
Tagged under: , , ,
This post provides a basic reference guide for plugin development in QGIS v3. It describes the most important concepts around QGIS plugins, which a developer should be aware of, such as mandatory methods expected by QGIS, detailed explanation of the output of Plugin Builder 3 and more.
Tagged under: , , ,
Hosting your own QGIS plugin repository can be very beneficial to serve plugins to a limited user base and provide them the comfort of installing and updating your plugins through QGIS. Learn in this tutorial how easy it is to create your own QGIS plugin repository.

pgRouting & PostGIS – Customized Routing



Shortest paths aren't always what you would expect. With this technical tutorial we want to explain how easy it is to tinker with routing algorithms using pgRouting, PostGIS & OpenStreetMap data.
Finding the right routing engine for your use cases can be a tedious task. We compiled an overview for the most popular FOSS routing frameworks to help guide the decision.