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.

2022S, 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 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 Earth observation 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 Earth Observation 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 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 and a student assistant
  • 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 course can be attended either in presence (EDV lab, Department of Geodesy) or via Distance Learning. All classroom sessions are streamed and recorded. In both cases, registration via TISS is necessary and the number of participants is limited to 45, with a maximum of 25 persons admitted to the classroom group. Admission to the course is on an individual basis, whereby preference will be given to students of geodesy and geoinformation or environmental engineering if necessary.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon15:15 - 16:4507.03.2022 - 27.06.2022EDV-Raum. DA grün 02 D (LIVE)Python-Programmierung für Geowissenschaften
Python programming for geoscience - Single appointments
DayDateTimeLocationDescription
Mon07.03.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon14.03.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon21.03.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon28.03.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon04.04.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon25.04.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon02.05.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon09.05.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon16.05.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon23.05.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon30.05.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon13.06.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon20.06.202215:15 - 16:45EDV-Raum. DA grün 02 D Python-Programmierung für Geowissenschaften
Mon27.06.202215:15 - 16:45EDV-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 report

Course registration

Use Group Registration to register.

Group Registration

GroupRegistration FromTo
Distance Learning14.02.2022 00:0021.03.2022 23:59
Präsenz14.02.2022 00:0021.03.2022 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