Book Image

Mastering Geospatial Development with QGIS 3.x - Third Edition

By : Shammunul Islam, Simon Miles, Kurt Menke, GISP, Richard Smith Jr., GISP, Luigi Pirelli, John Van Hoesen, GISP
Book Image

Mastering Geospatial Development with QGIS 3.x - Third Edition

By: Shammunul Islam, Simon Miles, Kurt Menke, GISP, Richard Smith Jr., GISP, Luigi Pirelli, John Van Hoesen, GISP

Overview of this book

QGIS is an open source solution to GIS and widely used by GIS professionals all over the world. It is the leading alternative to proprietary GIS software. Although QGIS is described as intuitive, it is also, by default, complex. Knowing which tools to use and how to apply them is essential to producing valuable deliverables on time. Starting with a refresher on the QGIS basics and getting you acquainted with the latest QGIS 3.6 updates, this book will take you all the way through to teaching you how to create a spatial database and a GeoPackage. Next, you will learn how to style raster and vector data by choosing and managing different colors. The book will then focus on processing raster and vector data. You will be then taught advanced applications, such as creating and editing vector data. Along with that, you will also learn about the newly updated Processing Toolbox, which will help you develop the advanced data visualizations. The book will then explain to you the graphic modeler, how to create QGIS plugins with PyQGIS, and how to integrate Python analysis scripts with QGIS. By the end of the book, you will understand how to work with all aspects of QGIS and will be ready to use it for any type of GIS work.
Table of Contents (18 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

A simple plugin example


The goal of this section is to customize plugin_first to classify the loaded layers in the raster and vectors and respectively populate two combo boxes with the layer names.

Adding basic logic to TestPlugin

As said previously, to customize TestPlugin we have to modify some code portions in the files: plugin_first_dialog_base.ui for the GUI layout, plugin_first_dialog.py for the GUI logic, and plugin_first.py for the plugin logic.

Modifying the layout with Qt Designer

The default plugin GUI layout has only two buttons, Ok and Cancel. Here, we will add two combo boxes that will be populated by the logic of the plugin in plugin_first.py.

To edit the plugin_first_dialog_base.ui GUI layout, open it with Qt Designer, which will show the interface of the following screenshot:

This is the graphical representation of the plugin_first_dialog_base.ui XML file. With Qt Designer we can reorganize the layout, adding new graphical elements, and also connect events and triggers related...