Generuj PDF tej strony

Transkrypt

Generuj PDF tej strony
Nazwa modułu:
Język Python na potrzeby GIS
Rok akademicki:
Wydział:
Kierunek:
2015/2016
Kod: DGK-2-208-GF-s
Punkty ECTS:
2
Geodezji Górniczej i Inżynierii Środowiska
Geodezja i
Kartografia
Poziom studiów:
Specjalność:
Studia II stopnia
Język wykładowy: Polski
Geoinformatyka, fotogrametria i
teledetekcja
Forma i tryb studiów:
Profil kształcenia:
Stacjonarne
Ogólnoakademicki (A)
Semestr: 2
Strona www: http://twiki.fotogrametria.agh.edu.pl/bin/view/Dydaktyka/WebHome
Osoba odpowiedzialna:
dr inż. Twardowski Mariusz ([email protected])
Osoby prowadzące: dr inż. Twardowski Mariusz ([email protected])
Opis efektów kształcenia dla modułu zajęć
Kod EKM
Student, który zaliczył moduł zajęć wie/umie/potrafi
Powiązania z EKK
Sposób weryfikacji
efektów kształcenia
(forma zaliczeń)
Znajomość zasad programowania w języku Python
GK2A_W05,
GK2A_W07
Zaliczenie laboratorium
M_U001
Podstawowa umiejętność tworzenia programów w
języku Python
GK2A_U18
Wykonanie projektu
M_U002
Podstawowa umiejętność rozszerzania
funkcjonalności narzędzi geoinformatycznych z
wykorzystaniem języka Python
GK2A_U07,
GK2A_U18
Wykonanie projektu
GK2A_K01
Aktywność na zajęciach
Wiedza
M_W001
Umiejętności
Kompetencje społeczne
M_K001
Kreatywność w podejściu do programowania
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM
Student, który zaliczył moduł
zajęć wie/umie/potrafi
Forma zajęć
1/4
Ćwiczenia
laboratoryjne
Ćwiczenia
projektowe
Konwersatori
um
Zajęcia
seminaryjne
Zajęcia
praktyczne
Zajęcia
terenowe
Zajęcia
warsztatowe
+
-
-
-
-
-
-
-
-
-
-
M_U001
Podstawowa umiejętność
tworzenia programów w
języku Python
-
-
-
-
-
-
-
-
-
-
-
M_U002
Podstawowa umiejętność
rozszerzania funkcjonalności
narzędzi geoinformatycznych
z wykorzystaniem języka
Python
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
E-learning
Ćwiczenia
audytoryjne
Znajomość zasad
programowania w języku
Python
Inne
Wykład
Karta modułu - Język Python na potrzeby GIS
Wiedza
M_W001
Umiejętności
Kompetencje społeczne
M_K001
Kreatywność w podejściu do
programowania
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład
Program wykładów
1. Wprowadzenie do języka Python
Zapoznanie się z interpreterem języka. Porównanie z innymi językami programowania.
Przypisania zmiennych, operatory matematyczne i logiczne. Podstawowe typy danych
i ich reprezentacja. Słowa kluczowe i podstawowe pojęcia z zakresu języka. Struktury
złożone. Pojęcie obiektów niemutowanych.
2. Skrypty i kontrola przepływu programu
Formatowanie poprawnych skryptów i ich uruchamianie. Struktury warunkowe,
zapętlające i definicje funkcji kontrolujące przepływ programu. Różnice pomiędzy
interpreterem a kompilatorem. Sposoby wykrywania wystąpień wyjątków w programie.
Obsługa wejścia/wyjścia dla różnych urządzeń. Definiowanie funkcji różnych typów.
3. Klasy, obiekty i moduły
Wprowadzenie do programowania obiektowego w języku Python. Budowa klas,
obiektów i metod, ich dziedziczenie i polimorfizm. Sposoby modularyzacji skryptów i
importowanie bibliotek.
4. Wybrane biblioteki języka
Omówienie ważniejszych elementów bibliotek standardowych. Biblioteki zawierające
przekształcenia geospatialne GDAL, OGR, OSR. Sposoby odczytywania, zapisywania i
przetwarzania danych rastrowych i wektorowych.
5. Projektowanie interfejsu QT
Wykorzystanie narzędzi do szybkiego projektowania aplikacji (RAD), automatyczne
generowanie kodu programu, połączenia elementu interfejsu z kodem wykonawczym.
Wprowadzenie pojęcia programu sterowanego przez wydarzenia. Zapoznanie z
bibliotekami do budowy interfejsu graficznego.
2/4
Karta modułu - Język Python na potrzeby GIS
6. Budowa wtyczek QGis
Metody dołączania własnego kodu do programu QGis. Omówienie narzędzia do
generowania schematu wtyczki. Analiza wygenerowanego kodu oraz jego schemat
blokowy. Metody modyfikacji wtyczek dla indywidualnych potrzeb. Integracja wtyczki z
interfejsem QGis poprzez wykorzystanie dowiązań API.
Ćwiczenia laboratoryjne
Program laboratoria
1. Wprowadzenie do języka Python
Aktywne wykorzystanie interpretera do przypisywania zmiennych i ewaluacji wyrażeń
matematycznych i logicznych. Sprawdzanie typów przypisanych zmiennych. Sposoby
rozcinania ciągów. Metody alokacji list, zbiorów i słowników oraz ich odmiany.
Wykorzystanie wybranych słów kluczowych.
2. Skrypty i kontrola przepływu programu
Zapoznanie z narzędziami do tworzenia skryptów i automatyzacja procesu ich
uruchamiania. Interpretacja komunikatów o błędach, ich znajdowanie i poprawa.
Wykorzystanie instrukcji warunkowej if…elif…else. Instrukcje pętli while oraz for, ich
implementacja i kontrola. Obsługa wyjątków przy pomocy struktur try…except…else
oraz with…as. Warianty definicji funkcji.
3. Klasy, obiekty i moduły
Tworzenie klas oraz implementacja ich metod. Przykłady dziedziczenia klasy bazowej.
Inicjalizacja obiektów i odwołanie do ich metod z wykorzystaniem desygnatora.
Importowanie modułów własnych oraz standardowych.
4. Wybrane biblioteki języka
Przykłady najczęściej wykorzystywanych funkcji z biblioteki standardowej. Połączenie
funkcjonalności bibliotek operacji przestrzennych w kodzie programu. Operacje na
danych tekstowych, wektorowych i rastrowych.
5. Projektowanie interfejsu QT
Zapoznanie z narzędziem do projektowania interfejsu, dodawania elementów i
modyfikacja ich zawartości. Wykorzystanie narzędzi do automatycznej konwersji pliku
XML ze zdefiniowanym interfejsem do kodu Python. Przypisanie połączeń elementów
interfejsu do definicji funkcji. Uruchamianie i testowanie interfejsu.
6. Budowa wtyczek QGis
Generowanie wtyczki ze schematu. Dopasowanie wygenerowanego programu do
założonej postaci i modyfikacja interfejsu. Dopisanie istotnych metod do obsługi
dodanych elementów. Wykorzystanie API interfejsu do zarządzania danymi różnych
typów.
Sposób obliczania oceny końcowej
Ocena końcowa jest średnią wagowaną oceny z kolokwium z wykładów i oceny z ćwiczeń. Algorytm
obliczania oceny końcowej jest przedstawiony studentom na pierwszych zajęciach z przedmiotu.
Wymagania wstępne i dodatkowe
Na pierwszych zajęciach (ćwiczeniach) prowadzący określi:
- dopuszczalną liczbę nieobecności studenta na zajęciach oraz sposób i tryb wyrównywania zaległości
powstałych wskutek nieobecności,
- zasady uzyskania zaliczenia w terminie podstawowym.
Przed końcem semestru prowadzący ustali zasady i terminy uzyskania zaliczeń poprawkowych. Student
może dwukrotnie przystąpić do poprawkowego zaliczenia zajęć.
Zalecana literatura i pomoce naukowe
3/4
Karta modułu - Język Python na potrzeby GIS
Literatura:
1. Lutz Mark: “Python. Wprowadzenie”. Helion 2011,
2. Dawson Michael: “Python dla każdego.Podstawy programowania”. Helion 2014
3. Oficjalna dokumentacja języka i kursy online: http://pl.python.org
4. Summerfield Mark: “Rapid GUI Programming with Python and Qt”. Prentice Hall 2008
5. Dokmentacja PyQt: http://pyqt.sourceforge.net/Docs/PyQt4/
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu
K. PYKA, M. SŁOTA, M. TWARDOWSKI, “Usage of stereo orthoimage in GIS: old concept, modern
solution”, The International Archives of the Photogrammetry, Remote Sensing and Spatial Information
Sciences ; ISSN 1682-1750. — 2012 vol. 39–B4, s. 379–383. — Bibliogr. s. 382–383, Abstr.. — XXII ISPRS
congress : 25 August – 01 September 2012, Melbourne, Australia. — [London] : ISPRS Council, 2012
K. PYKA, M.TWARDOWSKI, “Miejsce wolnego oprogramowania w nauczaniu geoinformatyki”. W:
,,Geoinformatyka – badania, zastosowania i kształcenie” : IV ogólnopolskie sympozjum geoinformacyjne
: Dobczyce k. Krakowa, 11–13 października 2007 r.
Informacje dodatkowe
Podstawowy termin zaliczenia to zakończenie zajęć. Poprawkowy termin zaliczenia – koniec sesji
zimowej.
Jest możliwość maksymalnie dwu podejść do zaliczenia poprawkowego.
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta
Obciążenie
studenta
Udział w wykładach
10 godz
Dodatkowe godziny kontaktowe z nauczycielem
5 godz
Udział w ćwiczeniach laboratoryjnych
14 godz
Samodzielne studiowanie tematyki zajęć
10 godz
Wykonanie projektu
15 godz
Sumaryczne obciążenie pracą studenta
54 godz
Punkty ECTS za moduł
2 ECTS
4/4

Podobne dokumenty