24
SVEUC ˇ ILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 4782 Vizualizacija prostorno- vremenskih podataka u desktop aplikacijskom okviru uDIG Petar Penić Zagreb, lipanj 2017.

Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

SVEUC ILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

ZAVRŠNI RAD br. 4782

Vizualizacija prostorno-vremenskih podataka u desktop

aplikacijskom okviru uDIG

Petar Penić

Zagreb, lipanj 2017.

Page 2: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva
Page 3: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

3

Zahvala Zahvaljujem se mentoru Doc. dr. sc. Zdravku Galiću na pomoći koju mi je pružio u radu.

Page 4: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

1

SADRŽAJ

1. Uvod 1 2. Baza podataka 3

2.1. MySQL 3 3. uDIG – User-friendly Desktop Internet GIS 5 4. GeoLife prostorno-vremenski podaci 8 5. Vizualizacija prostorno-vremenskih podataka 11

5.1 Interakcija s bazom podataka 11 5.2 Knjižnica GeoScript 13 5.3 Razvoj aplikacije i vizualizacija 14

6. Zakljucak 17

Literatura 19

7. Naslov, sažetak i ključne riječi 20

Page 5: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

1

1. Uvod

Prostorno-vremenski podaci se intenzivno koriste u domeni praćenja objekata u

vremenu i prostoru. Uporaba GPS (Global Positioning System) sustava generira

velike količine prostorno-vremenskih podataka, koje potrebno obrađivati i

vizualizirati. Podaci koje generiraju GPS uređaji su diskretni podatci koji opisuju

položaje objekata u vremenu i prostoru. To područje je postalo posebno zanimljivo

od kada se proširila uporaba mobilnih uređaja, jer svaki korisnik može generirati

prostorno-vremenske podatke koristeći npr. pametni telefon. Problem je međutim

što sami podaci u relacijskoj bazi podataka nemaju svrhu ukoliko ih se ne

vizualizira, jer mi ljudi ne možemo dobro pojmiti prostor opisan realnim brojevima

geografske širine i visine. Zato se javlja potreba za vizualizacijom tih podataka

kako bi mogli iskoristiti pohranjene prostorno-vremenske podatke. To omogućuje

pronalaženje izgubljenih ljudi, predviđanje prometnih zastoja, procjenu posjetitelja

nekom području, procjenu gdje je najbolje postaviti reklame, gdje izgraditi ceste,

gdje sagraditi dućane, otkrivanje navika kretanja ljudi, rekonstrukciju prometnih

nesreća, i mnoge druge primjene. Postoje dva različita pristupa vizualizaciji:

statički i dinamički. Ukoliko želimo znati položaj nekog objekta, koristi se karta, na

primjer Google Maps. Ako je potrebno analizirati kako se kreću neki objekti, na

primjer avioni, onda je potrebno koristiti dinamičku vizualizaciju prostorno-

vremenskih podataka. Vizualizacija se svodi na generiranje karte, kako bi znali

gdje se podaci nalaze, zatim učitavanja prostornih podataka (npr. geografske

širine i geografske duljine) i prikazu tih podataka na odgovarajućim pozicijama na

karti. Slika 1 ilustrira način prikaza većih kanadskih gradova na karti. U ovom

završnom radu se koristi uDIG - User-friendly Desktop Internet GIS (uDIG Home,

2016). uDIG omogućuje jednostavno korištenje već postojećih karata i omogućuje

korištenje raznih ugrađenih funkcija za prikaz podataka na kartama. Također se

koristi MySQL (MySQL Wikipedia, 2017) sustav za upravljanje bazom podataka u

koji će biti pohranjeni Microsoft GeoLife (eLifeLog.org, 2011) prostorno-vremenski

podaci. Ovaj zadatak je vrlo zanimljiv iz razloga što su GeoLife podaci stvarni

Page 6: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

2

podaci. Dakle moguće je promatrati kretanje vozila, njihovih brzina, mimoilaženja

