Book Image

Mastering QGIS - Second Edition

By : Kurt Menke, GISP, Paolo Corti, Richard Smith Jr., GISP, Luigi Pirelli, John Van Hoesen, GISP
Book Image

Mastering QGIS - Second Edition

By: Kurt Menke, GISP, Paolo Corti, Richard Smith Jr., GISP, Luigi Pirelli, John Van Hoesen, GISP

Overview of this book

QGIS is an open source solution to GIS. It is widely used by GIS professionals all over the world. It is the leading alternative to the 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, this book will take you all the way through to creating your first custom QGIS plugin. From the refresher, we will recap how to create, populate, and manage a spatial database. You’ll also walk through styling GIS data, from creating custom symbols and color ramps to using blending modes. In the next section, you will discover how to prepare vector, heat maps, and create live layer effects, labeling, and raster data for processing. You’ll also discover advanced data creation and editing techniques. The last third of the book covers the more technical aspects of QGIS such as using LAStools and GRASS GIS’s integration with the Processing Toolbox, how to automate workflows with batch processing, and how to create graphical models. Finally, you will see how to create and run Python data processing scripts and write your own QGIS plugin with pyqgis. By the end of the book, you will understand how to work with all the aspects of QGIS, and will be ready to use it for any type of GIS work.
Table of Contents (19 chapters)
Mastering QGIS - Second Edition
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

A simple plugin example


The goal of this section is to customize TestPlugin to classify the loaded layers in the raster and vectors and respectively populate two comboboxes 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: test_plugin_dialog_base.ui for the GUI layout, test_plugin_dialog.py for the GUI logic, and test_plugin.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 comboboxes that will be populated by the logic of the plugin in test_plugin.py.

To edit the test_plugin_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 test_plugin_dialog_base.ui XML file. With Qt Designer we can reorganize the layout, adding new graphical elements, and also connect events and triggers related to the interface...