top of page

AvaKaza Geo-Science Research Technologies

Certificate Course

Python programming for QGIS

Duration - 60 Days

Online Training(Live Session) &

Offline(Bangalore Campus)


Certificate Course in Python Programming for QGIS


This course introduces and teaches programming and the concepts of object-oriented programming using the Python programming language. 

PyQGIS and its library will be imported to access QGIS Geoprocessing tools to write structured programs. 

PyQGIS includes a series of modules such as data access, mapping, spatial analysis, and network analysis. 

The student will develop Geoprocessing programs during the course with PyQGIS

Why Python?

It is an integral part of QGIS.
Easy to read syntax
Large user community
Useful for scripts to control other programs


PyQGIS is a specific set of Python code that can be used with QGIS. It can help you to automate tasks, such as running a tool on many files at a time or running a certain tool on a regular schedule without user interaction.

Course Objective and Outcome

On completion the successful student will: 

  • Be proficient in using Python.

  • Be able to write a script.

  • Be able to write scripts using PyQGIS. 

  • Customize and develop the tools,

Who Can apply

Any Graduate or Diploma Holder got Basic Understanding of Programming, GIS, and Remote Sensing, Network Analysis, Model Builder

Course - Duration / Training Methodolgy

Total Duration:- 60Days 


Mode of Training -

Bangalore - Classroom + Practicals.

Online - Live Online Classes. Daily 2 Hrs(Need to have a laptop or Computer with Good Internet)

               Dedicated Trainer, Practical sessions. One-on-One Live Training Session.

  • GIS Project Planning & Execution.

  • Hands-on Practical Training.

Course Module and Content

Introduction to Python for ArcGIS.

Overview of Python

Python as a Programming Languages.

Basic Python​

Core Python




 Setting up Path

 Working with Python

 Basic Syntax

 Variable and Data Types


Conditional Statements

If- else
Nested if-else



Nested loops

Control Statements




String Manipulation

Accessing Strings
Basic Operations
String slices
Function and Methods



Accessing list
Working with lists
Function and Methods


Accessing tuples
Functions and Methods


Accessing values in dictionaries
Working with dictionaries



Defining a function
Calling a function
Types of functions
Function Arguments
Anonymous functions
Global and local variables


Importing module
Math module
Random module


Printing on screen
Reading data from a keyboard
Opening and closing file
Reading and writing files


Exception Handling

Exception Handling
Except clause
Try? finally, clause

User-Defined Exceptions

Advance Python

OOPs concept

Class and object
Data hiding


Regular expressions

Match function
Search function
Matching VS Searching



Starting a thread
Threading module
Synchronizing threads
Multithreaded Priority Queue


Automatic QGIS

Installing QGIS 2.18 for development
Using the QGIS Python console for interactive control
Automatically starting the Python console
Using the Python's Script Runner plugin
Setting up your QGIS IDE
Debugging QGIS Python scripts
Navigating the PyQGIS API
Creating a traditional QGIS plugin
Creating a Processing Toolbox plugin
Distributing a plugin
Building a standalone application
Storing and reading global preferences
Storing and reading project preferences
Accessing the script path from within your script


Querying vector data

Loading a vector layer from a file sample
Loading a vector layer from a geodatabase
Examining vector layer features
Examining vector layer attributes
Filtering a layer by geometry
Filtering a layer by attributes
Buffering a feature
Measuring the distance between two points
Measuring distance along a line
Calculating the area of a polygon
Creating a spatial index
Calculating the bearing of a line
Loading data from a spreadsheet
Accessing layer metadata


Editing vector data


Creating a vector layer in memory

Adding a point feature to a vector layer

Adding a line feature to a vector layer

Adding a polygon feature to a vector layer

Adding a set of attributes to a vector layer

Adding a field to a vector layer

Joining a shapefile attribute table to a CSV file

Changing vector layer geometry

Changing a vector layer feature's attribute

Removing data from a vector layer

Deleting a vector layer feature's attribute

Reprojecting a vector layer

