GIS automatizacija i programiranje – teoretski koncept

Autor:

Davorin Bajić, Univerzitet u Banjoj Luci, Prirodno-matematički fakultet, davorinbajic@pmfbl.org

 

GIS automatizacija

Unutar GIS okruženja vrše se analize prostornih skupova podataka s ciljem rješavanja različitih problema iz domena prostornih nauka. U procesu obrade i analize podataka GIS analitičari se susreću sa velikim brojem operacija koje izvršavaju. U GIS aplikacijama, obrada i analiza podataka poznate su pod nazivom geoprocesuiranje. Geoprocesuiranje se obavlja pomoću različitih alata koji se nalaze u GIS aplikacijama, ili koji mogu biti naknadno kreirani. Uspješna analiza zahtijeva odabir najprikladnijih alata. Složenije GIS analize zahtijevaju: kombinovanje većeg broja predefinisanih alata, ponavljanja postupaka, primjenu za različite prostore, korišćenje analitičkih procedura koje se ne mogu izvršiti na osnovu predefinisanih alata i sl. U navedenim slučajevima GIS analize postaju složene, mukotrpne i dugotrajne. Međutim, u većini GIS softverskih rješenja postoje mogućnosti za automatizaciju procesa složenih analiza. Automatizacija se uglavnom sprovodi programerskim postupcima kreiranja novih alata prilagođenih analitičkim potrebama.

Postoji nekoliko značajnih prednosti GIS automatizacije:

  • Automatizacija čini posao lakšim. Kada se kreiranjem alata analitički proces automatizuje, ne treba mnogo truda i predznanja da se analitički posao sprovede.
  • Automatizacija čini rad bržim. Kreiranjem alata, analitičke procedure se završavaju na “jedan klik”.
  • Automatizacija čini rad preciznijim. Svaki put kada se neki zadatak izvršava ručno, postoji šansa za greške. Ako proračunske procedure moramo sprovesti veći broj puta, za različite prostore, dolazi do zamora i “gubljenja” vremena. Nasuprot tome, ako smo automatizovali proces, izračuni i analize su uvijek precizno i identično izvršeni, a mogu se veoma brzo ponavljati u velikom broju ciklusa.

Kao primjer automatizacije procesa u GIS-u navešćemo ArcGIS okruženje. ArcGIS nudi tri načina za automatizuju analitičkih procesa, i to korišćenjem: ModelBuilder-a, ArcObjects-a, ili korišćenjem nekog od programskih jezika.
Prvi način omogućava da se izgradi model pomoću ModelBuilder-a. ModelBuilder je interaktivni program koji omogućava korisniku da kombinuje predefinisane alate i koristi ih zajedno u jednom procesu, po principu lanca, gdje se izlaz iz jednog alata koristi kao ulaz u drugi. Pomoću ModelBuilder-a korisnici mogu da automatizuju vrlo složene GIS analize bez potrebe za programiranjem.
Drugi način, ArcGIS, na raspolaganju je korisnicima koji žele da automatizuju analitičke procedure i razviju rješenja pomoću ArcObjects-a. Sa ArcObjects, moguće je prilagoditi korisnički interfejs tako da uključuje specifične komande i alate koji se ne nalaze van ArcGIS okruženja.
Automatizacija nekih analitičkih procesa zahtijeva veću fleksibilnost nego što se nudi u prethodna dva načina. Treći način podrazumijeva korišćenje nekog od programskih jezika za pisanje programa ili skripti pomoću kojih se obavlja automatizacija, odnosno pomoću kojih se kreiraju novi prilagođeni alati. Postoje posebni programski jezici za pisanje skripti i programa, kao što su: .NET, Python, C#, VBA. Iako ArcGIS podržava različite programske jezike za rad sa alatima, ESRI naglašava Python programski jezik kao prvi izbor kod kodiranja alata za automatizaciju i geoprocesuiranje.

Pajton (Python) programski jezik

Python (pajton) je interpreterski, interaktivni, objektno-orijentisani programski jezik. Python kod se sprema u tekstualne datoteke koje završavaju na .py i koje se mogu prenositi na bilo koju platformu gdje se mogu izvoditi. Osim standardnih tipova podataka (brojevi, nizovi znakova i sl.), Python ima ugrađene tipove podataka visokog nivoa, kao što su: liste, rječnici i sl. Python se može izvoditi u različitim okruženjima. Za razvoj programa najlakši je interaktivni način rada u kojem se programski kod piše kao naredba za naredbom. Ne postoji razlika u razvojnom i izvedbenom načinu: u prvom se izvodi naredba za naredbom, a u drugom odjednom čitava skripta. Sintaksa jezika je jednostavna i čista, tako da je program pregledan i jednostavan za čitanje (Essert, 2007).
Pored navedenih karakteristika Python programskog jezika, treba istaći da njegov objektno-orijentisani koncept omogućava učitavanje modula pri rješavanju specifičnih programerskih zadataka. Pajtonova biblioteka, pri standardnoj instalaciji, uključuje preko 200 modula, što pokriva sve: od funkcija operativnih sistema, do veb-servisa. Moduli su svojevrsni potprogrami koji olakšavaju i skraćuju vrijeme pisanja koda. Dovoljno je da se moduli pozovu u skriptu preko odgovarajućih komandi čime se automatski mogu koristiti njihove funkcije u kodu koji razvijamo.

Pajton je danas nezamjenjiv programski jezik, koristi se u svim ozbiljnijim programskim aplikacijama, kao što su ArcGIS, QGIS, GRASS i sl. Pajton je uveden u ArcGIS zajednici sa ArcGIS verzijom 9.0. Od tada, on je prihvaćen kao često korišćeni programski jezik za skriptovanje i proširivanje funkcionalnosti ArcGIS platforme, u smislu razvoja novih alata. Čest je izbor velikog broja korisnika, čiji broj nastavlja da raste.



Komentariši

Vaša email adresa neće biti objavljivana. Neophodna polja su označena sa *