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.

2023S, VU, 2.0h, 2.5EC
TUWEL

Properties

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

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:0006.03.2023 - 26.06.2023EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Python programming for geoscience - Single appointments
DayDateTimeLocationDescription
Mon06.03.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon13.03.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon20.03.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon27.03.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon17.04.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon24.04.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon08.05.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon15.05.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon22.05.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon05.06.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon12.06.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon19.06.202315:00 - 17:00EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon26.06.202315: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

Use Group Registration to register.

Group Registration

GroupRegistration FromTo
Distance Learning13.02.2023 00:0020.03.2023 23:59
Präsenz13.02.2023 00:0020.03.2023 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
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