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

Vector structure


To describe the QgsVectorLayer class, we will first approach basic layer parameters, and then we will explore how the vector is organized. We will explore some classes that are involved in the vector structure that represent rows and headers.

The basic vector methods

We will explore the vector class by working on a real vector; we will load alaska.shp in the myVector variable.

This variable is an instance of the QgsVectorLayer class. This means that all methods of the vector are documented at http://qgis.org/api/classQgsVectorLayer.html. As for rasters, this class is a specialization of the generic QgsMapLayer class.

To get the extent of the layer, it's necessary to use the extent() method of the QgsMapLayer class:

print(myVector.extent().toString())

Executing the preceding code will generate the following result:

-7115212.9837922714650631,1368239.6063178631011397 : 4895579.8114661639556289,7805331.2230994049459696

This shows the corner coordinates in the format of xmin,ymin: xmax...