How to Develop a QGIS Plugin
[qgis
gis
python
programming
]
During my work at CleverFarm, I often needed to work with geospatial data managed by Czech farms.
eAGRI, especially its subdivion also referred to as The Farmer Portal (FP) is a critical source of information for many farmers in the Czech Republic in regard to the soil they manage. However, the user interface which FP provides is most often cumbersome to use. eagris, a QGIS plugin developed in Python, aims to be a more accessible alternative, open to any changes by anyone who knows a thing or two about programming in Python.
Implementing a QGIS extension seemed like a natural choice for me since many agronomists and other users know how to use this software already.
I started working on the plugin in April 2023 with a basic knowledge of QGIS and Python. After half a year of developing the plugin on my own in my spare time, I managed to create quite a mature plugin with automatic testing CI pipelines which automatically release a new plugin version to the official QGIS repository for me.
Unfortunately, there are not that many tutorials on how to develop a custom QGIS plugin from A to Z even though it’s relatively an easy thing to do. As of writing this article, there are already hundreds of plugins publicly available for download.
In this series, I would like to provide a step-by-step tutorial on how to develop a plugin on your own:
- Plan Your Work
- Setting Up Your Environment for Plugin Development
- Your First Step Towards a QGIS Plugin
- PyQT and Interacting With QGIS
- Geoapify Client Integration Part One
- Geoapify Client Integration Part Two
- Creating and Managing QGIS Vector Layers
- Polishing Up: Documentation, README, CHANGELOG, Release