SVEUČ ILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Vizualizacija prostornovremenskih podataka u desktop aplikacijskom o

Слични документи
PuTTY CERT.hr-PUBDOC

Slide 1

kriteriji ocjenjivanja - informatika 8

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

8 2 upiti_izvjesca.indd

Web programiranje i primjene - Osnovni pojmovi WEB tehnologije korišteni u kolegiju

Recuva CERT.hr-PUBDOC

Fra Serafina Schoena Rijeka MB: MBO: Žiro račun: kod RBA d.d. GSM:

HxD CERT.hr-PUBDOC

OpenVPN GUI CERT.hr-PUBDOC

eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prij

UNIVERZITET U BEOGRADU SAOBRAĆAJNI FAKULTET Andreja SAMČOVIĆ GEOGRAFSKI INFORMACIONI SISTEMI BEOGRAD 2019.

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta Računalna forenzika BETTER PORTABLE GRAPHICS FORMAT Matej

CARNET Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za nadzor razrednih knjiga tel: fax: mail:

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

Microsoft PowerPoint - podatkovni promet za objavu.pptx

RAČUNALO

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

PDO

Development Case

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om -

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

EUROPSKA KOMISIJA Bruxelles, C(2018) 3697 final ANNEXES 1 to 2 PRILOZI PROVEDBENOJ UREDBI KOMISIJE (EU) /... o izmjeni Uredbe (EU) br. 1301

DWA2

UNIVERZITET U NOVOM SADU TEHNIČKI FAKULTET MIHAJLO PUPIN ZRENJANIN TEHNOLOGIJE DISTRIBUIRANIH INFORMACIONIH SISTEMA - Skripta za teorijski deo (RADNA

PowerPoint Presentation

Trimble Access Software Upute za korištenje V2.0 Geomatika-Smolčak d.o.o.

POSLOVNA INTELIGENCIJA I ANALITIKA ZA PRAVE POSLOVNE ODLUKE

Microsoft Word - IP_Tables_programski_alat.doc

Sveucilište u Zagrebu

Microsoft Word - CCERT-PUBDOC doc

Slide 1

WAMSTER Prezentacija

Microsoft PowerPoint - Rittal konfigurator 2019_prezentacija__HR

(Microsoft PowerPoint - 704_Turkovi\346 Obad.pptx)

4 dan - DWeb

Kriteriji ocjenjivanja 6razred

Prikaz slike na monitoru i pisaču

Prikaz znakova u računalu

MultiBoot Korisnički priručnik

Računarski praktikum I - Vježbe 01 - Uvod

Upute za instaliranje WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa

Napredno estimiranje strukture i gibanja kalibriranim parom kamera

SVEUČILIŠTE U ZAGREBU SVEUČILIŠNI RAČUNSKI CENTAR UVJETI KORIŠTENJA USLUGE EDUADRESAR Zagreb, kolovoz 2013.

untitled

AKD KID Middleware Upute za Macintosh instalaciju V1.0

Nastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit   1.2. Brojevi zapisan

Microsoft Office Sway

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Писање и превођење модула

Slide 1

Microsoft PowerPoint - LB7-2_WCCF_2010.ppt

UVJETI KORIŠTENJA INTERNETSKE STRANICE Korisnik posjetom web stranicama potvrđuje da je pročitao i da u cijelosti prihvaća o

Document ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata

Microsoft PowerPoint - LB7-2_WCCF_2012.ppt

HR-ZOO - predstavljanje_projekta_Tjedan_CeU

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

ALIP1_udzb_2019.indb

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

Funkcionalna specifikacija za provođenje elektroničkog glasovanja

ZIS

Introduction to Programming

POVIJEST I GRAĐA RAČUNALA

Slide 1

DUBINSKA ANALIZA PODATAKA

Objektno orjentirano programiranje 2P

Microsoft Word - WP_kolokvij_2_rjesenja.doc

Microsoft Word - privitak prijedloga odluke

Inženjering informacionih sistema

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Sveučilište u Zagrebu

Funkcije predavač: Nadežda Jakšić

Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.

Kontrola korisnickih racuna (UAC) pomaze tako sto sprecava potencijalno stetne programe da izvrse promene u vasem racunaru i obavestava vas pre izvrse

SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ž D I N Leo Siniša Radošić Modreni upravitelj zaporkama ZAVRŠNI RAD Varaždin,

SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij WEB APLIKACIJA ZA

Microsoft Word - PLC na Ethernet mrezi.doc

Generated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

STONEX S5 GNSS prijemnik GNSS prijemnik visoke točnosti za prikupljanje podataka za GIS

CPHP_19

Upute - JOPPD kreiranje obrasca

Biz web hosting

Повезивање са интернетом

KATALOG ZNANJA IZ INFORMATIKE

Upute za uporabu MULTI-Control Stanje: V a-02-HR Pročitajte i obratite pozornost na ove upute. Sačuvajte ove upute za buduću upora

Korisnicki nalog je skup informacija i postavki koje koristite za interakciju sa racunarom i prilagodite Windows da radi onako kako vi zelite. Sa kori

Podružnica za građenje

Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1

Microsoft PowerPoint - 06 Uvod u racunarske mreze.ppt

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

PROJEKT: Vektorizacija gradskih četvrti Grada Zagreba

Slide 1

Signal NCERT-PUBDOC

Microsoft Word - 11 Pokazivaci

Uvod u računarstvo 2+2

Транскрипт:

SVEUČ ILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 4782 Vizualizacija prostornovremenskih podataka u desktop aplikacijskom okviru udig Petar Penić Zagreb, lipanj 2017.

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

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. Zaključak 17 Literatura 19 7. Naslov, sažetak i ključne riječi 20 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 prostornovremenskih 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 1

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. 2

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 koda 1, 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 3

Slika 2. Primjer SQL upita u MySQL Workbench-u 4

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 5

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 slojeva 2. 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 pogledu 3. 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) 6

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 7

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. 8

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. 9

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. 10

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 11

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. 12

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. 13

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 14

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. 15

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 16

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 prostornovremenske 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 prostornovremenskih 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 17

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. 18

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.

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