SVG KOT NAČIN ZA PRIKAZOVANJE VISOKO LOČLJIVIH INTERAKTIVNIH SPLETNIH KART Uroš Preložnik* Povzetek Članek obravnava novo tehnologijo posredovanja prostorskih podatkov na svetovnem spletu z uporabo spletnega standarda SVG. Navedene so njegove prednosti in tudi slabosti glede na obstoječe sisteme, ki temeljijo na zasnovi odjemalec-strežnik. V nadaljevanju je bolj podrobno opisan zapis SVG-ja, na koncu pa so navedene tudi nekatere praktične rešitve s tega področja. Ključne besede: SVG, interaktivnost, spletna kartografija, GIS in internet Abstract SVG AS A WAY FOR PUBLISHING HIGH QUALITY INTERACTIVE WEB MAPS Article describes new technology for presenting spatial data on WWW with the use of web standard SVG. Advantages and also disadvantages of SVG regarding systems with client-server technology are presented. Further on, SVG is described in more details and at the end some practical solutions are presented. 357 Keywords: SVG, interactive, webmapping, GIS and Internet 1. ZAKAJ RAVNO SVG SvG (Scalable Vector Graphics) je nov standardni zapis za opisovanje 2D-vektorske in delno tudi rastrske grafike v jeziku XML. SVG (različica 1.0) je potrdila krovna organizacija World Wide Web Consortium (W3C, 2002) kot spletni standard septembra 2001, ki je skrbela tudi za njegov razvoj. Omogoča zapis treh različnih tipov objektov (vektorske grafične objekte, sestavljene iz linij ali krivulj, rastrske slike in besedila). Kmalu po predstavitvi pa je SVG postal zanimiv tudi za posredovanje prostorskih podatkov v spletnem brskalniku, saj ima precej prednosti pred večino obstoječih načinov za posredovanje prostorskih podatkov na internetu. V grobem jih lahko razdelimo v dve skupini (Šumrada, 2001): STRAT, d. o. o., Velenje Geodetski vestnik 46 / 2002 - 4 * 358 1. uporabnik pošlje zahtevo prek spletnega brskalnika do strežnika, na katerem se v določenem času izvede zahtevana prostorska operacija, nato pa se rezultat pošlje nazaj do uporabnika (metoda on the fly); 2. uporabnik izbere določeno operacijo, katere rezultati so bili že predhodno pripravljeni s posebnim programskim orodjem, ki je podatke iz nekega GIS-a izvozilo v obliko, primerno za prikaz na internetu. Skupna lastnost obeh skupin pa je pretvorba prostorskih podatkov v rastrsko sliko. To pa še vedno pomeni neko dodatno operacijo, omejijo se interaktivne zmožnosti in tudi pri pretvorbi se zmanjša grafična ločljivost (oziroma je za dosego boljše ločljivosti potrebno ponovno generiranje rastrske slike). Sama pretvorba je potrebna enostavno zaradi nezmožnosti oziroma zelo omejenega prikaza vektorskih podatkov v spletnem brskalniku (Preložnik, 1999). Glavne prednosti zapisa SVG-ja so : • standardiziran vektorski zapis podatkov (manjši od ekvivalentne rastrske slike), • dobra ločljivost in zato primeren tisk, • enostavno premikanje in povečava po sliki brez vmesnega nalaganja in čakanja, • enostavna vdelava v HTML-jeve dokumente, • možnost izvedbe interaktivnosti s pomočjo skripta (JavaScript), • možnost iskanja po besedilnih objektih (te objekte lahko indeksirajo tudi internetni iskalniki zaradi načina zapisa v standardu XML), • združevanje objektov v skupine1, • izvedba transformacij posameznih objektov ali skupin, • uporaba barv polnila in obrob objektov, znakov, filtrov, prosojnosti , • podpora različnih grafičnih objektov, sestavljenih tudi iz krivulj2, • možnost animacij, • odprta koda, del XML, • možnost uporabe kompresiranih datotek SVG, končnica svgz. 1 S tem lahko dosežemo večslojnost, ki je uporabljena v okoljih GIS in CAD. Vsi objekti enega sloja (layerja) bodo v SVG-ju zapisani v isto skupino, v kateri bodo imeli skupne parametre in se bodo uporabljali kot en sloj. 2 SVG podpira tudi Bezierove krivulje, ki so zelo primerne za prikaz linijskih objektov, recimo cestnega ali vodnega omrežja. Geodetski vestnik Obstaja pa tudi nekaj slabosti pri uporabi SVG-ja za spletno kartografijo: • podatki so dostopni vsakomur, ni učinkovitega sistema za njihovo zaščito. Pri tem nastopi problem avtorskih pravic in dovoljenj za uporabo; • za prikaz datotek SVG je zaenkrat potreben še dodatek (plugin) za brskalnik; • SVG ne omogoča kontrole topologije, saj je samo standard za grafiko za razliko od formata GM L (Geography Markup Language, standard za zapis in prenos prostorskih podatkov); • SVG ne omogoča prikaza bolj kompleksnih znakov, recimo dvojne črte za linijske objekte (to se lahko uredi samo z dvakratnim zapisom istega objekta z drugačnimi grafičnimi stili); • neučinkovito delo z velikimi datotekami - nezmožnost odpiranja posameznih delov dokumenta glede na uporabnikove zahteve. Osnovni problem je pretvorba prostorskih podatkov, ki so shranjeni v različnih GlS in CAD zapisih ali v relacijskih bazah podatkov v format SVG. Razvitih je že nekaj praktičnih rešitev, ki so navedene v nadaljevanju. V naslednji fazi je treba uporabiti način za prikaz datotek SVG v brskalniku. Na voljo je več prosto dostopnih pregledovalnikov SVG-ja, najbolj razširjen pa je Adobe SvG Viewer. Nahaja se na spletni strani -URL: http://www.adobe.com/svg/viewer/install/. 359 1.1 Možna konkurenca formatu SVG Prizadevanja za vzpostavitev vektorske grafike na spletu so se izvajala že dlje časa, vendar je do zdaj uspel preboj med množice uporabnikov samo standardoma Flash in PDF. V preglednici 1 je pregled večine vektorskih grafičnih formatov, ki so na spletu. Na kratko bodo opisani poleg formata SvG samo v tem času najbolj pomembni: 1. DWF - (Drawing Web Format) razvil ga je Autodesk za prikaz tehničnih risb, izvoženih iz AutoCada v formatu DWG. Ima nekaj zanimivih funkcij, vendar pa je neprimeren za bolj kompleksne karte. 2. Flash - zdaj najbolj razširjen vektorski format, ki omogoča interaktivnost. Razvilo ga je podjetje Macromedia predvsem za oglaševanje in večpredstavnost, deluje pa kot dodatek (plugin) za spletni brskalnik. V kartografskem smislu ima določene slabosti v primerjavi s formatom SVG. Poleg tega pa je veliko težji dostop do odprte kode (zapis podatkov je binaren), kar še bolj otežuje razširljivost in povezljivost. Podrobna analiza in primerjava formatov Flash in SVG sta na naslovu - URL: http://www.carto.net/papers/svg/comparison flash svg.html Geodetski vestnik 3. PDF - (Portable Document Format) v osnovi ni narejen za svetovni splet, ampak bolj za prenos dokumentov in pripravo za tisk. Prikazuje samo statično grafiko. Možna je povezava (hyperlink), vsebuje pa premalo interaktivnosti. 4. Java 2D - to ni grafični format, ampak zelo dobra grafična knjižnica za Javo. Zaradi velike razširjenosti Jave v internetu je to zanimiv način za prikaz prostorskih podatkov. Rezultati so visoko kakovostna grafika, možna je tudi interaktivnost. Preglednica 1: Pregled vektorskih grafičnih formatov za uporabo na spletu (povzeto po Neumann in Winter, 2001) 360 Format Način uporabe Razširjenost Stopnja interaktivnosti Zapis podatkov SVF (Simple P Zastarel 1 Binaren Vector Format) DWF P/A Redek 2 Binaren Flash P Razširjen 3 Binaren PDF P Razširjen 1 Binaren/ASCII SVG P Redek (NOV) 4 ASCII WebCGM B/P Redek 2 Binaren VML B- Redek 1 ASCII Java2D' A Redek (NOV) 4 Binaren ActiveX' B' Razširjen 4 Binaren P - dodatek (plugin) za brskal nik 0 - samo enostaven prikaz A - poseben programček (applet) 1 - povečava, sloji, klik na B - neposredno podpirajo nekateri objekte brskalniki 2 - dostop do objektov prek skript 'Ni grafični format, ampak grafična 3 - animacija knjižnica v pomoč programerjem. 4 - kompleten dostop in "Samo IVISIE4.0+ kontrola objektov in animacij SVG je edini od zgoraj navedenih formatov, ki so ga skupaj razvili in potrdili člani nekaterih najpomembnejših grafičnih in računalniških družb (Adobe, Apple, Autodesk, Corel, HP, IBM, Kodak, Macromedia, Microsoft, Netscape, Quark, Sun, Visio in Xerox) in drugih uporabnikov po načelih odprte kode. Poleg WebCGM je tudi edini potrjeni standard s strani W3C. V kratkem času je nastalo veliko orodij, programov, člankov na tem področju in SVG je dokazal, da se z uporabo drugačne tehnologije odpirajo povsem nove možnosti. Velja omeniti, da je bila letos poleti v Švici mednarodna konferenca SVG Open o interaktivni vektorski spletni grafiki, GlS-a v povezavi s spletom in spletno kartografijo. Več informacij in predstavitve projektov lahko preberete na spletni strani - URL: http://www. svgopen.org. Geodetski vestnik 2. OSNOVE ZAPISA SVG Dokument SVG se začne z glavo, kjer je navedena različica zapisa in povezava na DTD (Document Type Definition). Nato lahko sledijo razne definicije, ki se uporabljajo pozneje v dokumentu. Sledi glavni dokument , kjer med drugim lahko nastavimo velikost dokumenta na zaslonu in ustrezen koordinatni sistem (izhodišče ter velikost v merskih enotah). Spodaj je primer zapisa enostavnega dokumenta SVG. Na sliki 1 pa je prikazan isti dokument v spletnem brskalniku. Navadno besedilo Besedilo naliniji 361 Slika 1: Prikaz opisanega dokumenta SVG y spletnem brskalniku Geodetski vestnik Izhodišče SVG-jevega koordinatnega sistema je levo zgoraj. Če želimo zapisati prostorske podatke v SVG, moramo prezrcaliti os Y. To lahko storimo z uporabo negativnih vrednosti Y ali pa z uporabo ustrezne transformacije v zapisu glavnega objekta SVG. Tako dobimo klasični matematični pravokotni koordinatni sistem (slika 2). Slika 2: koordinatni sistem SVG in pretvorba v matematični koordinatni sistem 362 Poleg osnovnih geometrijskih elementov, ki jih lahko vsebuje dokument SVG (krog, štirikotnik, elipsa, linija, polilinija in poligon), je najbolj zanimiv element path. Z njim lahko zapišemo bolj kompleksne objekte, zato je najbolj primeren za zapis koordinat prostorskih podatkov. Vsak objekt ali skupina morata imeti opredeljeno tudi grafično predstavitev. Možnosti je veliko: barva polnila, barva obrobe, velikost in tip linije, barvni prehodi, prosojnost, filtri, vzorci, znaki). SVG pri tem podpira opredelitev takšnih grafičnih stilov v posebni datoteki3, s čimer lahko povsem ločimo zapis koordinatnih vrednosti od grafične predstavitve. Uporaba znakov (symbols) je smiselna iz mnogih razlogov: zmanjšamo velikost dokumenta, enostavno urejanje, ohrani se preglednost, saj se znak opredeli samo enkrat na začetku, nato pa se lahko uporablja (kliče) večkrat na poljubnih lokacijah. Osnovne interaktivne funkcije so že del Viewerja SVG (premikanje, povečava, prehod na začetno sliko), vendar pa je zelo enostavno doseči še veliko večjo V zapisu CSS2 (Cascading Style Sheet verzija 2, URL - http://www. w3.org/TR/REC-CSS2/). Geodetski vestnik stopnjo interaktivnosti. Z uporabo funkcij JavaScript lahko dosežemo npr. vklop in izklop določenih slojev, prikaz dodatnih informacij ob kliku na določen objekt, iskanje _ Možno je izdelati poseben grafični uporabniški vmesnik s funkcijami osnovnih pregledovalnikov GlS-ov, in vse to brez čakanja na nove podatke iz strežnikov. Takšna vmesnika, ki delujeta v brskalniku, sta na konkretnih primerih prikazana na slikah 3 in 4. 3. PRAKTIČNE REŠITVE UPORABE SVG-ja V SPLETNI KARTOGRAFIJI Izhodišče za spletno kartografijo s številnimi primeri in članki je na naslovu - URL: http:llwww.carto.mtl. Veliko podjetij je že predstavilo načine za izvoz prostorskih podatkov iz GlS-ov ali pa neposredno iz podatkovnih formatov (SHP, MIF v SVG. Za tako generirane datoteke SVG pa je lahko značilno, da so zelo dolge in vsebujejo tudi veliko odvečnih delov. Takšne podatke je smiselno optimizirati za bolj učinkovit in hitrejši prikaz. V poštev pride tudi generalizacija podatkov pred izvozom v SVG, saj s tem zmanjšamo število točk, povečamo hitrost odpiranja dokumenta, na drugi strani pa za prikaz na ekranu v večini primerov ni potrebna izredno visoka natančnost. Obstajajo tudi načini, ki neposredno generirajo datoteke SVG na zahtevo odjemalca na strani strežnika (sistem odjemalec-strežnik z uporabo SVG-ja). Takšen projekt na sistemu odprte kode razvija organizacija Apache. Projekt se imenuje Batik, deluje na osnovi Java 2D- grafičnih knjižnic in vsebuje pregledovalnik SVG in načina za rastriranje ter generiranje dokumentov SVG (Apache, 2002). 363 Slika 3: Interaktivna karta socialnih vzorcev Dunaja. Omogoča poljubno opredelitev razrednih vrednosti in barv glede na opisne vrednosti (Neumann, 1999-2002). Geodetski vestnik Slika 4: Interaktivna topografska karta jezera Tuerler. Vsebuje tudi rastrske podlage, omogoča poljubne smeri senčenja karte, prikaz izbranih naselij na karti in izdelavo poljubnih višinskih profilov (Neumann, 2002). 3.1 SVG maker SVG maker generira datoteke SVG iz programov, ki delujejo v okolju Windows. Uporablja se kot poseben tiskalniški gonilnik. Značilnost tako izdelanih datotek SVG je zelo dobra podobnost z originalno sliko, vendar pa so to povsem statične datoteke SvG, primerne samo za prenos in pregled prek interneta. 364 3.2 MAPublisher-SVG MAPublisher je kartografski dodatek podjetja Avenza za delo s prostorskimi podatki v okoljih CorelDraw in Illustrator. Vsebuje pa tudi možnost za izvoz podatkov v interaktivne datoteke SVG. Slika 5: Karta SVG, izdelana z SVGMapMakerjem 3.3 SVGMapMaker SVGMapMaker je izdelek podjetja DBx GEOMATICS in je dodatek za MapInfo Professional. Izvaža projekte, narejene v MapInfu, v format SVG. Odlikuje se z dobro vizualno predstavitvijo karte, manj pa z interaktivnimi zmožnostmi (slika 5). Geodetski vestnik 3.4 SVGMapper SVGMapper je programsko orodje, ki ga je avtor tega prispevka v celoti razvil sam, deluje pa v programskem paketu ArcView GIS 3.x. Izvozi sloje in besedilo iz ArcViewja v SVG skupaj s grafičnimi znaki in izdela interaktivno spletno karto za uporabo v brskalniku. Poleg osnovnih funkcij, ki so že del Viewerja SVG (premikanje, povečava, iskanje besedila), omogoča še naslednje pomembnejše funkcije: prikaz legende, vklop in izklop slojev, prikaz opisnih podatkov in merila (slika 6). Slika 6: Primer spletne karte, kot jo generira SVGMapper iz projekta ArcView GIS 365 4. ZAKLJUČEK SVG prinaša mnogo prednosti in novosti na področje povezave GIS-ov in interneta ter samega kartografskega prikaza prostorskih podatkov na spletu. Pri tem pa se odpirajo problemi o avtorstvu in zaščiti podatkov ter standardnem pregledovalniku, primernem za prikaz obsežnejših prostorskih podatkov. Glede na to, da se to področje hitro razvija in je veliko sprememb, je videti, da so zdajšnje rešitve bolj vmesna stopnja in da bodo kmalu predstavljene praktične rešitve uporabe standarda GmL, posebej ali pa v povezavi s SVG-jem. Literatura: Apache Software Fundation, Projekt Batik, 2002, URL: http://xml.apache.org/batik/ Avenza Systems, MAPublisher-SVG, 2002, URL: http://www.avenza.com/svg Geodetski vestnik 366 DBx GEOMATICS, SVGMapMaker, 2002, URL: http://www.dbxgeomatics.com Neumann, A., Vienna Chloroplete Map, 1999-2002, URL: http://www.carto.net/papers/svg/wien e.html Neumann, A., Interactive Topographic Map Tuerlersee, 2002, URL: http://www.carto.net/papers/svg/tuerlersee/ Neumann, A., Winter, A. M., Time for SVG - Towards high quality interactive web maps. ICC 2001 - 20th International Cartographic Conference, 2001, URL: http://www.carto.net/papers/svg/articles/paper icc congress china 2001.pdf Preložnik, U., Turistični GIS Velenja in Šaleške doline na Internetu. Diplomska naloga. Ljubljana, FGG OG, 1999 SVG maker, 2002, URL: http://www.svgmaker.com SVGMapper, 2002, URL: http://www.svgmapper.com Šumrada, R., Prehod od osrednje k porazdeljeni uporabi tehnologije GIS-ov. Geodetski vestnik, Ljubljana, 2001, letnik 45, št. 4, str. 560-571 W3C, World Wide Web Consortium, Scalable Vector Graphics (SVG) 1.0 Specification, 2001, URL: http://www. w3.org/TR/SVG/ W3C, World Wide Web Consortium, Scalable Vector Graphics (SVG), 2002, URL: http://www.w3.org/Graphics/SVG/ Recenzenta: Radoš Sumrada, Samo Drobne Prispelo v objavo:2002-09-03 Geodetski vestnik