- Nazwa przedmiotu:
- Programowanie w SIP
- Koordynator przedmiotu:
- dr inż. Anna Fijałkowska, mgr inż. Sylwia Krzysztofowicz, mgr inż. Oskar Graszka
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Geodezja i Kartografia
- Grupa przedmiotów:
- Obowiązkowe
- Kod przedmiotu:
- GK.SMS295
- Semestr nominalny:
- 2 / rok ak. 2023/2024
- Liczba punktów ECTS:
- 2
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1) Liczba godzin kontaktowych - 33 godzin, w tym:
a) uczestnictwo w ćwiczeniach - 3x10 godzin = 30 godzin,
b) udział w konsultacjach - 3 godziny.
2) Praca własna studenta - 27 godzin, w tym:
a) przygotowanie do zajęć - 15 godzin,
c) sporządzenie projektów zaliczających poszczególne moduły ćwiczeń - 12 godzin.
RAZEM: 60 godzin - 2 punkty ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1,1 punktu ECTS - liczba godzin kontaktowych - 33 godziny, w tym:
a) uczestnictwo w ćwiczeniach - 3x10 godzin = 30 godzin,
b) udział w konsultacjach - 3 godziny.
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1,7 punktu ECTS - 52 godzin, w tym:
a) uczestnictwo w ćwiczeniach - 3x10 godzin = 30 godzin,
b) przygotowanie do zajęć - 10 godzin,
c) sporządzenie projektów zaliczających poszczególne moduły ćwiczeń - 12 godzin.
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład0h
- Ćwiczenia0h
- Laboratorium0h
- Projekt30h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Podstawowa znajomość SIP (wiedza i umiejętności odpowiadające zakresowi przedmiotu SIP na studiach 1 stopnia).
Znajomość środowiska GIS: ArcGIS / QGIS na poziomie średniozaawansowanym.
- Limit liczby studentów:
- brak
- Cel przedmiotu:
- Celem przedmiotu jest zapoznanie studentów ze składnią języka Python oraz nabycie umiejętności analizy i przekształcania oraz pisania własnych skryptów w języku Python mających na celu automatyzację przetworzeń danych oraz rozszerzanie funkcjonalności środowisk ArcGIS i QGIS.
- Treści kształcenia:
- Ćwiczenia (10 bloków 3x45min) obejmują projekty polegające na analizie i napisaniu skryptów o rosnącym stopniu złożoności:
1. Wstęp do języka Python – tworzenie list, pętli, funkcji, wczytywanie danych z plików tekstowych, zapisywanie danych do plików tekstowych.
2. Obliczanie wartości atrybutów za pomocą skryptów języka Python w ArcGIS.
3. Podstawy analiz przestrzennych – moduł Arcpy.
4. Tworzenie narzędzi geoprzetwarzania w języku Python w ArcGIS.
5. Przetwarzanie danych rastrowych w języku Python w ArcGIS.
6. Obliczanie wartości atrybutów za pomocą skryptów Python w QGIS.
7. Tworzenie narzędzi w języku Python w QGIS, korzystanie z wtyczki ScriptRunner.
8. Tworzenie narzędzi geoprzetwarzania w języku Python w QGIS.
9. Przetwarzanie danych rastrowych w języku Python w QGIS cz1.
10. Pokaz i tworzenie własnych wtyczek na podstawie skryptów w języku Python w QGIS.
Zakres uwzględnionych algorytmów wynika z analizy potrzeb rynku w zakresie zapotrzebowania automatyzacji wykonywanych przetworzeń.
- Metody oceny:
- Do zaliczenia ćwiczeń wymagane jest: uzyskanie min. 60% z maksymalnej liczby punktów możliwych do uzyskania z kolejnych modułów ćwiczeń. Do każdego modułu przyporządkowana jest określona liczba punktowanych zadań. Studenci rozwiązują zadania na zajęciach, otrzymując punkty przyporządkowane do rozwiązanych zadań. Każde zadanie jest omawiane wspólnie na forum grupy i prezentowane przez jedną z osób w grupie. Za prawidłowe przedstawienie rozwiązania student otrzymuje 1 punkt dodatkowy. Zadania nierozwiązane podczas zajęć studenci rozwiązują w ramach pracy własnej i przedstawiają rozwiązanie prowadzącemu ćwiczenia w ustalonym terminie.
Nieusprawiedliwiona nieobecność na więcej niż 1 zajęciach oznacza niezaliczenie przedmiotu. Student nieobecny na zajęciach ma obowiązek zgłosić się do prowadzącego (mail, osobiście) celem uzgodnienia terminu odrobienia ćwiczeń. Ocena końcowa obliczana jest na podstawie sumy punktów zebranych dla wszystkich modułów ćwiczeń. Przygotowanie do części zajęć w postaci szkoleń e-learningowych. Student jest zobowiązany dostarczyć certyfikat ukończenia wskazanych przez prowadzącego szkoleń przed rozpoczęciem zajęć z danej tematyki w podanym terminie. Ocena końcowa obliczona jest na podstawie procentowej liczby zdobytych punktów wg skali: 3,0: <60% - 68%), 3,5: <68% – 76%), 4,0: <76% - 84%), 4,5: <84% - 92%), 5,0: <92% - 100%> maksymalnej l. punktów
- Egzamin:
- nie
- Literatura:
- 1. Zed A. Shaw „Learn Python, the hard way”, (ebook pdf), 2013;
2. Allen Downey „Think Python. How to Think Like a Computer Scientist”, (ebook pdf), 2012;
3. Wikibook „Zanurkuj w Pythonie” https://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie;
4. Python Tutorial https://docs.python.org/2/tutorial/ ;
5. Python GDAL/OGR Cookbook https://pcjericks.github.io/py-gdalogr-cookbook/index.html ;
6. Laura Tateosian, „Python for ArcGIS”, 2015;
7. Nathan Jennings, A Python primer for ArcGIS: workbook I, 2015;
8. Nathan Jennings, A Python primer for ArcGIS: workbook II, 2015;
9. Xiao N., GIS Algorithms, Sage London, 2016;
10. Paul A. Zandbergen „Python. Scripting for ArcGIS”, 2014;
11. materiały z kursów e-learningowych
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt GK.SMS295_W1
- Zna podstawowe typy danych i instrukcje języka Python.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_W11
Powiązane efekty obszarowe:
T2A_W04, T2A_W07
- Efekt GK.SMS295_W2
- Zna możliwości wykorzystania języka programowania Python w środowisku ArcGIS i QGIS.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_W11, K_W12, K_W13
Powiązane efekty obszarowe:
T2A_W04, T2A_W07, T2A_W04, T2A_W07, T2A_W08, T2A_W10, T2A_W07, T2A_W08
Profil ogólnoakademicki - umiejętności
- Efekt GK.SMS295_U1
- Potrafi wykonywać programy służące do przetwarzania danych, ze szczególnym uwzględnieniem danych przestrzennych. Potrafi szukać podpowiedzi w przypadku problemów ze skryptem.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_U18
Powiązane efekty obszarowe:
T2A_U10, T2A_U16
- Efekt GK.SMS295_U3
- Potrafi tworzyć złożone narzędzia uniwersalnego użytku.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_U08, K_U18
Powiązane efekty obszarowe:
T2A_U05, T2A_U12, T2A_U17, T2A_U18, T2A_U10, T2A_U16
- Efekt GK.SMS295_U5
- Umie wybrać, dopasować i zaimplementować wybrane algorytmy oraz dostosowywać gotowe skrypty w zależności od potrzeb zagadnienia.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_U07, K_U16, K_U18
Powiązane efekty obszarowe:
T2A_U16, T2A_U15, T2A_U09, T2A_U18, T2A_U19, T2A_U15, T2A_U10, T2A_U16
Profil ogólnoakademicki - kompetencje społeczne
- Efekt GK.SMS295_K1
- Ma świadomość korzyści wynikających z automatyzacji przetwarzania danych.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_K01, K_K03
Powiązane efekty obszarowe:
T2A_K06, T2A_K02
- Efekt GK.SMS295_K2
- Potrafi ocenić poprawność oraz przydatność przygotowanych narzędzi.
Weryfikacja: Ocena projektu zaliczeniowego.
Powiązane efekty kierunkowe:
K_K01, K_K05
Powiązane efekty obszarowe:
T2A_K06, T2A_K05