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