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
- Naslov
- Razvoj naprednih storitev za GIS
- Del
- 4 Opis problema
- Datum vsebine
- 21. 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:
- ePrints.FRI: ID 933
- COBISS: ID 7349844
- 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.
GIS je računalniško voden informacijski sistem za zajemanje, hranjenje, urejanje, analiziranje (med drugim tudi iskanje), prikazovanje in deljenje podatkov, ki predstavljajo lokacije, - podatki so geografski [3] [7]. V GIS spada množica orodij, ki so za to potrebna ali koristna. Ta množica je zelo velika. Na trgu je ogromno brezplačnih in komercialnih orodij, ki svoje delo opravljajo dobro.
Slika 4.1: Dejavnosti GIS-a okoli podatkov.
GIS je lahko zelo koristen za podjetje, ki s svojo dejavnostjo sega tudi na geografsko področje. Eno takšnih je Autronic, d.o.o., iz Ljubljane, pri katerem sem skoraj ves čas študija imel opravka z geografskimi podatki. Razvijali smo sistem sledenja objektov v realnem času, kjer je prikaz lokacij na karti ključnega pomena.
V podjetju smo prišli do točke, ko smo želeli sistem začiniti tudi z več naprednimi orodji. Za večino orodij so stranke izrazile željo, nekatere tudi zahtevo. V vsakem primeru pa prinašajo konkurenčno prednost. Tri takšna orodja predstavljam v tem delu.
4.1 Funkcionalne zahteve
Prvo orodje je s strani strank zelo zaželeno. Prav pride uporabnikom, ki želijo izvedeti, kje se nahaja določen geografski kraj (npr. naslov, cesta, zgradba ipd.). V ustrezno opremljenem odjemalcu vnesejo iskalni niz, orodje jim poišče ustrezne zadetke, grafični odjemalec pa jih prikaže na zemljevidu. Orodje se imenuje geokodiranje. Ključno pri tem orodju je, da je zgrajen v obliki strežniške storitve, ki uporablja le en podatkovni model za vsa orodja GIS. O prednostih takšne zasnove malce kasneje.
Drugo orodje smo do delujočega stanja razvili že čisto na začetku, saj brez njega strankam ne bi imeli veliko za ponuditi. Orodje okoli podanih koordinat lokacije poišče najbližje geografske kraje. Imenuje se nasprotno geokodiranje. Uporabniška izkušnja je naslednja: lastniku vozila se namesto težko predstavljivih geografskih koordinat v grafičnem odjemalcu prikaže najbližji naslov, kjer stoji njegovo vozilo.
Prva implementacija je bila vgrajena v sam odjemalec, nestandardna in nepovezana z drugimi orodji. Namen nove implementacije je bil, da bi uporabljala iste podatke kot nasprotno geokodiranje (isti podatkovni model) in da bi bila zgrajena v obliki strežniške storitve.
Tretje orodje se imenuje usmerjanje. Uporabniku izračuna najcenejšo pot iz ene lokacije v drugo. Kaj za uporabnika pomeni najcenejša pot, lahko sam izbere, načeloma pa orodje podpira izračun najkrajše ali najhitrejše poti. V podjetju usmerjanja nismo imeli namena razviti že v tej fazi, a je sodelavec in sošolec Ivan Fućak s svojim diplomskim delom Usmerjanje v Geografskem informacijskem sistemu [3] zelo olajšal nadaljnje delo. Orodje, tako kot oba druga, uporablja isti podatkovni model in je zasnovano v obliki strežniške storitve.
Slika 4.2: Orodja za analiziranje geografskih podatkov.
Prednosti uporabe enega podatkovnega modela za vsa orodja GIS so očitne. Geografski podatki se ne podvajajo in vsi so dostopni na enem mestu. To bistveno pripomore tako k vzdrževanju podatkovne zbirke kot samih podatkov. Če je podatkovni model tudi dobro narejen, je prednosti še več. Ena od ključnih lastnosti je tudi ta, da ni omejen samo na lokalne podatke. Vanj lahko vstavimo podatke z vsega sveta, kot takšne pa jih lahko med seboj tudi analiziramo, ne glede na to, kje se nahajajo. Zaželena je tudi določena stopnja fleksibilnosti, saj je GIS zelo živahno področje, ki zahteva nenehne izboljšave, tudi nova orodja. Tako je morebitne razširitve modela kasneje enostavneje dodati.
Prednosti zasnove orodja v obliki strežniške storitve skupaj z enim podatkovnim modelom so naslednje:
- strežnik je enolično dosegljiv vsem odjemalcem: možno je posodobiti, popraviti, zamenjati ali premestiti strežnik, ne da bi odjemalci vedeli za to,
- strežnik je načeloma lažje optimizirati za določeno strojno opremo in ponuja večji nadzor nad sredstvi in dostopom do podatkov,
- tehnologije strežnik-odjemalec so že dolgo časa na voljo in so zelo zrele glede enostavnosti uporabe in varnosti,
- na strežnik se lahko priključijo različni odjemalci in
- podatki so centralizirani, kar olajša njihovo vzdrževanje in zmanjšuje njihovo podvajanje.
Pri razvoju podatkovnega modela in storitev sem upošteval nekaj dejstev, ki veljajo za podjetje. Podjetje že ima obstoječega grafičnega odjemalca, in sicer gre za namizno aplikacijo, spisano v tehnologiji Java. To pomeni, da je bilo zelo zaželeno, da je storitev temu primerno prilagojena. Podjetje ima lastne geografske podatke, ki so jih kupili ali izdelali sami. V poštev pridejo samo poceni ali zastonjske rešitve, ki so hkrati dovolj fleksibilne za prilagajanje in preproste za vzdrževanje in uporabo.
Pri pregledu obstoječih rešitev razmeroma hitro ugotovimo, da ni veliko ponudnikov in orodij, ki bi vsaj približno ustrezali tem zahtevam.
4.2 Pregled obstoječih rešitev
Veliki GIS-i so domena le nekaterih velikih podjetij in državnih agencij. Slednje sicer javnosti ponujajo določene podatke, a njihov sistem je večinoma lastno razvit in zaprt. Navadnim spletnim uporabnikom je prvi na veliko odprl oči Google, ki je s svojim spletnimi zemljevidi in aplikacijo Google Zemlja prikazal svet v natančni interaktivni podobi. Kmalu so mu sledila druga velika podjetja (npr. Microsoft in Yahoo). Zemljevidi postajajo vsak dan bolj natančni, kar se gre zahvaliti vedno večjemu številu satelitov in podjetjem, ki so specializirana za ponujanje digitalnih geografskih podatkov za cel svet (npr. Tele Atlas in Navteq). Mimogrede, cene teh podatkov so za majhna podjetja astronomsko visoke.
Politika in pogoji uporabe njihovih storitev, ki sedaj vključujejo tudi geokodiranje, nasprotno geokodiranje in usmerjanje, so prilagojeni za splet. Na primer, Googleove zemljevide je možno uporabljati samo v spletnem brskalniku, vključiti jih smemo samo v javno dostopno spletno stran [17]. Podobno velja tudi pri drugih ponudnikih. To pa v podjetju prinaša težavo, saj jih ni mogoče uporabiti v zaprtem namiznem javinem odjemalcu. Alternativo ponuja Microsoft, in sicer prek standardne spletne storitve [13], vendar proti visokem plačilu.
Po drugi strani pa je podjetij, ki bi prodajala celovite GIS-e kot programsko opremo, zelo malo. Njihove aplikacije so večinoma velike, okorne in zelo drage. Da ne bo pomote, govorimo o GIS-ih, ki ponujajo vsaj ta tri orodja (geokodiranje, nasprotno geokodiranje in usmerjanje) z možnostjo vključitve lastnih podatkov. Ponudba ostalih orodij, kot so orodja za vstavljanje, urejanje in prikazovanje geografskih podatkov je velikanska. Najdemo množico od odprtokodnih do plačljivih [14].
Še največji ponudnik programske opreme GIS, ki vključuje ta tri orodja, je podjetje ESRI, ki prodaja strežnik ArcGIS Server. Tega je možno kupiti v različici, ki vključuje zelo napredna orodja, a govorijo o ceni nekaj deset tisoč ameriških dolarjev [2]. Podobno je verjetno tudi z drugima podjetjema, ki precej skrivata svoje funkcionalnosti: Intergraph in GeoConcept.
Od programskih kosov, ki bi pripomogli k izdelavi GIS-a, moram omeniti odprto okolje GRASS, ki na enoten način omogoča urejanje najrazličnejših geografskih podatkov in njihovo analiziranje, med drugim vsebuje tudi orodja za izdelavo želenih storitev. Gre samo za razvojno okolje, ki bi se ga teoretično dalo uporabiti v strežniku.
Zanimiv je strežnik Gisgraphy, ki so ga razvijalci zelo približali zasnovi tega sistema, saj so uporabili praktično enake tehnologije, a niso razvili usmerjanja. Usmerili so se predvsem na uvoz podatkov in uporabo prosto dostopnih podatkov. Njihov podatkovni model se mi zdi vse kaj drugega kot preprost.
Sistem | Za | Proti |
---|---|---|
Spletni zemljevidi in storitve različnih ponudnikov (Google Maps, Microsoft Bing Maps, Yahoo! Maps idr.) | zelo natančni podatki za cel svet, zelo dobro dokumentiran programski vmesnik API, vedno posodobljeni podatki |
ni možno uporabiti v zaprtih namiznih odjemalcih v javi zaradi pogojev uporabe in tehnologije ajax (večina), ni možno vključiti lastnih podatkov (razen nekateri proti plačilu), omejitev uporabe (nekateri) |
ESRI ArcGIS Server Standard | zelo napredne in premišljene storitve | visoka cena |
GRASS | odprtokoden, 25 letna zrelost |
ni strežnik, ni podatkovnega modela |
Gisgraphy | odprtokoden, uporaba znanih tehnologij |
ni usmerjanja, podatkovni model ni preprost |
Tabela 4.1: Dobre in slabe lastnosti obstoječih sistemov.
Po pregledu obstoječih alternativ je jasno, da je izdelava lastnega sistema s ključnimi storitvami geokodiranja, nasprotnega geokodiranja in usmerjanja najcenejša, saj je prilagojena določenim zahtevam in na koncu koncev prinaša obilo veselja pri razvoju ter to diplomsko delo.
Sistem ima naslednje lastnosti:
- je prilagojen za (namiznega) odjemalca v javi,
- uporablja lastne podatke,
- uporabljene tehnologije so zastonj,
- je fleksibilen za morebitne razširitve in
- je čim bolj preprost.
Zanimanje za prostorske informacije je vedno večje. GIS-i vztrajno zavijajo v vode tako imenovanih lokacijsko odvisnih storitev (angl. Location-Based Services - LBS) [4] [7]. Te nudijo uporabnikom podatke, ki ustrezajo njihovi trenutni okolici. Ker so v uporabi novi načini komuniciranja, kot so mobilna/brezžična omrežja, majhne prenosne naprave (mobilni telefoni), od LBS-jev pričakujemo nekaj več kot od klasičnih GIS-ov: visoko zmogljivost (veliko mobilnih uporabnikov), zanesljivost (neprekinjeno delovanje), realno časovno odzivnost in dinamično prilagodljivost (lokacija uporabnika), mobilnost in odprtost (podporo splošno sprejetih standardov) ter varnost. LBS ponujajo mobilni operaterji (npr. Mobitelov Lokus [20]), vse več pa je tudi namenskih aplikacij (npr. storitev Latitude pri Google Maps za mobilne naprave [16]).
Konzorcij OGC (Open Geospatial Consortium) je pripravil odprt standard OpenLS [22], ki definira vmesnike za lažjo izmenjavo podatkov med množico mobilnih naprav in storitvami LBS, med drugim tudi za storitev geokodiranja, nasprotnega geokodiranja in usmerjanja. Ta sistem bi lahko prilagodili temu standardu.