120.113 Python programming for geoscience
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2024S, VU, 2.0h, 2.5EC
  • TUWEL course available from: 28.02.2024 00:00.

Properties

  • Semester hours: 2.0
  • Credits: 2.5
  • Type: VU Lecture and Exercise
  • Format: Blended Learning

Learning outcomes

After successful completion of the course, students are able to (i) read, (ii) write, (iii) analyze, (iv) manipulate, and (v) visualize Earth Observation (EO) data using Python. In doing so, students will learn a variety of geodata-specific python program libraries. In particular, students will master ...

  •     to handle geometric primitives (points, lines, polygons) and geometric operations applied to them (intersection, union, buffering, etc.),
  •     reading and writing geodata in common data formats (ASCII, Binary, Excel, NetCDF, GeoTIFF, etc.)
  •     the handling of time series and multi-dimensional as well as multi-temporal data sets,
  •     the cartographic processing of EO data and their integration into geographic information systems,
  •     the handling and use of spatial indices and their application for the analysis, segmentation and classification of vector and raster data
  •     the use of machine learning to solve geo- and environmentally relevant problems
  •     to use Python in geoscientific studies/applications.

Subject of course

  • 3rd party Python libraries (IPython, Numpy, Scipy, Pandas, matplotlib, GDAL/OGR, rasterio, shapely, cartopy, fiona, OpenCV etc.).
  • Basic geometric types and geometric operations,
  • Geometric data structures (vector, raster) and spatial indexing (Quadtree, Octtree, kdTree
  • File I/O (ASCII, Binary, ShapeFile, GeoTif, Excel, NetCDF, etc)
  • Earth observation applications (PyQGis, image processing, maps and projections, 1D/2D time series)
  • Geodata visualization and GIS integration
  • Segmentation and classification of raster data and point clouds
  • Machine Learning (scipy, PyTorch) for EO applications

 

Teaching methods

  • Provision of a central web-based programming environment (Jupyter notebooks, web-based IDE, GitLab) for practical work.
  • Guidance for installation and configuration of external Python programming environments (Conda, PyCharm)
  • Teaching content in the form of video tutorials (theory and practical coding examples)
  • Script based on Jupyter notebooks (6 chapters)
  • One programming homework (assignment) per chapter to practice the lecture material in the Jupyter Notebook environment
  • Partially automated assessment and feedback on the homework examples
  • 6 lectures (face-to-face sessions with simultaneous streaming) for review of the homework and debriefing/discussion of the chapter content
  • Support of the students by the lecturers
  • Group work on a larger programming project (predefined topics or own suggestions) incl. group supervision by the LVA team

Mode of examination

Immanent

Additional information

The LVA will be held in presence (computer lab, Department of Geodesy). However, the course is fully digitalized, so that it is also possible to participate in distance learning mode. All classroom sessions are streamed and recorded via Zoom. The Zoom meetings will not be moderated. The number of participants is limited to 45, with a maximum of 25 people allowed in the presence group. Admission to the course is on an individual basis (in TISS). If necessary, preference will be given to students of Geodesy and Geoinformation or Environmental Engineering.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon15:00 - 17:0004.03.2024 - 24.06.2024EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Python programming for geoscience - Single appointments
DayDateTimeLocationDescription
Mon04.03.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon11.03.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon18.03.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon08.04.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon15.04.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon22.04.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon29.04.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon06.05.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon13.05.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon27.05.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon03.06.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon10.06.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon17.06.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon24.06.202415:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften

Examination modalities

  • 6 short programming homeworks (to be performed independently)
  • 1 major programming task (to be performed in group work) incl. final presentation

Course registration

Begin End Deregistration end
12.02.2024 00:00 18.03.2024 23:59 05.04.2024 23:59

Group Registration

GroupRegistration FromTo
Präsenz12.02.2024 00:0018.03.2024 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
066 566 Environmental Engineering Mandatory elective
660 FW Elective Courses - Geodesy and Geoinformation Not specified

Literature

No lecture notes are available.

Previous knowledge

Basic knowledge of Python programming is required. Knowledge of the following topics is required:

  • Simple and compound data types (bool, int, float, str, list, tuple, set, dict).
  • Arithmetic and logical operations
  • Conditional statements (if - elif -else)
  • Loops (for, while)
  • Functions (definition and application, parameters and arguments)
  • Modules and packages (Python standard library: math, os, sys..., own modules)
  • Input and output (ASCII/binary, string operations, output formatting)
  • Data analysis (statistics, numpy, pandas)
  • Data visualization (matplotlib)

 

Preceding courses

Miscellaneous

Language

English