Razvoj naprednih storitev za GIS
11 Sklep

Zahvala Kazalo Seznam uporabljenih kratic in simbolov 1 Povzetek 2 Abstract 3 Uvod 4 Opis problema 5 Načrt sistema 6 Podatkovni model 7 Geokodiranje 8 Nasprotno geokodiranje 9 Usmerjanje 10 Izkušnje in nadaljnje delo 11 Sklep Dodatek A Navodila za uporabo sistema Literatura

+ Lastnosti dokumenta

Naslov
Razvoj naprednih storitev za GIS
Del
11 Sklep
Datum vsebine
08. 11. 2009
Original
RazvojNaprednihStoritevZaGIS.pdf
Vrsta
diplomska naloga
Jezik
slovenščina
Različica
1.0
Ustanova
Fakulteta za računalništvo in informatiko, Univerza v Ljubljani
Študij
Univerzitetni, računalništvo in informatika, logika in sistemi
Predmet
-
Mentor
doc. dr. Mojca Ciglarič
Avtor
Tine Lesjak
Ocena
10 od 1-10

Gre za celotno diplomsko delo s predstavitvijo.

Dodatne objave dela:

+ Priloge

predstavitev.pdf
Predstavitev diplomskega dela na zagovoru (dne 22. 10. 2009).
projekti.zip
Vsa izvorna koda v obliki SpringSource Tool Suite projektov (združljivi z Eclipseom) pod licenco Creative Commons Attribution 2.5 Slovenia License
primeri.zip
Primeri, predstavljeni kot izvlečki kode v diplomskem delu.
tinel-gis-geocoding.war
Storitev geokodiranja.
tinel-gis-reversegeocoding.war
Storitev nasprotnega geokodiranja.
tinel-gis-routing.war
Storitev usmerjanja.

Sistem je brez pretiravanja lahko življenjski projekt. Sistem takšne velikosti in neomejenih možnosti je mogoče razvijati v nedogled. Ravno zaradi tega sem se moral na neki točki ustaviti in se precej zadržati, da ne bi podaljševal že tako dolgega dela.

Sistem ima nekaj uspešnih rešitev, ki lahko drugače predstavljajo trn v peti. V podatkovnem modelu se podatki ne podvajajo in niso projicirani, zato so neposredno uporabni za analizo kjerkoli na svetu. Vsak geografski podatek lahko ima poljubno število imen. Storitve s pridom uporabljajo podatke tako, da je čas obdelave čim manjši. Tukaj je sicer še mnogo manevrskega prostora. Algoritme in poizvedbe lahko vedno izboljšamo.

Upam si trditi, da je sistem dobro prilagojen za potrebe kakšnega podjetja ali organizacije, čeprav ga še nisem imel možnosti preizkusiti. Sem pa ves čas izdelave imel v mislih podjetje Autronic, d.o.o., iz Ljubljane, kjer sem večino študija imel opravka z geografskimi podatki. To podjetje bi ta sistem lahko s pridom uporabilo - morda ga bo.

Meritve zmogljivosti storitev kažejo solidne rezultate, še posebej tiste, ki bi se v praksi uporabljale. Ni mišljeno, da bi se storitev geokodiranja uporabljalo avtomatsko, temveč bi jo uporabljali samo uporabniki - ljudje. Zato tukaj milisekunde niso toliko pomembne, kot je pomemben ustrezen rezultat. K izboljšanju rezultata bi dobro vplivala uporaba celobesedilnega iskanja, še posebej v povezavi z dobrim grafičnim uporabniškim vmesnikom.
Ravno nasprotno od storitve geokodiranja, je storitev nasprotnega geokodiranja uporabna večinoma samo za strojne namene. Odjemalci želijo nekajkrat v sekundi izvedeti, kateri znan geografski kraj je najbližji določeni lokaciji, ki jo vrnejo razne naprave GPS. Odjemalec bo moral pametno uporabljati to storitev. Uporaba predpomnjenja rezultatov in kopičenja več zahtev skupaj bo nujna.
Storitev usmerjanja je uporabna iz več zornih kotov. Lahko jo uporabljajo uporabniki, ki želijo poceni pot od točke A do točke B, lahko jo uporablja stroj za samodejno izdelavo poti, lahko jo uporablja kakšen računalnik za optimizacijo delovnih prevozov. Ne nazadnje jo lahko uporabimo tudi za navigacijo. Pri vseh teh načinih uporabe bi bilo smiselno najti optimalne ocenjevalne funkcije, kar zna biti tako zahtevno, kot je zahtevna dejanska cestna mreža. V prvi fazi pa bi vsekakor lahko algoritem bistveno pohitrili s tem, da bi občutno zmanjšali število poizvedb. To bi storili tako, da bi iz podatkovne zbirke naenkrat potegnili vse ceste, ki padejo v večje območje okoli obravnavanega vozlišča.

Storitve so napisane v javini arhitekturi, navzven se predstavljajo kot spletni strežnik, ki pa razume le serializirane javine objekte v obliki, kot jo uporablja Springov HTTP Invoker. Razvijalcem odjemalca tako preostane le eno: da uporabi isto tehnologijo. Če bi želeli vse splošno uporabnost, bi lahko storitve navzven predstavili v tehnologiji pravih spletnih storitev. Odjemalci in strežniki v tej tehnologiji komunicirajo le zgolj v obliki XML, zahteve in odgovori so natančno definirani v shemi XSD.

Sistem bi lahko obogatili tako, da bi mu, poleg novih domen v podatkovnem modelu, dodali še kakšno orodje. Na primer, storitev interesantnih točk in strežnik za upodabljanje zemljevidov GeoServer.

Za konec bi rad izrazil navdušenje nad skriptnim programskim jezikom Groovy, ki predstavlja skriptno alternativo ali bolje dopolnilo jeziku Java. V določenih primerih je zelo uporaben, ker skrajša mučno pisanje določene kode. V sistemu bi ga s pridom uporabil pri vseh zagonskih razredih in pri raznih pretvarjanjih podatkov. Vsa zrna bi bila spisana v njem, še posebej domenski objekti. A takšen jezik potrebuje zelo dobro podporo v razvojnem okolju. Groovy je zaenkrat nima, saj je podpora v trenutni različici SpringSource Tool Suite IDE-ja klavrna, prav takšna je podpora tudi pri Mavenu. Končni rezultat je takšen, da je sedaj z groovyjem še celo nekaj več dela. Zato sem se ga izogibal. Ni pa daleč čas, ko bo to urejeno (baje da so že pri komercialnem razvojnem okolju IntelliJ IDEA zelo blizu), tako kot je urejena izvrstna podpora za javo, brez katere si razvoja ne znam več predstavljati.

Zahvala Kazalo Seznam uporabljenih kratic in simbolov 1 Povzetek 2 Abstract 3 Uvod 4 Opis problema 5 Načrt sistema 6 Podatkovni model 7 Geokodiranje 8 Nasprotno geokodiranje 9 Usmerjanje 10 Izkušnje in nadaljnje delo 11 Sklep Dodatek A Navodila za uporabo sistema Literatura