Python w Helu – praktyczne programowanie dla użytkowników GIS

Python w Helu – praktyczne programowanie dla użytkowników GIS

Wraz z postępem w cyfryzacji kraju i informatyzacji społeczeństwa coraz większe znaczenie na rynku pracy mają umiejętności obsługi systemów informatycznych oraz programowania. W systemach informacji geograficznej ogromną rolę odgrywają zaawansowane narzędzia do realizacji analiz przestrzennych. Przykładem może być platforma ArcGIS. Jednak funkcjonalność tych narzędzi jest nadal ograniczona. A gdybyśmy chcieli znieść ograniczenia gotowych narzędzi tak, aby je dokładnie dopasować do naszych oczekiwań? Można się tego nauczyć – na Helu!

Fot. 1. Trening medyczny fok.

Programowanie skryptowe

Zdolność programowania jest powszechnie uważana za cenną umiejętność, jednak nadal posiadają ją tylko nieliczni. Wielu użytkowników aplikacji GIS boi się rozpoczęcia przygody z pisaniem własnych programów. A programowanie to przecież tylko zakodowany, za pomocą właściwej składni języka programowania, zapis algorytmu rozwiązania problemu. Zatem każdy, kto potrafi rozwiązać problem analityczny z zakresu GIS, może również nauczyć się programować. Opanowanie podstawowych zasad i składni języka programowania pozwala znacząco rozszerzyć możliwości wykorzystywanego dotąd oprogramowania.

Esri od dawna daje użytkownikom ArcGIS, którzy nie znają tajników programowania, możliwość tworzenia dość zaawansowanych modeli geoprzetwarzania dzięki aplikacji Model Builder. Przygotowany za jej pomocą zapis procesu analizy można wyeksportować z programu w postaci skryptu. Językiem skryptowym wykorzystywanym w ArcGIS jest Python. Za jego pomocą można takie skrypty dalej edytować i rozszerzać lub tworzyć od podstaw własne.

Python jest zaliczany do języków programowania wysokiego poziomu. Dzięki licznym i rozbudowanym bibliotekom modułów i pakietów może być wszechstronnie wykorzystywany w nauce i technice. Ma przy tym bardzo prostą składnię i semantykę, dzięki czemu można się go szybko nauczyć. Z tego powodu jest polecany początkującym adeptom programowania.

Dzięki dołączonemu do ArcGIS pakietowi ArcPy, użytkownik może uzyskiwać dostęp do wszystkich narzędzi geoprzetwarzania dostępnych w ArcGIS z poziomu niezależnych skryptów Pythona. Każde narzędzie zawiera w dokumentacji dokładny opis jego użycia w skrypcie oraz praktyczne przykłady. Poza wykorzystaniem Pythona w zewnętrznych skryptach, pojawia się on jako parser w wielu narzędziach obliczeniowych, chociażby w Calculate Field. Znajomość Pythona w zakresie GIS jest zatem bardzo przydatna.

Dużo wiedzy do zdobycia

gis_logo

Autor Jacek Urbański

Centrum GIS Wydziału Oceanografii i Geografii Uniwersytetu Gdańskiego już od 4 lat wychodzi naprzeciw potrzebom analityków GIS w całej Polsce. Corocznie podejmuje się organizacji seminarium, podczas którego uczestnicy zapoznają się z podstawami programowania w języku Python i jego zastosowań w oprogramowaniu ArcGIS. Spotkania te wyraźnie wyróżniają się na tle innych podobnych inicjatyw i kursów.

Seminarium ma przede wszystkim charakter szkolenia, w którym uczestnicy aktywnie wpływają na przebieg zajęć i dzielą się posiadaną wiedzą. Zwykle grupa uczestników liczy około 30 osób z całego kraju, reprezentujących różne branże, zatem wymiana wiedzy i doświadczeń jest bardzo owocna.

Proponowane przez Centrum GIS WOiG UG seminarium jest przewidziane dla wszystkich, którzy w swojej pracy korzystają z oprogramowania ArcGIS i chcieliby rozszerzyć swoje umiejętności o znajomość języka programowania. Zakłada się, że uczestnicy znają język(i) programowania w niewielkim stopniu bądź wcale. Wymagana jest natomiast co najmniej średnia umiejętność obsługi programu ArcMap i znajomość jego narzędzi. Ze względu na to, że szkolenie odbywa się tylko raz do roku, stało się ono elitarne, a liczba wolnych miejsc szybko maleje.