itd.

Slika 1. Vizualizacija gradova na karti

Sam rad nije usmjeren prema analizi dobivenih podataka već njihovoj vizualizaciji,

a ta vizualizacija će omogućiti daljnju analizu ako se javi potreba za time. Naime

ako podaci nisu dobro prikazani, onda ničemu i ne služe, zato je dobro obavljena

vizualizacija prostorno-vremenskih podataka ključna radi njihove uporabe.

Upravo je to zadatak ovog završnog rada, napraviti vizualizaciju GeoLife

prostorno-vremenskih podataka u uDIG sustavu.

Page 7: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

3

2. Baza podataka

Baza podataka je temelj ovog završnog rada. Bitno je odabrati odgovarajuću bazu

podataka kako bi se olakšao kasniji rad i kako bi performanse bile što bolje. U

sklopu ovog završnog rada koristi se MySQL sustav za upravljanje bazama

podataka koji se nalazi na lokalnom računalu.

2.1. MySQL

MySQL je baza podataka otvorenog koda1, dakle besplatan je za korištenje i može

se lako pristupiti izvornom kodu i mijenjati ga. Baza je relacijski orijentirana što

znači da je zasnovana na relacijskom modelu koji povezuje podatke u skup

relacija između različitih tablica koje su povezane ključevima. MySQL omogućava

pohranu velikog broja podataka i osigurava njihovu konzistentnost. Napisan je u

programskim jezicima C i C++. MySQL DML (Data Manipulation Language) slijedi

SQL standard, i stoga je jako učinkovit u pretraživanju i ažuriranju baze podataka..

Iz razloga što je najpopularnija baza otvorenog koda, postoje mnoge aplikacije

koje olakšavaju rad sa MySQL bazom. U okviru ovog završnog rada koristi se

MySQL Workbench i MySQL. Slika 2 pokazuje kako izgleda pregled baze

podataka iz MySQL Workbencha prilikom jednog jednostavnog SQL upita. Pored

funkcije SQL upita, na raspolaganju je niz drugih funkcionalnosti, koje značajno

olakšavaju pregled i ažuriranje baze podataka.

1 Eng. open source

Page 8: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

4

Slika 2. Primjer SQL upita u MySQL Workbench-u

Page 9: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

5

3. uDIG – User-Friendly Desktop

Internet GIS

GIS - Geographic Information System (GIS Wikipedia, 2017) je sustav za upravljanje

prostornim podacima. On može spremati, uređivati, pohranjivati, analizirati i

prikazivati prostorne geografske podatke.

uDIG je GIS produkt kanadske kompanija Refractions Research. Napisan je u

programskom jeziku Java, i često se koristi kao programski okvir za druge GIS

programe i platforme. Osnovne značajke uDIG-a su otvorenost koda i rad sa

prostornim podacima, omogućuje njihovu vizualizaciju i izmjenu. Skraćenica uDIG

dolazi od:

• User friendly, pruža, korisniku blisko, grafičko okruženje za korištenje GIS-a

• Desktop located, namijenjen za rad na operacijskim sustavima Windows, Mac

OS/X i Linux

• Internet oriented, obuhvaćajući standardne (WMS, WFS, WPS) geoprostorne

web usluge.

• GIS ready, pruža programski okvir na kojem se mogu izgraditi kompleksne

analitičke funkcionalnosti i ugraditi se u glavnu aplikaciju.

Najjednostavnije korištenje uDIG-a se temelji na radu sa datotekama tipa

shapefile. Shapefile je format datoteke koji prostorno opisuje vektore točaka, linija i

poligona (na primjer, gradove, ceste, jezera itd). Svaki shapefile se standardno

sastoji od 5 odvojenih datoteka s ekstenzijama:

1. .shp – shape format; čisto geometrijsko svojstvo

2. .shx – shape indeks format; označuje poziciju shapefile-a u odnosu na

ostale, omogućuje brzo pretraživanje.

