Skip to main content
Skip header

Programming in GIS 4

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code548-0141/01
Number of ECTS Credits Allocated5 ECTS credits
Type of Course Unit *Compulsory
Level of Course Unit *Second Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites There are no prerequisites or co-requisites for this course unit
Name of Lecturer(s)Personal IDName
RUZ02Ing. Kateřina Růžičková, Ph.D.
KUK064Ing. Pavel Kukuliač, Ph.D.
CAH0021doc. RNDr. Jan Caha, Ph.D.
Summary
Course is focusing on developing own tools (plugins) in Python language for software QGIS while using QGIS API. Students will be introduced to possibilities of data processing automation while using QGIS functionality and will learn how to develop tools for these purposes.
Learning Outcomes of the Course Unit
The aim of the course is to teach students to create their own tools (plugins) for QGIS software in Python. Students gain following skills:
- installation and setup of open-source GIS tools (QGIS, GDAL) with Python API
- QGIS using via Python console
- creation of tools for QGIS in Python with qgis.core objects
- creating of own plugin for QGIS
- creating tests for own plugin
- creation of graphical user interface for Python tools within QGIS
Course Contents
1. PyCharm IDE, installation and setup of open-source GIS tools (QGIS, GDAL) with Python API
2. Python in QGIS - Models, Scripts, GUI
3. QGIS usage via Python console
4. Creation of tools for QGIS in Python (Scripts) - tool structure, basic data processing
5. QGIS API - division, main parts - modules qgis.core, qgis.analysis, qgis.processing
6. Basic objects for creating tools from the qgis.core module
7. Creating tools for QGIS in Python with qgis.core objects - introduction, basic elements of the interface
8. Creating tools for QGIS in Python with qgis.core objects - vector data
9. Creating tools for QGIS in Python with qgis.core objects - raster data
10. Plugin creation - structure, requisites, tools for creation
11. Creating tests (Python module unittest) for own plugin
12. Creating more complex GUIs for Python tools within QGIS
13. Python programs using QGIS API without direct access to QGIS
Recommended or Required Reading
Required Reading:
LAWHEAD, J.: QGIS Python Programming Cookbook. Birmingham: Packt Publishing Ltd. 2015. ISBN 1-78398-498-8.
GRASER, A., OLAYA, V.: Processing: A Python Framework for the Seamless Integration of Geoprocessing Tools in QGIS. ISPRS International Journal of Geo-Information, 4(4), 2219-2245, doi:10.3390/ijgi4042219. 2015.
GRASER, A.: Learning QGIS. Third edition. Birmingham: Packt Publishing Ltd. 2016. ISBN 978-1-78588-033-9.
PyQGIS Developer Cookbook. Available online from: https://docs.qgis.org/3.16/en/docs/pyqgis_developer_cookbook/index.html
GIS mentors. Školení GeoPython pro pokročilé. Dostupné Online: https://training.gismentors.eu/geopython-pokrocily/
LAWHEAD, J.: QGIS Python Programming Cookbook. Birmingham: Packt Publishing Ltd. 2015. ISBN 1-78398-498-8.
GRASER, A., OLAYA, V.: Processing: A Python Framework for the Seamless Integration of Geoprocessing Tools in QGIS. ISPRS International Journal of Geo-Information, 4(4), 2219-2245, doi:10.3390/ijgi4042219. 2015.
PyQGIS Developer Cookbook. Dostupné online z: https://docs.qgis.org/3.16/en/docs/pyqgis_developer_cookbook/index.html
Recommended Reading:
QGIS API Documentation. https://qgis.org/api/modules.html
CUTTS, A., GRASER, A. Learn QGIS: your step-by-step guide to the fundamental of QGIS 3.4. 4th edition. Birmingham: Packt Publishing Ltd. 2018. ISBN 978-1-78899-742-3.
GRASER, A., MANDEL, A., FERRERO, V., BRUY, A., MEARNS, B.: QGIS: Becoming a GIS Power User. Birmingham: Packt Publishing. 2017. ISBN 978-1-78829-972-5.
MENKE, K., SMITH, R., PIRELLI, L., VAN HOESEN, J.: Mastering QGIS. Second Edi. Birmingham: Packt Publishing Ltd. 2016. ISBN 978-1-78646-037-0.
QGIS API Documentation. https://qgis.org/api/modules.html
CUTTS, A., GRASER, A. Learn QGIS: your step-by-step guide to the fundamental of QGIS 3.4. 4th edition. Birmingham: Packt Publishing Ltd. 2018. ISBN 978-1-78899-742-3.
GRASER, A., MANDEL, A., FERRERO, V., BRUY, A., MEARNS, B.: QGIS: Becoming a GIS Power User. Birmingham: Packt Publishing. 2017. ISBN 978-1-78829-972-5.
MENKE, K., SMITH, R., PIRELLI, L., VAN HOESEN, J.: Mastering QGIS. Second Edi. Birmingham: Packt Publishing Ltd. 2016. ISBN 978-1-78646-037-0.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Credit and ExaminationCredit and Examination100 (100)51
        CreditCredit33 17
        ExaminationExamination67 (67)18
                Written part of examWritten examination52 18
                Oral part of examOral examination15 0