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