3. .dbf – attribue format; atributi baze podataka za svaki objekt unutar

shapefile-a

Page 10: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

6

4. .prj – projekcijski format; koordinatni sustav i informacije o projekciji

5. .qix – alternativni indeks kojeg koriste druge aplikacije

uDIG omogućava vrlo jednostavan i intuitivan rad sa shapefile datotekama,

jednostavno ih učitava, omogućuje čak i učitavanje pomoću povlačenja mišem

(drag-and-drop). Na slici 3 je prikazano uGIS korisničko grafiko sučelje. Svi slojevi

shapefile-a koje aplikacija sadrži nalaze se u prozoru pregled slojeva2. Tamo ih se

može premještati, „uključiti“ i „isključiti“, dodavati i brisati.

Slika 3. uDIG (uDIG quickstart, 2015)

Postoje razni alati u alatnoj traci kojima se može pretraživati karta (zumiranje,

pomicanje, ponovno učitavanje …). Svaki pojedini sloj sadrži svoju tablicu

podataka u kojoj se nalaze svi oblici (točke, linije, poligoni) koje taj sloj sadrži, a ta

tablica se može vidjeti i mijenjati u katalog pogledu3. Također uDIG omogućuje

pisanje i pokretanje skripti koje su pisane u programskom jeziku Groovy. Groovy je

objektno-orijentiran jezik napravljen za Java platformu i može se koristiti kao

skriptni jezik. uDIG sadrži svoj skup knjižnica pod imenom

Geoscript(GeoScript.org, 2012) koje omogućuju jednostavni rad s prostornim

2 Eng. layers view 3 (eng. Catalog view)

Page 11: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

7

podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana

karta se sastoji od 4 sloja, od kojih su 2 aktivna (vidljiva). Najniži sloj pod imenom

„NE1_50M_SR_W“ prikazuje reljefnu kartu svijeta, a sloj „10m urban areas“ sadrži

i prikazuje skup poligona koje označavaju urbane područja u kojima živi više od 10

milijuna ljudi. Na dnu je dinamičko mjerilo karte, koje u ovom primjeru iznosi

1:24.337.326

Slika 4. Vizualizacija razvijenih mjesta u uDIG-u

Page 12: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

8

4. GeoLife prostorno-vremenski podaci

GeoLife GPS Trajectories je skup podataka prikupljen u okviru GeoLife projekta od

strane „Microsoft Research Asia". Tijekom 5 godina, od travnja 2007. do kolovoza

2012. godine, 182 korisnika je prikupljalo prostorno-vremenske podatke. Podaci su

podijeljeni u 182 direktorija, svaki direktorij predstavlja jednog korisnika koji je

generirao podatke. Podaci su veličine 1.55 GB, a nakon što su prebačeni u

MySQL bazu podataka, zauzimaju približno 16GB. Ovaj skup podataka se često

koristi u svrhu testiranja aplikacija koje koriste prostorno-vremenske podatke. Skup

podataka je vrlo velik i jednostavan što omogućuje široku i jednostavnu primjenu.

Na slici 5 se nalazi kôd koji je korišten za definiranje tablica u bazi podataka

(eLifeLog.org, 2011).

Slika 5. SQL naredba kreiranja baze (eLifeLog.org, 2011)

Nakon što su generirane prazne tablice slijedilo je punjenje tih tablica s podacima.

Page 13: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

9

Za to je korištena Bash skripta sa slike 6, a proces je trajao približno 2 sata. Nakon

završetka skripte u MySQL bazi podataka su napravljene 3 tablice od kojih je, za

potrebe ovog završnog rada, relevantna tablica plt. Novonastala tablica sadrži 24

743 952 zapisa, a svaki zapis ima 8 atributa. Zbog tako velikog broja podataka,

većina SQL upita traje prilično dugo i usporavaju rad aplikacije, što u okviru ovog

rada nije toliko bitno, jer je fokus funkcionalnost cijele aplikacije.

