Learning Path: PyQGIS: Conquer the Geospatial World
- Description
- Curriculum
- FAQ
- Reviews
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.
-
1The Course OverviewThis video provides an overview of the entire course.
-
2Installing QGIS and PythonPrepare your system to develop applications using Python and QGIS.
-
3Introduction to QGISBecause you don't need to have prior knowledge of QGIS to complete this course, in this video, we introduce the QGIS system itself.
-
4Using Python with QGISThis video is an introduction to the three ways in which Python can be used with QGIS.
-
5Using the Python Console as a Window into the QGIS Environment
Using the QGIS Python Console, learn more about the QGIS programming environment.
-
6Examining a Python Plugin
See how QGIS Python plugins work to extend the functionality of the QGIS system.
-
7Using the QGIS Python API within an External ApplicationLearn how to write a standalone Python program that uses the QGIS Python APIs.
-
8Using the ConsoleLearn how to use the QGIS Python Console to explore the QGIS environment and to write and run Python scripts.
-
9Working with Geospatial Data in the ConsoleLearn how to write a Python program that reads and analyses geospatial data using the QGIS console.
-
10Scripting the QGIS User Interface
Learn how to write Python programs that interact with the user using various QGIS user interface elements.
-
11Discovering the QGIS Python APIBefore you can work with the QGIS Python API, you have to understand how the API was developed, how it is organized, and how to learn more about it.
-
12Important Core ClassesThe qgis.core package contains fundamental classes that are used throughout the QGIS system. You will need to become familiar with these to use the PyQGIS API.
-
13Important GUI ClassesThe qgis.gui package defines a number of user interface widgets that you will want to include in your programs.
-
14Analyzing Raster Data
Learn how to analyze the contents of a raster file containing elevation data.
-
15Manipulating and Saving Vector Data
Learn how to read, write, and manipulate vector-format geospatial data.
-
16Using Different Symbols for Different FeaturesUsing Different Symbols for Different Features
-
17Calculating the Distance between Two PointsLearn how to create a map tool that lets the user identify two points within a map and displays the real-world distance between those two points.
-
18Creating a Simple PluginLearn how to create your own QGIS plugin from scratch.
-
19The Plugin Development Process
Learn how to effectively develop plugins for QGIS.
-
20Distributing Plugins
Learn how to prepare your plugin so that it can be shared with other people.
-
21Writing a Useful PluginLearn how to create a more useful QGIS plugin that displays information about a clicked-on geometry.
-
22Possibilities and Limitations of PluginsUnderstand what can and can't be done with QGIS plugins.
-
23Designing a Turnkey Mapping ApplicationDesign, prepare, and implement the Lex (Landmark Explorer) application.
-
24Creating the Lex ApplicationStart to implement the Lex system by defining the structure for the application and creating the overall user-interface
-
25Drawing the Map
Add a map view to a standalone PyQGIS-based mapping application.
-
26Implementing Panning and ZoomingAdd features to the Lex application to allow the user to pan and zoom the map.
-
27Implementing "Explore" Mode
Add a mode where the user can click on a landmark to display information about that landmark.
-
28Possibilities and Limitations of External ApplicationsLearn what can and can't be done with external applications using PyQGIS.
-
29The Course OverviewThis video provides an overview of the entire course.
-
30Installation and SetupPrepare your system to work through the examples in this course
-
31Working with Symbol LayersLearn to combine multiple "symbol layers" to create sophisticated types of symbols.
-
32Implementing Symbol Layers in Python
Learn how to create a system layer that draws features in a way not supported by the built-in QGIS symbol layer classes.
-
33Implementing Renderers in Python
Learn how to create your own custom renderer classes using Python.
-
34Working with Custom Map LayersLearning how to create your own custom map layers to draw information can't easily be represented as a vector or raster map layer.
-
35Creating Custom Map Canvas ItemsLearn how to create your own map canvas items that draw directly onto the map canvas.
-
36Using Memory-Based LayersLearn how to work with memory-based map layers to produce effects not easily achieved using traditional vector layers.
-
37Working with SelectionsLearn how to let the user select vector features within your PyQGIS-based programs, and identify the selected feature(s) so you can work with them.
-
38Layer Editing Mode
Learn how Layer Editing Mode works and how to use it within your own PyQGIS-based programs.
-
39Adding and Editing PointsLearn how to create map tools that let the user add and edit Point geometries.
-
40Deleting Points and other Geospatial FeaturesAdd functionality to a PyQGIS-based application that lets the user delete a feature by clicking on it.
-
41Adding Lines and Polygons
Learn how to let the user create new LineStringand Polygon features by drawing them onto the map canvas.
-
42Editing Lines and PolygonsLearn how to let the user edit a LineString or Polygon geometry by clicking and dragging.
-
43Introducing the ForestTrails Application
In this video, we will understand what it does and how it will work.
-
44Designing the ForestTrails ApplicationIn this video, we will design the application in more detail.
-
45Laying Out the Application
Start implementing the ForestTrails system.
-
46Defining the User InterfaceThe application's user interface needs to be defined in a separate Python class. In this video, we will implement that UI class.
-
47Implementing the Main Program
This video continues to implement the ForestTrails system by fleshing out core Python sources files which make up the main program.
-
48Testing the Application
Check that all the code we have written so far is working properly, and investigate the application's user interface.
-
49Obtaining the BasemapIn this video, we obtain and prepare the basemap for use within the application.
-
50Defining the Map LayersIn this video, we need to show the basemap and vector-format data in the map canvas. And we need to setup the underlying database and then define the map layers and their associated renderers.
-
51The 'Pan' Map ToolIn this video, the user needs to be able to move the map around by clicking and dragging while in the "Pan" mode.
-
52Implementing the Track Editing Mode
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.
-
53The 'Add Track' Map ToolIn this video, because all the track data in the ForestTrails system is created by the end user, we need a tool to let the user create a new track.
-
54Testing and Improving the ApplicationIn this video, we will solve program’s very subtle problem which needs to be fixed.
-
55The 'Edit Track' Map ToolIn this video, we will edit existing tracks.
-
56The 'Delete Track' Map Tool
This section helps to round out the track-editing capabilities of the ForestTrails system; we need the ability to delete tracks.
-
57The Get Info Map ToolIn this video, we help to get some way of allowing the user to enter the metadata about a track, including its name, type, and status.
-
58The Set Start Point and Set End Point ActionsIn this video, before we can implement the Find Shortest Path feature, we need to let the user set the desired starting and ending points.
-
59The Find Shortest Path ActionIn this video, we will see the ability to find the shortest path between two designated points.
-
60Finishing Off and TestingNo program is ever complete. There are some annoying UI quirks we need to fix before reviewing what we have done and looking at ways to make our program even better.
Social Network