Skip to main content
Skip header

Programming in GIS 2

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

Course Unit Code548-0130/01
Number of ECTS Credits Allocated5 ECTS credits
Type of Course Unit *Compulsory
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
RUZ02Ing. Kateřina Růžičková, Ph.D.
CAH0021doc. RNDr. Jan Caha, Ph.D.
Summary
The subject is extending Python knowledge and its application for GIS platforms. Student will learn, how to create his own GIS tool/plugin. Student also get better knowledge in object-oriented programming.
Learning Outcomes of the Course Unit
Students should be able to apply Python and spatial libraries for simple GIS tools development with open source products.
Students should be able to select suitable components for special tasks and situations.
Students should be able to estimate complexity of tool development in special tasks and situations.
Course Contents
1. Revision of Python basics
2. Extending of Python basics - exceptions
3. Creation of virtual environments with Python interpreters and additional libraries
4. Python and procedural programming
5. Python and object-oriented programming
6. Projects backup with GitHub
7. Automated processing in GIS
8. GDAL, Rasterio libraries
9. Fiona, Shapely libraries
10. Creating using interface with Qt Designer
11. GeoPandas - geodata management and spatial reference of geodata
12. GeoPandas and vector geodata processing
13. GeoPandas and raster geodata processing
Recommended or Required Reading
Required Reading:
REY, S, ARRIBAS-BEL, D., WOLF , L. J. Geographic Data Science with Python. Chapman and Hall/CRC; 1st edition (June 14, 2023). Online: https://geographicdata.science/book/intro.html
GANDHI, U. Geospatial Analysis with Python. Spatial Thoughts (2020). Online: https://courses.spatialthoughts.com/python-foundation.html
UNIVERSITY OF HELSINKY. Geopython - AutoGIS. 2016. Online: https://automating-gis-processes.github.io/2016/course-info.html
GARRARD, CH. Geoprocessing with Python. Manning, 2016. 360 p. Online: https://www.manning.com/books/geoprocessing-with-python ISBN 9781617292149
GIS MENTORS. Automatizace v QGIS – Tvorba vlastních nástrojů pomocí jazyka Python. Online:
https://gismentors.cz/blog/automatizace-v-qgis-tvorba-vlastnich-nastroju-pomoci-jazyka-python/
GIS MENTORS. Školení GeoPython pro pokročilé. Online: https://training.gismentors.eu/geopython-pokrocily/
VIKTORIN, P., HRONČOK, M. a kol. GUI v Pythonu: PyQt5. ČVUT 2017. Online: https://naucse.python.cz/lessons/intro/pyqt/
Recommended Reading:
Documentation of GDAL library. Online: https://gdal.org/
GeoPandas developers. Geopandas. Online: https://geopandas.org/index.html
GANDHI, U. Python Scripting (PyQGIS). Online http://www.qgistutorials.com/en/index.html
Python Software Foundation. The Python Tutorial. Online: https://docs.python.org/3/tutorial/
Tutorials Point. Pycharm - Introduction. Online: https://www.tutorialspoint.com/pycharm/pycharm_introduction.htm
Dokumentace knihovny GDAL. Online: https://gdal.org/
itnetwork.cz. Objektově orientované programování v Pythonu. Online: https://www.itnetwork.cz/python/oop
GeoPandas developers. Dokumentace knihovny Geopandas. Online: https://geopandas.org/index.html
GANDHI, U. Python Scripting (PyQGIS). Online http://www.qgistutorials.com/en/index.html
PILGRIM, M. Ponořme se do Python(u) 3 : Dive into Python 3. Praha. 2010. ISBN 978-80-904248-2-1
Tutorials Point. Pycharm - Introduction. Online: https://www.tutorialspoint.com/pycharm/pycharm_introduction.htm
Planned learning activities and teaching methods
Lectures, Tutorials, Project work
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 (33)17
                Work at exerciseLaboratory work7 4
                Programming tasks at exercisesWritten test13 0
                ProjectProject13 7
        ExaminationExamination67 (67)35
                Written examWritten test67 35