Slika 6. Bash skripta - punjenje baze podacima

Tablica sadrži 8 atributa s nazivima: directory (direktorij), latitude(geografska

širina), longitude(geografska dužina), flag(zastava), altitude(visina),

passeddate(prošlo vrijeme), gpsdate(gps datum), gpstime(gps vrijeme). Na slici 7

se vidi primjer 4 podatka iz baze.

Page 14: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

10

Slika 7. Primjer podataka iz baze

Slijedi opis svakog od atributa:

1. directory – broj tipa „ char “ koji označavaju redni broj direktorija od 000 do

181 (ukupno ih ima 182). Svaki direktorij je jedna osoba koja je generirala

podatke.

2. latitude – broj tipa „ double “ koji označava geografsku širinu. Kako se radi o

gradu Pekingu većina podataka se nalazi u rasponu od 116.2-116.4

3. longitude – broj tipa „ double “ koji označava geografsku dužinu. Kako se

radi o gradu Pekingu većina podataka se nalazi u rasponu od 39.8-30.1

4. flag – broj tipa „ int “određuje dali je podatak dobro pohranjen, ovu varijablu

se može zanemariti

5. altitude – broj tipa „ double “ označava nadmorsku visinu izraženu u

stopama. U okviru ovog završnog rada se ova varijabla može zanemariti.

6. passeddate – broj tipa „ char “ koji određuje vrijeme prošlo od 1.1.1900.

godine od trenutka 00:00:00. Passeddate je zapisan u obliku decimalnog

broje kod kojeg cijela vrijednost određuje broj proteklih dana, a decimalni