Dzięki pracy na własnym komputerze, każdy uczestnik ma możliwość dogodnego zapisu wszystkich materiałów i własnych skryptów. Ponadto może być pewny, że wszystko, czego się nauczył, będzie mógł od razu wykorzystywać w swojej pracy na własnym laptopie.

Podczas seminarium uczestnicy uczą się podstaw programowania w Pythonie z wykorzystaniem środowiska programowania PyScripter. Zapoznają się z pojęciem i typami zmiennych, rodzajami instrukcji i sposobami ich zapisu w kodzie, operacjami wejścia i wyjścia, zasadami tworzenia funkcji. Przedstawione zostaje pojęcie algorytmu i jego przykłady. Każdy ma możliwość podjęcia próby zapisania algorytmu zarówno w postaci kodu źródłowego, jak i pseudokodu.

Kolejny etap to wykorzystanie pakietu NumPy do pracy z rastrami z poziomu Pythona. Uczestnicy uczą się je tworzyć i przetwarzać. Poznają również pakiet ArcPy, pozwalający włączać w tworzone skrypty narzędzia i funkcje ArcGIS. Przedstawiane są zasady wykorzystywania narzędzi analizy wektorowej i rastrowej. Uczestnicy poznają możliwości pakietu matplotlib i zasady tworzenia wykresów tematycznych z poziomu skryptu.

Podczas seminarium można się nauczyć praktycznej umiejętności przygotowania skryptu w Pythonie tak, aby mógł on zostać wykorzystany w ArcGIS jako własne narzędzie. Uczestnicy seminarium zdobędą wiedzę, jak wprowadzać do programu, przetwarzać i eksportować pliki tekstowe. Będą potrafili prowadzić analizy rastrowe poprzez konwersję do tablicy numpy, a następnie po przekształceniach (z możliwością dostępu do każdej komórki) zapisywać wyniki z zachowaniem odpowiedniej georeferencji.

Nauka może być przyjemna

Spotkanie organizowane jest zimą (zwykle na początku lutego), poza sezonem turystycznym, w okolicy o niezwykłych walorach przyrodniczych. Jest to sezon na najlepsze ryby. Można cieszyć się pustymi plażami, a przy sprzyjającej pogodzie nawet przespacerować się po Zatoce Puckiej.

Fot. 2. Rowerem po zatoce.

Seminaria rokrocznie odbywają się w tym samym, wyjątkowym miejscu – w Stacji Morskiej Instytutu Oceanografii Uniwersytetu Gdańskiego im. profesora Krzysztofa Skóry w Helu. Poza salą dydaktyczną i zapleczem noclegowym, w Stacji mieści się Fokarium, którego odwiedzenie stało się już tradycją seminariów.

fot-3-koga-mloda-foka-urodzona-w-fokarium-w-2011-roku

Fot. 3. Koga – młoda foka urodzona w Fokarium w 2011 roku (autor Paulina Bednarek), źródło: http://www.ocean.ug.edu.pl/media/wydarzenia-i-komunikaty/2011/narodziny%20fok/fokakoga3.jpg.

Zdarzyło się, że w czasie trwania seminarium urodziły się młode foki. Pracownicy Stacji obserwowali je za pomocą kamer, a podgląd był włączony nieustannie również na jednym z ekranów podczas zajęć z programowania. Było to ciekawe doświadczenie, kiedy podczas zajęć co chwila rozlegało się na sali westchnienie zachwytu. W tym przypadku reakcja niestety nie była wcale spowodowana łatwością implementacji kodu, tylko zabawą szczenięcia foki w przygotowanym mu boksie.

Trzeba się odważyć

Jakkolwiek nauka programowania nie jest zadaniem banalnym, to jednak przynosi szereg wymiernych korzyści. Zapewnia zwiększenie efektywności i wydajności pracy, automatyzację wielu procesów analitycznych i często obniżenie kosztów realizacji projektów. Ponadto proces nauki wcale nie musi być nieprzyjemny i męczący. Hel swoim urokiem potrafi zaczarować i przekonać do Pythona nawet najbardziej nieprzekonanych.

Czy zainteresował Cię ten materiał?