pl en
Python praxis in photogrammetry and remote sensing
Course description sheet

Basic information

Field of study
Geodesy, Surveying and Cartography
Major
Geoinformation, Photogrammetry and Remote Sensing
Organisational unit
Faculty of Geo-Data Science, Geodesy, and Environmental Engineering
Study level
Second-cycle (engineer) programme
Form of study
Full-time studies
Profile
General academic
Didactic cycle
2023/2024
Course code
DGIKGFS.IIi4.05942.23
Lecture languages
English
Mandatoriness
Elective
Block
Elective Modules in Foreign Language
Course related to scientific research
Yes
Course coordinator
Mariusz Twardowski
Lecturer
Mariusz Twardowski
Period
Semester 3
Method of verification of the learning outcomes
Completing the classes
Activities and hours
Project classes: 30
Number of ECTS credits
3

Goals

G1 Course aims for student to acquire practical knowledge necessary for using Python language in processing data accumulated with remote sensing methods and learn how to interface self-developed applications with existing tools.

Course's learning outcomes

Code Outcomes in terms of Learning outcomes prescribed to a field of study Methods of verification
Knowledge – Student knows and understands:
W1 principles of programming in the Python language GIK2A_W05, GIK2A_W06 Activity during classes, Execution of exercises, Execution of a project
Skills – Student can:
U1 to create programs in the Python language GIK2A_U11 Activity during classes, Execution of exercises, Execution of a project
U2 to extend the functionality of geoinformatics tools using the Python language GIK2A_U06, GIK2A_U11 Activity during classes, Execution of exercises, Execution of a project
Social competences – Student is ready to:
K1 creativity in approaching programming GIK2A_K01 Activity during classes, Execution of a project

Program content ensuring the achievement of the learning outcomes prescribed to the module

The module allows for familiarizing oneself with the principles of programming in the Python language, utilizing its selected libraries, and designing and practically implementing a graphical interface. It then teaches how to apply the acquired principles to create a graphical application using object-oriented programming.

Student workload

Activity form Average amount of hours* needed to complete each activity form
Project classes 30
Preparation for classes 30
Realization of independently performed tasks 10
Examination or final test/colloquium 2
Contact hours 2
Preparation of project, presentation, essay, report 15
Student workload
Hours
89
Workload involving teacher
Hours
30

* hour means 45 minutes

Program content

No. Program content Course's learning outcomes Activities
1.

Project exercises


1. Introduction to the Python Language


Getting acquainted with the language interpreter. Comparison with other programming languages. Variable assignments, mathematical and logical operators. Basic data types and their representation. Keywords and fundamental language concepts. Complex structures. Understanding immutable objects.


2. Scripts and Program Flow Control


Formatting correct scripts and executing them. Conditional and looping structures, function definitions controlling program flow. Differences between an interpreter and a compiler. Handling exceptions in a program. Input/output handling for different devices. Defining functions of different types.


3. Classes, Objects, and Modules 


Introduction to object-oriented programming in Python. Building classes, objects, and methods, their inheritance and polymorphism. Ways to modularize scripts and import libraries.


4. Selected Language Libraries


Discussion of important elements of standard libraries. Libraries containing geospatial transformations: GDAL, OGR, OSR. Methods for reading, writing, and processing raster and vector data.


5. QT Interface


Design Utilizing tools for rapid application development (RAD), automatic code generation, connecting interface elements with executable code. Introduction to the concept of event-driven programming. Familiarization with libraries for building graphical interfaces.


6. Practical Implementations


Sample applications using Python and QT. Implementation of photogrammetric and remote sensing algorithms for data processing. Manipulating images through direct I/O and libraries. Data visualization methods


 


Selected topics may require webinar (online) atenndance.

W1, U1, U2, K1 Project classes

Extended information/Additional elements

Teaching methods and techniques :

webinars and online environment for e-learning: UPEL, BigBlueButton, Clickmeeting or MS Teams., E-learning

Activities Methods of verification Credit conditions
Project classes Activity during classes, Execution of exercises, Execution of a project

Conditions and the manner of completing each form of classes, including the rules of making retakes, as well as the conditions for admission to the exam

Design exercises are passed on the basis of a colloquium. In the absence of a pass, there will be an opportunity to improve.

Method of determining the final grade

Evaluation of the student's activity on exercises, assignments and the final project.

Manner and mode of making up for the backlog caused by a student justified absence from classes

The student makes up the arrears on his own.

Prerequisites and additional requirements

General x86 computer usage

Text editor familiarity

Fluent common english language

Rules of participation in given classes, indicating whether student presence at the lecture is obligatory

Project exercises: Students carry out practical work aimed at obtaining the competences assumed by the syllabus. The method of project implementation and the final effect are assessed.

Literature

Obligatory
  1. Python documentation: https://docs.python.org/3/
  2. Qt documentation: https://doc.qt.io/qtforpython-5/contents.html
Optional
  1. Summerfield Mark: “Rapid GUI Programming with Python and Qt”. Prentice Hall 2008
  2. Dawson Michael: “Python dla każdego.Podstawy programowania”. Helion 2014

Scientific research and publications

Publications
  1. K. Pyka, M. Twardowski: "Miejsce wolnego oprogramowania w nauczaniu geoinformatyki". Archiwum Fotogrametrii, Kartografii i Teledetekcji. 2007.
  2. Hejmanowska, B., Twardowski, M., & Żądło, A. (2021). An Application of the “Traffic Lights” Idea to Crop Control in Integrated Administration Control System. Geomatics and Environmental Engineering, 15(4), 129–152. https://doi.org/10.7494/geom.2021.15.4.129
  3. Rzonca A., Twardowski M., 2022, The lidargrammetric model deformation method for altimetric UAV-ALS data enhancement