dio u rasponu [0,1> određuje koliki je dio dana prošao. (npr 35.5 =

4.2.1900. 12:00:00)

7. gpsdate – datum tipa „ date “ koji je zapisan u formatu yyyy-mm-dd

8. gpstime – vrijeme tipa „ time “ koje je zapisano u obliku hh-mm-ss

U okviru ovog rada, za svaki zapis/redak u tablici plt se posebno promatraju

vrijednosti atributa latitude i longitude u odnosu na vrijednost atributa passeddate.

Latitude i longitude određuju prostornu komponentu, dok passeddate određuje

vremensku komponentu svakog podatka. Korištenjem navedenih atributa može se

u potpunosti rekonstruirati kretanje objekata koji su pohranjeni u tablici.

Page 15: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

11

5.Vizualizacija prostorno-vremenskih

podataka

U okviru ovog završnog rada zadatak je vizualizirati prostorno-vremenske podatke

koji su prethodno pohranjeni u MySQL bazu podataka, koristeći aplikaciju uDIG.

Potrebno je osigurati dinamički prikaz, tako da prikaz određuje neki trenutak u

vremenu te zatim uzima sve objekte iz baze koji su aktivni u tom trenutku (njihovo

vrijeme u tablici odgovara trenutnom vremenu prikaza) i računa njihove položaje

pomoću njihovih vrijednosti geografskih širina i dužina te ih vizualizira na karti.

Zatim prikaz povećava promatrano vrijeme, odbacuje sve vizualizirane točke koje

više nisu aktivne i ponavlja proces.

5.1. Interakcija s bazom podataka

Za interakciju s MySQL bazom koristi se aplikacijsko programsko sučelje JDBC

(Java Database Connectivity, 2013). Ono definira način kako se klijent spaja na

bazu podataka. Za korištenje JDBC-a se koriste uvezene metode za rad sa SQL

bazom. Slika 8 pokazuje način povezivanja s MySQL bazom uporabom JDBC.

Slika 8. Programski isječak za spajanje klijenta na bazu

Page 16: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

12

Promjenljiva db predstavlja primjerak baze i pomoću te promjenljive se sada može

pristupati bazi. Na slici 9 je prikazan pristup MySQL bazi preko te varijable.

Slika 9. Upit na bazu

Dakle izvršava se SELECT upit nad instancom baze. Taj upit vraća sve retke

tablice kojima je atribut passeddate unutar intervala [ početak, kraj ], varijable

početak i kraj se definiraju na početku izvođenja programa. Varijabla pomak

određuje vremenski raspon koji se smatra jednom slikom u vizualizaciji. Program

zatim iterira po svim retcima koje je SQL upit vratio i raspoređuje ih u pripadajuće

slojeve s obzirom na njihove vrijednosti atributa passeddate. Na kraju izvođenja

ovog programskog isječka nastala je lista slojeva od kojih svaki predstavlja jedan

interval vremena. Izvršenje SELECT upita uz zadane uvjete zahtijeva prolaz kroz

svih 24.7 milijuna redaka, kako bi provjerio uvjet, te zbog toga taj upit traje

približno 40 sekundi. Nakon izvršenja koda sa slike 9, komunikacija s bazom

podataka je završena, i svi potrebni podaci za vizualizaciju u obliku vremenskih

intervala su učitani u radnu memoriju jednim SQL upitom, radi bržeg rada cijele

aplikacije.

Page 17: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

13

5.2. Knjižnica GeoScript

Aplikacija uDIG sadrži ugrađeni Geoscript (GeoScript.org, 2012) editor, koji služi

za pisanje Groovy programa, koristeći svoju Geoscript knjižnicu. Taj editor

omogućuje olakšani rad s Geoscript knjižnicom. Konzola na koju je usmjeren

standardni izlaz se nalazi unutar aplikacije uDIG.

Knjižnica GeoScript se temelji na knjižnici GeoTools (GeoTools About, 2016), pisana

je u programskom jeziku Java i namijenjena je za rad s prostornim podacima. Od

knjižnice GeoTools je naslijedila podršku za rad s vektorskim podacima, raznim

web servisima, projekcijama, vektorskim geometrijskim podacima i vizualizacijom

slika (Antonello, 2013). Sadrži razne razrede koji imaju svrhu vizualizacije

prostornih podataka. Postoje razredi i metode za vizualiziranje karata, kreiranje

novih karata, novih slojeva, dodavanje slojeva na karte itd. Na slici 10 su

prikazane tehnologije na kojim su se razvili Geoscript i uDIG.

Slika 10. Temelji uDIG-a i Geoscripta (Antonello, 2013)

Ove tehnologije osiguravaju da aplikacija razvijea u okviru ovog završnaog rada

bude kompatibilna sa ostatkom uDIG aplikacije, te da radi na istim principima.

Page 18: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

14

5.3. Razvoj aplikacije i vizualizacija

Nakon što su učitani svi promatrani podaci iz baze podataka i nakon što su

raspoređeni po slojevima kako će se prikazivati potrebno je vizualizirati te podatke.

Prvo su učitana dva shapefile-a, jedan predstavlja kartu svijeta i granice svih

država, a drugi sadrži zapise svih cesta u Kini. Vizualizacija ovih podataka je

nužna kako bi podaci iz baze dobili kontekst u kojem se nalaze, da bi imale odnos

sa svijetom. Na slici 11 se vidi kako izgledaju njihovi prikazi unutar uDIG-a.

Slika 11. Osnovni shapefile-ovi za prikaz svijeta

Nakon što su na karte postavljeni ovi slojevi potrebno je postaviti slojeve koji

sadrže točke položaja objekata iz baze podataka. Radi se obično o 100-500

slojeva ovisno o unesenim parametrima. Za svaki vremenski interval nastaje nova

karta koja sadrži 3 sloja: granice svih država, ceste Kine i skup točaka

pripadajućih promatranom vremenskom intervalu. Geoscript omogućava

jednostavno baratanje stilovima tako da su korištene njegove metode za

određivanje vizualnih stilova ovih slojeva. Svakoj novonastaloj karti potrebno je

odrediti koordinate koje će prikazivati jer kada bi se prikazivala cijela karta svijeta

točke koje predstavljaju vozila u Kini se ne bi mogla dobro promatrati. Kako se radi

o podacima kod kojih je velika većina u glavnom gradu Kine, u Pekingu, metodom

setBounds(Bounds b) su sve karte postavljene na grad Peking. Na slici 12 se

Page 19: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

15

nalazi for petlja koja izvršava sve gore navedene operacije.

Slika 12. For petlja koja stvara skup karti

Također je potrebno novonastale karte pretvoriti u slike tipa „BufferedImage “ zbog

metoda koje se koriste za stvaranje GIF datoteke. Varijabla frames sadrži listu svih

slika koje su nastale i koje će se kasnije vizualizirati.

Kako bi se omogućilo stvaranje GIF datoteke s traženim karakteristikama koje ovaj

završni rad zahtjeva potrebno je implementirati klasu GIF koja nasljeđuje sučelje

Image. Ova klasa je preuzeta sa službenih Geoscript izvora, ali ju je bilo potrebno

naknadno postavljati jer nije implementirana u standardnoj knjižnici Geoscripta.

Radi se o metodi sa slike 13 koja prima 4 navedena argumenta.

Slika 13. Metoda za stvaranje GIF datoteke (Erickson, 2017)

Sada su svi podaci spremni za vizualizaciju, pohranjeni su u varijablu frames koja

je tipa List<BufferedImage> i sadrži skup slika koji će se vizualizirati njihovom

izmjenom sa unaprijed odabranim vremenskim razmakom. U nastavku slijedi

programski isječak koji pokazuje korištenje metode renderAnimated za stvaranje

GIF datoteke.

Page 20: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

16

Slika 14. Stvaranje GIF datoteke

Za svaku sliku potrebno je nešto manje od 0.3MB memorije na tvrdom disku.

Dakle memorijski je rad ove aplikacije relativno skup, kao i vremenski, jer stvaranje

jedne GIF datoteke koja prikazuje vremenski period od 4 sata u vremenskom

intervalu od 36 sekundi potrebno je približno 2 minute. Naravno da bi se ovo

moglo znatno poboljšati daljnjim razvojem aplikacije, ali u okviru ovog završnog

rada, aplikacija radi na ovim principima. Na slici 15 je pokazano kako izgleda

jedna slika iz napravljene GIF animacije.

Slika 15. Primjer jedne slike iz GIF prikaza

Page 21: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

17

6. Zaključak

Prikupljeni prostorni-vremenski podaci imaju ograničenu vrijednost ukoliko se ne

vizualiziraju. Zato je potrebno što bolje i što pristupačnije napraviti vizualizaciju tih

podataka. U nekim slučajevima, kao što je ovaj završni rad, radi se o velikim

količinama podataka koje je potrebno obraditi, što iziskuje više truda. Kako se radi

o prostorno-vremenskim podacima, statički prikaz (jedna slika) nije dovoljan za

realan prikaz, nego je potrebno koristiti dinamički prikaz (video-niz slika) koji je

kompliciraniji ali i puno prikladniji za vizualizaciju prostorno-vremenskih podataka.

Aplikacija uDIG, sa svojom knjižnicom Geoscript, uvelike olakšava vizualizaciju, i

pomaže korisniku bolje razumijevanje područje s kojim se bavi.

Aplikacija napravljena u okviru ovog završnog rada, koja vizualizira prostorno-

vremenske podatke u zadanom intervalu, jedan je od načina kako se ta

vizualizacija može izvesti. Radi se o stvaranju GIF datoteke koja se kasnije

pokreće kao video zapis. Tehničke karakteristike aplikacije nisu idealne ali tema

završnog rada nije optimizacija programa već izvedba vizualizacije prostorno-

vremenskih podataka.

Funkcionalnost vizualizacije koju je ova aplikacija ostvarila unutar programskog

okvira uDIG omogućuje daljnju analizu podataka prikupljenim u okviru projekta

GeoLife. Malim preinakama u kodu može se jednostavno prilagoditi i za razne

druge prostorno-vremenske podatke koji se mogu proizvesti mobilnim telefonima.

Daljnjim razvojem i dodavanjem novih funkcionalnosti na razvijenu aplikaciju, ista

bi se mogla znatno poboljšati, što bi omogućilo širu primjenu od čiste

rekonstrukcije položaja objekata iz prošlosti.

Razvojem mobilnih tehnologija, posebice pametnih telefona, raste potreba za

Page 22: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

18

razvojem naprednih načina vizualizacije i analize podataka. Količina podataka koji

nastaju, eksponencijalno se povećavaju, što GIS programerima donosi nove

izazove u obradi prostorno-vremenskih podataka.

Ovaj završni rad se približava navedenoj problematici, te je i razlog za kreiranje

prezentirane prostorno-vremenske aplikacije. Razvoj aplikacija ovog tipa znatno

doprinosi boljem razumijevanju područja prostorno-vremenskih podataka kao i

problema za njihovo upravljanje u bazama podataka, te njihovu vizualizaciju.

Page 23: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

19

LITERATURA Andrea Antonello, Silvia Franceschi, Geographic scripting in uDIG: halfway between developer and user, 19.9.2013., https://www.slideshare.net/moovida/geographic-scripting-in-udig, 24.5.2016. (Java Database Connectivity, 2013)Wikipedia, the free encyclopedia, Java Database Connectivity, 5.12.2013 https://en.wikipedia.org/wiki/Java_Database_Connectivity, 8.6.2017. (eLifeLog.org, 2011) Microsoft GeoLife GPS Trajectories, 21.6.2011. http://www.elifelog.org/book/microsoft-geolife-gps-trajectories, 5.3.2017. (uDIG quickstart, 2015), http://udig.github.io/docs/user/getting_started/Quickstart.html, 10.3.2017. (uDIG Home, 2016), uDIG User-Friendly Internet Desktop GIS, http://udig.refractions.net/, 5.3.2017. (MySQL Wikipedia, 2017) Wikipedia, the free encycopedia, MySQL, https://en.wikipedia.org/wiki/MySQL, 8.6.2017. (GIS Wikipedia, 2017) Wikipedia, the free encycopedia, Geographic information system, https://en.wikipedia.org/wiki/Geographic_information_system, 8.6.2017. (GeoScript.org, 2012) http://geoscript.org/, 10.3.2017. (GeoTools About, 2016) About GeoTools, http://geotools.org/about.html, 8.6.2017.

Page 24: Vizualizacija prostorno- vremenskih podataka u desktop ... · podacima unutar jezika Groovy. Slika 4 ilustrira korištenje slojeva - prikazana Slika 4 ilustrira korištenje slojeva

20

Naslov, svršetak i ključne riječi

Vizualizacija prostorno-vremenskih podataka u desktop

aplikacijskom okviru uDIG

Sažetak

GeoLife prostorno-vremenske podatci su pohranjeni u MySQL bazu podataka.

Aplikacija, napisana u programskom jeziku Groovy i uDIG, se povezuje s MySQL

bazom, pristupa i dohvaća podatke iz baze, te ih zapisuje u skup slika, koji se

animira. Svaka slika predstavlja jedan vremenski interval. Aplikacijom se

implementira vizualizacija tih podataka kroz vrijeme, u obliku GIF datoteke.

Ključne riječi: Prostorno-vremenski podatci, baza podataka, SQL, GIS,

vizualizacija

Visualization of Spatio-Temporal Data in Desktop

Application Framework uDIG

Abstract

GeoLife Spatio-Temporal dana is stored in MySQL database. The application,

written in Groovy programming language and uDIG framework, connects to the

MySQL database, accesses and retrieves data from it, and writes it into a set of

images used for animating passage of time. Every image represents one time

interval. The application implements visualization of this data over time, in the form

of a GIF file.

Keywords: Spatio-temporal data, database, SQL, GIS, visualization