Converting a shapefile to KML or GeoJSON

Merging shapefiles

Splitting a shapefile

Generalizing a vector layer

Dissolving vector features

Performing a union on vector shapes

Rasterizing a vector layer

Exporting a layer to the GeoPackage format

Using raster data

Loading a raster layer
Loading a NetCDF file
Getting the cell size of a raster layer
Obtaining the width and height of a raster
Counting raster bands
Swapping raster bands
Querying the value of a raster at a specified point
Reprojecting a raster
Creating an elevation hillshade
Creating vector contours from elevation data
Sampling a raster dataset using a regular grid
Adding elevation data to a line vertices using a digital elevation model
Creating a common extent for rasters
Resampling raster resolution
Counting the unique values in a raster
Mosaicing rasters
Converting a TIFF image to a JPEG image
Creating pyramids for a raster
Converting a pixel location to a map coordinate
Converting a map coordinate to a pixel location
Creating a KML image overlay for a raster
Classifying a raster
Converting a raster to a vector
Georeferencing a raster from control points
Clipping a raster using a shapefile


Creating dynamic maps


Accessing the map canvas

Changing the map units

Iterating over layers

Symbolizing a vector layer

Setting a transparent layer fill

Using a filled marker symbol

Rendering a single band raster using a color ramp algorithm

Setting a feature's color using a column in a CSV file

Creating a complex vector layer symbol

Using icons as vector layer symbols

Using an outline for font markers

Using arrow symbols

Creating a graduated vector layer symbol renderer

Creating a categorized vector layer symbol

Using live layer effects

Creating inverted polygon shapeburst fills

Creating a map bookmark

Navigating to a map bookmark

Setting scale-based visibility for a layer

Using SVG for layer symbols

Using pie charts for symbols

Using the 2.5D renderer

Using XYZ tiled map services

Using Esri ArcGIS map services

Labeling a feature

Using null symbols

Change map layer transparency

Adding standard map tools to the canvas

Using a map tool to draw points on the canvas

Using a map tool to draw polygons or lines on the canvas

Building a custom selection tool

Creating a mouse coordinate tracking tool

Composing Static maps

Creating the simplest map renderer
Using the Map Composer
Adding labels to a map for printing
Adding a scale bar to a map
Adding a North arrow to the map
Adding a logo to the map
Adding a vertical legend to the map
Adding a horizontal legend
Adding a custom shape to the map
Adding a grid to the map
Adding a table to the map
Adding a world file to a map image
Saving a map to a project
Loading a map from a project


Interacting with users

Using log files
Creating a simple message dialog
Creating a warning dialog
Creating an error dialog
Displaying a progress bar
Creating a simple text input dialog
Creating a file input dialog
Creating a combobox
Creating radio buttons
Creating checkboxes
Creating a dock widget
Displaying a message in the status bar
Pushing messages to the message bar
Pushing widgets to the message bar
Creating tabs
Stepping the user through a wizard
Keeping dialogs on top


QGIS Workflows

Creating an NDVI
Geocoding addresses
Creating raster footprints
Performing network analysis
Routing along streets
Tracking a GPS
Creating a mapbook
Finding the least cost path
Performing nearest neighbor analysis
Creating a DEM from LIDAR
Creating a heat map
Creating a dot density map
Collecting field data
Computing road slope using elevation data
Geolocating photos on the map
Image change detection
Adjusting imprecise building footprints
Visualizing multitemporal data

Add-Ons and Placement Support

Mock Interview

Technical Test 

Closing and Discussions.

Live Project Work.


Mid Test.

Resume Preparations.

Placement Assistance(Training & Interviews and Refer to the Companies).

Registeration and Course Fees

Course Fee = Call to get the quote - +9197423 49602

Duration : - 60 Days

Method - Training can be conducted Online or Can be conducted in Bangalore Campus.

How To Apply

Whatsapp/Call to +919108485512

The Course Fees can be negotiated depending upon the number of students and all the students will receive the Certificate from AGSRT and HERE Technologies(Internship).

bottom of page