You can be an excellent sculptor, but without the right tools, you would find it difficult to work. Similarly, even if you are very good at programming, building GIS application is a completely different ball game! The best tool you can go for while building GIS applications is QGIS. QGIS is a standalone geographical information system. It simplifies the process of building complex geospatial applications. It comprises of the tools that reduce the time and effort you spend on a typical application. If you are looking to create complex geospatial applications within a short span of time, then this Learning Path is the way to go.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
The main goal of this Learning Path is to make mold you into an expert GIS application developer.
In PyQGIS: Conquer the Geospatial World with QGIS, you will learn how to use the QGIS system with a specific focus on the PyQGIS library.
Before we begin learning, let’s draw attention towards the “roadmap of the course”.
It begins with understanding the QGIS system, the Python console, and the PyQGIS library. We then move on to learning how to create QGIS plugins and use them in external applications. We then dig deeper into QGIS Python API, concentrating on how this library can be used to display information on a map. We then look at how external applications that use the PyQGIS library can let the user select and edit geospatial features. We go on to use the knowledge we have gained to implement a sophisticated turnkey mapping system.
Then, we will look to create, edit, and optimize a vector layer for faster queries, reproject a vector layer, reduce the number of vertices in a vector layer without losing critical data, and convert a raster to a vector. Following this, you will work through recipes that will help you compose static maps, create heavily customized maps, and add specialized labels and annotations. As well as this, we'll also share a few tips and tricks based on different aspects of QGIS.
By the end of this Learning Path, you will have mastery over the QGIS tool and will find yourself capable of building complex applications with ease.
Using the QGIS Python Console, learn more about the QGIS programming environment.
See how QGIS Python plugins work to extend the functionality of the QGIS system.
Learn how to write Python programs that interact with the user using various QGIS user interface elements.
Learn how to analyze the contents of a raster file containing elevation data.
Learn how to read, write, and manipulate vector-format geospatial data.
Learn how to effectively develop plugins for QGIS.
Learn how to prepare your plugin so that it can be shared with other people.
Add a map view to a standalone PyQGIS-based mapping application.
Add a mode where the user can click on a landmark to display information about that landmark.
Learn how to create a system layer that draws features in a way not supported by the built-in QGIS symbol layer classes.
Learn how to create your own custom renderer classes using Python.
Learn how Layer Editing Mode works and how to use it within your own PyQGIS-based programs.
Learn how to let the user create new LineStringand Polygon features by drawing them onto the map canvas.
In this video, we will understand what it does and how it will work.
This video continues to implement the ForestTrails system by fleshing out core Python sources files which make up the main program.
Check that all the code we have written so far is working properly, and investigate the application's user interface.
In this video, we will integrate the layer editing mode into our application so the user can turn on and off the editing mode and is reminded to save their changes when they quit the program.
This section helps to round out the track-editing capabilities of the ForestTrails system; we need the ability to delete tracks.
In order to have the Python console always available, we will go through this video.
In this video, we'll perform a spatial operation to select the subset of a point layer based on the points contained in an overlapping polygon layer.
Area calculation can be an end in itself to measure the size of a plot of land or a building. It can also be the input to other calculations such as land use maps. This video measures the area of a polygon.
A spatial index optimizes a layer for spatial queries by creating additional simpler geometries that can be used to narrow down the field of possibilities within the complex geometry. So let’s use that instead of geometry.
Previously we added a point feature to a vector layer. Taking this a step further, adding a line feature is adding more points.
Joining attribute tables to other database tables allows you to use a spatial data set to reference a dataset without any geometry, using a common key between the data tables. Hence we will learn to do that in this video.
The GeoPackage format has the properties of both the file format and a geodatabase. It overcomes all the limitations of the shapefile format, such as file size limits, attribute name length limits, and many other inconveniences. Thus, we can use it in our videos.
Sometimes, you need to sample a raster dataset at regular intervals in order to provide summary statistics or for quality assurance purposes on the raster data. A common way to accomplish this regular sampling is to create a point grid over the dataset, query the grid at each point, and assign the results as attributes to those points.
Pyramids, or overview images, sacrifice the disk space for map rendering speed by storing resampled, lower-resolution versions of images in the file alongside the full-resolution image. Thus it is essential to know how to create a pyramid.
The XML data format used by Google Earth for geospatial data is called KML. Converting rasters into a KML overlay compressed in a KMZ archive file is a very popular way to make data available to end users who know how to use Google Earth.
Raster datasets represent real-world features efficiently, but can have limited usage for geospatial analysis. Once you have classified an image into a manageable data set, you can convert those raster classes into a vector data set.
Maps in QGIS are controlled through the map canvas. So in this video, we'll be accessing the canvas and then will be checking one of its properties to ensure that we have control over the object.
A color ramp allows you to render a raster using just a few colors to represent different ranges of cell values that have a similar meaning in order to group them. The approach that will be used in this video is the most common way to render elevation data.
In this video, we'll load some points into QGIS from a CSV file and use one of the columns to determine the color of each point.
TrueType fonts are scalable vector graphics that can be used as point markers. In this video, we'll create a symbol of this type.
Font markers open up broad possibilities for icons, but a single-color shape can be hard to see across a varied map background. In this video, we'll use font marker symbol methods to place an outline around the symbol to give it contrast and, therefore, visibility on any type of background.
Live layer effects provide advanced cartographic effects for QGIS maps. In this video, we'll add the inner glow and drop shadow live layer effects to a polygon layer.
Once your map layers are styled, the next step to creating a complete map is labeling features. We'll explore the basics of labeling in this video.
The QGIS Map Composer allows you to combine a map with non-spatial elements that enhance the understanding of the map. In this video, we'll be creating a basic map composition.
The QGIS composer has an object for drawing and styling nonspatial shapes, including rectangles, ellipses, and triangles. In this video, we'll add some rectangles filled with different colors, which resemble a simple bar chart; then we will add grid for reference purpose. And finally add the table to the composition.
A progress bar is a dynamic dialog that displays the percentage of completion bar for a running process that the user must wait for before continuing. In this video, we'll create a simple progress dialog based on a timer.
Qt has a window setting called hint, which allows you to force a window to stay on top. This type of dialog is called a modal dialog. In this video, we'll create a message dialog using hint.
Collecting field observation data from the field into a GIS required hours of manual data entry. n this video, we'll use a simple GeoJSON-based framework to enter information and a map location from any Internet-connected device with a web browser to update a map in QGIS.
In this video, we'll use EXIF tags to create locations on a map for some photos and provide links to open them.
In this video, we'll load a dataset that has multiple time steps, and use the well-designed TimeManager plugin to step through the data time steps in an animation.
Layer styling is one of the most complex aspects of the QGIS Python API. Once you've developed the style for a layer, it is often useful to save the styling to the QGIS Markup Language (QML) XML format.
The geo_interface is a newer protocol to provide a string representation of geographical data. In this video we will use this to to provide a code snippet, which you can put at the beginning of your Python scripts to retrofit QGIS feature.
QGIS displays data in a two dimensions even if the data is 3D. In this video, we'll use the Qgis2threejs plugin to display QGIS data in 3D in a browser.
QGIS increasingly supports cartographic visualizations that go beyond GIS analysis. In this video we'll animate hub lines generated from the nearest neighbor analysis of UFO sightings in major cities.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.