116
FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU M A G I S T R S K A N A L O G A ŠTUDIJSKEGA PROGRAMA DRUGE STOPNJE FRANCI SMOLIČ

FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU

M A G I S T R S K A N A L O G A

ŠTUDIJSKEGA PROGRAMA DRUGE STOPNJE

FRANCI SMOLIČ

Page 2: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 3: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

FAKULTETA ZA INFORMACIJSKE ŠTUDIJE

V NOVEM MESTU

MAGISTRSKA NALOGA

UPORABA GIS ZA PRIKAZ METEOROLOŠKIH PODATKOV V PROMETNEM INFORMACIJSKEM

SISTEMU

Mentor: doc. dr. BLAŽ RODIČ

Novo mesto, maj 2010 FRANCI SMOLIČ

Page 4: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

IZJAVA O AVTORSTVU

Podpisani Franci Smolič, študent FIŠ Novo mesto, v skladu z določili statuta FIŠ izjavljam:

• da sem magistrsko nalogo pripravljal samostojno na podlagi virov, ki so navedeni v

magistrski nalogi,

• da dovoljujem objavo magistrske naloge v polnem tekstu, v prostem dostopu, na

spletni strani FIŠ oz. v digitalni knjižnici FIŠ (obkroži svojo odločitev):

o takoj

o po preteku 12 mesecev po uspešnem zagovoru,

o ne dovoljujem objave na spletni strani oz. v elektronski knjižnici FIŠ zaradi

prepovedi organizacije, v sklopu katere je bil pripravljen empirični del naloge.

• da je magistrska naloga, ki sem jo oddal v elektronski obliki identična tiskani verziji,

• da je magistrska naloga lektorirana.

V Novem mestu, 14.5.2010 Podpis:

Page 5: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

ZAHVALA Zahvaljujem se mentorju doc. dr. Blažu Rodiču za nasvete in pomoč pri izdelavi te

magistrske naloge.

Podjetju CGS Plus, d. o. o. iz Ljubljane se zahvaljujem za strokovno pomoč pri izdelavi

programske opreme in za gostovanje na njihovem strežniku.

Andreji Tasič in Gregorju Becu se zahvaljujem za lektoriranje oziroma oblikovanje besedila.

Page 6: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 7: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

POVZETEK Ob slovenskih avtocestah je postavljeno veliko število cestno vremenskih postaj. Glavni del

cestno vremenskih postaj je t. i. cestni senzor, ki meri lastnosti vozišča. Ti podatki se

prenašajo v nadzorni center DARS-a, kjer so dostopni upravljavcem in vzdrževalcem

avtocest. Mislim, da je dostop do določenih podatkov iz teh postaj, seveda v primerni obliki,

treba omogočiti vsem voznikom. Cilj magistrske naloge je bil izdelava aplikacije, ki bi

voznikom in drugim uporabnikom podatke predstavila na javnem spletnem portalu oziroma

preko brezplačne in splošno uporabne programske opreme. Prikaz podatkov z razvito

aplikacijo je uporabniku prijazen, pregleden in enostaven. Raziskal sem tudi možnosti

nadgradnje oziroma pregledovanja podatkov preko mobilnih telefonov in drugih mobilnih

naprav.

KLJUČNE BESEDE: cestno vremenske postaje, baze podatkov, informacijski sistemi, GIS,

prikaz podatkov, Google Earth, Google Maps.

ABSTRACT

At the Slovenian motorways is set a large number of road weather stations. The main part of

the road weather station, is so-called road sensor, which measures the characteristics of the

carriageway. These measured data are transmitted to the DARS control center, where they

are accessible to operators and maintainers of motorways. I think that access to certain data

from these stations, of course in an appropriate form, should be allowed to all drivers. The

aim of this master’s thesis was to develop an application which could present this information

to drivers and other users on a public web site or through free and universally applicable

software. The display of data with the developed application is user-friendly, transparent and

simple. I have also explored the possibility of upgrading this application for viewing data on

mobile phones and other mobile devices.

KEY WORDS: road weather stations, databases, information systems, GIS, data

presentation, Google Earth, Google Maps.

Page 8: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 9: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

KAZALO

1 UVOD ........................................................................................................................... 1

2 PREDSTAVITEV CVP IN CVIS .................................................................................... 2

3 TEORETIČNI DEL ........................................................................................................ 7

3.1 Informacijski sistemi ................................................................................................ 9

3.1.1 GIS ................................................................................................................ 13

3.1.2 Baze podatkov ............................................................................................... 20

3.2 Pregled najbolj poznanih spletnih zemljevidov in aplikacij na osnovi GIS .............. 31

3.2.1 Pregled slovenskih spletnih zemljevidov in aplikacij na osnovi GIS ................ 38

3.3 Jezik KML .............................................................................................................. 51

3.4 NET Framework (.NET ogrodje) ............................................................................ 52

3.5 Programski jezik C# (C Sharp) .............................................................................. 55

3.6 MySQL .................................................................................................................. 59

4 RAZVOJ PROTOTIPNE APLIKACIJE ........................................................................ 61

4.1 Zgradba sistema CVIS .......................................................................................... 61

4.2 Opis uporabljene aplikacije GIS Google Earth ....................................................... 65

4.3 Uporaba programskega jezika C# (C Sharp) ......................................................... 69

4.4 Uporaba jezika KML .............................................................................................. 69

4.5 Struktura MySQL podatkovne baze Collector ........................................................ 72

4.6 Metodologija razvoja prototipne aplikacije ............................................................. 76

4.6.1 Extreme Prototyping....................................................................................... 76

4.7 Izdelava prototipa .................................................................................................. 78

4.8 Opis izdelka ........................................................................................................... 79

5 ZAKLJUČEK ............................................................................................................... 81

6 LITERATURA ............................................................................................................. 83

7 VIRI ............................................................................................................................ 84

PRILOGE

Page 10: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 11: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

KAZALO SLIK

Slika 2.1: Uporabniški vmesnik CVIS DDC. ........................................................................... 3

Slika 2.2: CVIS kot element ITS ............................................................................................. 7

Slika 3.1: Shema delovanja sistema ...................................................................................... 8

Slika 3.2: Aktivnosti informacijskega sistema ......................................................................... 9

Slika 3.3: Hierarhija uporabe IS ........................................................................................... 11

Slika 3.4: Struktura ekspertnega sistema ............................................................................. 11

Slika 3.5: Klasični/ekspertni sistem ...................................................................................... 12

Slika 3.6: Distribuirani informacijski sistem ........................................................................... 13

Slika 3.7: Stenska slika iz jame Lascaux .............................................................................. 14

Slika 3.8: Elementi sistema GIS ........................................................................................... 16

Slika 3.9: Vektorska predstavitev GIS .................................................................................. 18

Slika 3.10: Vektorski in rastrski prikaz v GIS ........................................................................ 19

Slika 3.11: Pridobivanje podatkov z GPS ............................................................................. 19

Slika 3.12: Podatkovna baza skozi sheme ........................................................................... 21

Slika 3.13: Hierarhični podatkovni model ............................................................................. 26

Slika 3.14: Mrežni podatkovni model .................................................................................... 27

Slika 3.15: Model E-R .......................................................................................................... 29

Slika 3.16: Relacijska tabela ................................................................................................ 29

Slika 3.17: Primarni ključ ...................................................................................................... 30

Slika 3.18: Google Maps ...................................................................................................... 33

Slika 3.19: Microsoft Bing Maps ........................................................................................... 34

Slika 3.20: Yahoo! Maps ...................................................................................................... 34

Slika 3.21: ESRI ................................................................................................................... 34

Slika 3.22: GRASS GIS ....................................................................................................... 35

Slika 3.23: Nissanov sistem obveščanja voznikov ................................................................ 36

Slika 3.24: ARSO – Atlas okolja ........................................................................................... 39

Slika 3.25: Geopedia............................................................................................................ 40

Slika 3.26: GERK ................................................................................................................. 41

Slika 3.27: ZRC SAZU ......................................................................................................... 42

Slika 3.28: Najdi.si ............................................................................................................... 43

Slika 3.29: Zemljevid Telekoma Slovenija ............................................................................ 44

Slika 3.30: GeoStik .............................................................................................................. 45

Slika 3.31: Portal GURS ...................................................................................................... 47

Slika 3.32: CVIS DRSC ........................................................................................................ 50

Page 12: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 13: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

Slika 3.33: Trenutni podatki za posamezno CVP ................................................................. 51

Slika 3.34: Shema CLI ......................................................................................................... 56

Slika 4.1: CVIS DARS .......................................................................................................... 61

Slika 4.2: Programski paket SmartView3 ............................................................................. 62

Slika 4.3: Nastavitev časa osveževanja ............................................................................... 70

Slika 4.4: Prikaz podatkov z Google Earth ........................................................................... 71

Slika 4.5: Prikaz podatkov na spletni stani Google Maps ..................................................... 71

Slika 4.6: MySQL podatkovna baza COLLECTOR ............................................................... 72

Slika 4.7: Tabela »stations« ................................................................................................. 74

Slika 4.8: Tabela »sensor_values« ...................................................................................... 75

Slika 4.9: Tabela »sensors« ................................................................................................. 75

Slika 4.10: Tabela »units« .................................................................................................... 76

Slika 4.11: Arhitektura informacijskega sistema ................................................................... 79

Slika 4.12: Izgled prototipne spletne strani ........................................................................... 80

Slika 4.13: Prikaz vremenskih podatkov za CVP Šentjakob ................................................. 80

Page 14: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 15: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

1

1 UVOD

Osnovni cilj moje magistrske naloge je bil razvoj rešitve za prikaz vremenskih podatkov, ki jih

posredujejo vremenske postaje ob slovenskih avtocestah, na javno dostopni spletni strani.

Družba za avtoceste v Republiki Sloveniji, d. d. (DARS), uporablja te podatke za potrebe

vzdrževanja avtocest. Politika DARS-a je, da so ti podatki namenjeni izključno interni

uporabi. To dejstvo je predstavljalo veliko omejitev, ki se nanaša predvsem na končno

uporabnost rešitve. Nesmiselno je namreč voznikom prikazovati zgodovinske vremenske

podatke. Za voznike so uporabni samo trenutno veljavni vremenski podatki in napovedi

voznih razmer. Kar se tiče izdelave rešitve, pa ta omejitev ni predstavljala posebnega

problema. Rešitev je bilo treba prilagoditi tako, da omogoča 'ročno' vnašanje naključnih

podatkov za potrebe testiranja in komercialne predstavitve izdelka na trgu. Podatkovna baza

z zgodovinskimi podatki je služila kot osnova za izdelavo ustrezne rešitve.

DARS uporablja cestno vremenske postaje (CVP) treh največjih proizvajalcev: Lufft,

Boschung in Vaisala.

Trenutna različica rešitve omogoča prikaz podatkov vremenskih postaj proizvajalca Lufft,

vendar pa je pripravljena tako, da lahko z manjšimi dopolnitvami prikaže podatke, ki jih

posredujejo vremenske postaje drugih dveh proizvajalcev, ki tudi opremljata DARS.

V sodelovanju s podjetjem CGS plus, d. o. o., smo pripravili rešitev, ki lahko ob manjših

spremembah nastavitev omogoči prikaz vremenskih podatkov s pomočjo javno dostopne

aplikacije Google Earth in neposredno preko spletne strani. Zgodovinske podatke, ki se

hranijo na strežniku za vremenske postaje v prostorih DARS-a v avtocestni bazi na Brdu pri

Ljubljani, smo prekopirali na strežnik MySQL podjetja CGS plus, d. o. o. Ker je DARS

prepovedal tudi uporabo zgodovinskih podatkov, smo izdelali programsko opremo, ki

generira naključne vremenske podatke. Ti podatki se prenašajo v podatkovno bazo MySQL,

ki je popolnoma enako strukturirana kot podatkovna baza v avtocestni bazi DARS. Za prikaz

podatkov v aplikaciji Google Earth je bilo treba izdelati servis »Keyhole Markup Language«

(KML), ki podatke iz baze prikaže na zemljevidu. Odločili smo se za prikaz šestih vremenskih

podatkov, ki utegnejo voznike najbolj zanimati. Seveda cestno vremenske postaje merijo še

veliko drugih vrednosti, ki pa so pomembne predvsem za vzdrževalce avtocest. Za branje

podatkov iz podatkovne baze MySQL in vnašanje le-teh v servis KML, smo v programskem

jeziku C# izdelali ustrezno aplikacijo. Ker pa vsi uporabniki interneta nimajo nameščene

programske opreme Google Earth, je bilo treba za splošni prikaz teh vremenskih podatkov

Page 16: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

2

le-te predstaviti na samostojni spletni strani. Na njej lahko sedaj uporabniki z različnimi

brskalniki dostopajo do trenutnih podatkov o vremenskih razmerah na treh merilnih postajah.

Naslov prototipne spletne strani je: http://sites.google.com/site/vremesmolic/.

Za končni cilj smo si zadali komercializacijo naše rešitve. Podjetje CGS plus, d. o. o., bo

končni izdelek predstavilo odgovornim na DARS-u in jih na ta način poskusilo prepričati o

primernosti uporabe cestno vremenskih podatkov na javno dostopni spletni strani. Prav tako

bo izdelek prikazan na CGS konferenci, ki bo 12. 5. 2010 na Gospodarskem razstavišču v

Ljubljani. Rešitev bo prikazana v sklopu »Predstavitve raziskovalno-razvojnih projektov«.

Glede na izkušnje, ki jih imajo zaposleni v CGS plus, d. o. o., menim, da bo možno prikazati

tudi vremenske podatke z merilnih postaj drugih dveh proizvajalcev tovrstne opreme. Na ta

način bi dosegli zelo veliko pokritost prikaza vremenskih podatkov z naših avtocest. Ker je

datoteke KML možno uporabljati tudi v aplikacijah za mobilne naprave (na primer Google

Maps for Mobile), je to še posebej uporabno za sprotno obveščanje voznikov med vožnjo.

2 PREDSTAVITEV CVP IN CVIS

Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur.

Čeprav je v Sloveniji je vsako leto zgrajenih nekaj novih kilometrov avtocest in je statistično

gledano vožnja po njih dokaj varna, moramo vedeti, da to velja ob upoštevanju prometnih

predpisov in lepem vremenu. Povsem drugačne pa so razmere ob različnih nenadnih

vremenskih pojavih. Predvsem gosta megla, veter, poledica in sneg so tisti pojavi, ki bistveno

poslabšajo vozne razmere. Sodobne avtoceste so danes opremljene z različno tehnologijo,

ki je namenjena pravočasnemu opozarjanju voznikov na nevarnosti na cesti. Na kritičnih

delih avtocest so postavljene naprave, ki merijo vremenske pojave ob cesti in stanje

cestišča. Seveda pride njihova učinkovitost do izraza šele takrat, ko so vremenske postaje

povezane v celovit informacijski sistem, ki nudi dovolj informacij o stanju na cestah in

vremenskih pojavih na širšem območju. Šele takrat lahko vzdrževalci pravočasno vklopijo

prikaz opozoril na informacijskih tablah (t. i. portalih) na cestah ali pošljejo na ceste posipalce

soli in plužna vozila.

Na slovenskih avtocestah je trenutno postavljenih več kot 60 (stanje marca 2010) cestno

vremenskih postaj (CVP). Uporabljajo se izdelki treh največjih proizvajalcev tovrstne opreme

(Boschung, Lufft in Vaisala).

Page 17: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

3

Cestna meteorologija je kot stroka v Sloveniji razvita šele nekaj let. Cestno vremenske

postaje v glavnem postavljata DDC in DARS. V podjetju CGS plus, d. o. o. so za DRSC

razvili prvi slovenski cestno vremenski informacijski sistem (CVIS), ki je prikazan na sliki 2.1.

Izvedli so sistemsko integracijo CVP na državnih cestah, jih povezali v podatkovno bazo in

omogočili nadzor ter dostop do podatkov prek spletne aplikacije (oktobra 2009 je bilo

vključenih 18 CVP). V letih 2004 in 2005 so za druge naročnike v Sloveniji tudi dobavili in

namestili nekaj CVP-jev (Šajn in Čarman, 2006: 13).

Slika 2.1: Uporabniški vmesnik CVIS DDC.

Vir: CGS plus, d. o. o., 2009.

Cestno vremenska postaja je običajno na primernem mestu ob avtocesti in z različnimi

merilniki meri podatke, ki so pomembni za prometno varnost in vzdrževalce v zimski službi.

Merjenje temperature na površini ceste je samo osnovni podatek, ki le v kombinaciji s

podatki o temperaturi rosišča in trenutnem stanju cestišča (suho, vlažno, mokro, sneg/led,

sol, zmrzovanje) lahko poda osnovno informacijo o varni prevoznosti oz. nevarnosti poledice.

Za nastanek poledice so še posebej nevarne nenadne otoplitve z dežjem, ki sledijo daljšemu

hladnemu obdobju, znotraj katerega so se ceste v globini ohladile pod zmrzišče. Takrat lahko

ceste ob nepravočasnem ukrepanju postanejo smrtno nevarne drsalnice.

Najpomembnejši merilnik CVP je t. i. cestni senzor (»road sensor«), ki meri temperaturo

cestišča, debelino vodnega filma in koncentracijo soli ter poda temperaturo zmrzišča. Cestni

senzor je običajno vgrajen v cestišče, kar otežuje vzdrževanje. Finsko podjetje Vaisala z

brezkontaktnim setom dveh merilnikov – merilnika stanja cestišča DSC111 in merilnika

temperature površine cestišča DST111 – odpravlja poseg v cestišče. Zaradi namestitve na

Page 18: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

4

drog ali npr. na viadukt ni treba rezati ceste in vanjo nameščati merilnika. Merilnik za

določitev stanja cestišča uporablja spektroskopijo, ki po trditvah proizvajalca omogoča točno

merjenje količine vode, snega ali ledu na cestišču. Meri tudi zdrsnost cestišča in določa

stanje cestišča (suho, vlažno, mokro ...). Ob ustrezni namestitvi programske opreme dodatno

omogoča določitev vidljivosti v razdalji do 2000 metrov (s pogreškom do 20 %). Merilni

princip za merjenje temperature površine cestišča ni nov. Gre za implementacijo

brezkontaktnega infrardečega merjenja za potrebe cestno vremenskih sistemov (Čarman,

2009: 25).

CVP so opremljene tudi z meteorološkimi merilniki za merjenje temperature in relativne vlage

zraka, padavin, vidljivosti, hitrosti in smeri vetra. Kot dodatne merilnike lahko na CVP

priključimo tudi merilnike višine snega, sončnega sevanja in digitalne kamere.

Poleg trenutnih podatkov o razmerah na cesti so pri vzdrževanju cest bistvenega pomena

napovedi voznih razmer. V ta namen so CVIS nadgrajeni s kratkoročno vremensko

napovedjo in napovedjo stanja cestišča, prostorskimi prikazi in rezultati podpornih sistemov

za odločanje (MDSS – Maintenance Decision Support System).

Samo vremenska napoved ni dovolj za sprejemanje učinkovitih ukrepov pri zimskem

vzdrževanju cest. Ključnega pomena je natančno predvideti, kdaj se bo temperatura cestišča

tako znižala, da bo pričelo zmrzovati. Razlika med temperaturo zraka in temperaturo cestišča

se glede na okoliščine lahko giblje tudi med 10 in 20 stopinj Celzija. Da bi lahko napovedali

temperaturo cestišča na specifični lokaciji, moramo aktualne podatke, pridobljene iz CVIS,

združiti z aktualnimi vremenskimi napovedmi in jih vgraditi v specifičen cestni model

energijskih bilanc. Pri tem je treba upoštevati podatke o cestnem telesu in bližnjem terenu ter

poznati vremenske vzorce na lokaciji. Končni rezultat je visoko zanesljiva in natančna

napoved temperature, stanja cestišča in časovnega nastanka padavin. Natančna napoved

stanja cestišča lahko pomembno prispeva k racionalnejši organizaciji človeških virov in

mehanizacije (razpored delovnih ekip, plugov in posipalnih strojev, pripravljenost ekip za

zavarovanje poškodovanih vozil na cesti …) ter zmanjšani porabi posipnih materialov, kar je

pomembno s finančnega in okoljskega vidika.

Zimsko soljenje cest za obcestne rastline predstavlja stres. V pogojih povišane slanosti

govorimo o ionsko povzročeni suši za rastline. Slanost vpliva na osnovne procese v rastlinah

(fotosinteza, črpanje hranilnih snovi in vode, delovanje hormonov …). Rast je slabša, pojavi

se tudi problem kalitve. Na rastlinah, ki rastejo v pogojih povečane slanosti in temu niso

posebej prilagojene, lahko opazimo t. i. kloroze (listne bledice, ki nastanejo zaradi

Page 19: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

5

pomanjkanja železa) in nekroze (odmrtje tkiva) listov. O podobnih učinkih soljenja so žal

poročali tudi iz nekaterih slovenskih krajev. Ob soljenju cest pa ne smemo pozabiti še na

druge škodljive vplive, ki jih ima sol na okolje: korozija vozil in cestne infrastrukture, vpliv na

površinske vode in podtalnico. Zmerna uporaba soli za posipanje cest je zato nujna.

V Sloveniji se za posipanje cest uporablja morska sol (NaCl) ter v manjši meri kalcijev

(CaCl2) in magnezijev (MgCl2) klorid. Slednja se uporabljata predvsem za preventivno

posipanje na avtocestah, hitrih in glavnih cestah ter pri nižjih temperaturah (–8o C).

Z namenom izboljšanja vzdrževanja cest v zimskem obdobju in varovanja okolja so bile

izdelane tudi nekatere raziskave in študije, kot na primer:

• metode za hitro in učinkovito kontrolo kakovosti talilnih sredstev;

• uvedba cestno vremenskih postaj v zimsko vzdrževanje cest;

• določitev osnovnih hidrogeoloških kriterijev za povečanje aktivnega varovanja

podtalnice v primeru onesnaženja na slovenskem cestnem omrežju;

• vplivi na okolje pri posipanju cestišča;

• analiza organiziranosti in delovanja zimske službe.

Zaključke študij lahko strnemo v naslednje: da se uporablja preveč posipnih materialov, ki

negativno vplivajo na konstrukcije cestnih objektov, vozila, podtalnico in vegetacijo ter

zdravje ljudi; da se z izgradnjo ustreznih naprav lahko bistveno zmanjša onesnaženost

predvsem voda; da se z ustreznim vzdrževanjem zmanjša poškodbe na cestnih objektih itd.

Upravljavci cest v Sloveniji zato uvajajo vse večjo uporabo mokrega soljenja, kar ima za

posledico manjšo uporabo posipnih materialov, uporabljajo čistejše in kakovostnejše posipne

materiale s čim manj škodljivih učinkovin ter z uporabo sodobnejše mehanizacije,

opazovanjem in pravočasnim obveščanjem uporabnikov cest prispevajo k racionalizaciji

delovanja in skrbi za okolje. Navajam ključni izsek iz ene od študij (Brank, 2006: 21, 22).

Sporno soljenje

Zimska služba mora poskrbeti ne le za pluženje in čiščenje cest, temveč tudi za soljenje. To

je najcenejši način odstranjevanja snega, a ima mnogo negativnih vplivov. Ne le na

avtomobilsko pločevino, mnogo bolj bi se morali zamisliti nad učinki pretirane uporabe soli za

okolje. Za soljenje cest gre namreč vsako leto več ton soli, ki zaradi odlaganja snega v

Page 20: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

6

vodotoke in na površine zemljišč povzroča stalno zasoljevanje rečnega sistema in tal, na kar

organizmi niso navajeni. »Če pogledamo dolgoročno, potem soljenje zagotovo ni okoljsko

sprejemljivo, še zlasti zato, ker nihče ne preverja, koliko soli se s snegom odvrže na površine

in v vodotoke, prav tako ni inšpekcijskega nadzora nad takšnim ravnanjem,« pravi okoljska

svetovalka dr. Marinka Vovk z Okoljsko raziskovalnega zavoda v Slovenskih Konjicah.

»Pri posipanju cest se pojavljajo problemi v primerih, ko zaradi nepravilnega in pretiranega

soljenja debele plasti soli obležijo na zelenicah, od koder se sol vso pomlad izpira med

korenine dreves, kar dokazano škoduje tako rastlinam kot živalim v prsti. Tuje in domače

študije so potrdile hipotezo, da bi pojav kloroz in nekroz na listih lahko bil posledica

prekomernega soljenja cest. Vidni znaki poškodb dreves se pojavijo zlasti v drevoredih, ki so

tik ob cestiščih,« pravi Vovkova.«

(Novi tednik, 2009, Brank, 2006).

Različni proizvajalci imajo običajno različne pristope do zajemanja podatkov (Ivačič in

Čarman, 2008: 12). Vzrok temu je želja proizvajalcev, da končnega uporabnika navežejo na

svoj sistem. Podjetje CGS plus, d. o. o., je konec leta 2007 na DARS-ovem javnem razpisu

pridobilo projekt za povezavo vseh vremenskih postaj na slovenskih avtocestah v celovit

cestno vremenski informacijski sistem (CVIS). Pred tem je bil centraliziran pregled nad

stanjem slovenskih cest nemogoč, saj so bile posamezne CVP povezane samo z

računalnikom v najbližji cestni bazi. CVIS deluje od začetka leta 2009 in zaenkrat so

uporabniki CVIS-a le vzdrževalci cest (Ivačič in Čarman, 2008: 12). Do osnovnih in obdelanih

podatkov dostopajo preko spletnega brskalnika. Način dostopa do podatkov je prilagojen

njihovemu delovnemu mestu in odgovornostim. Na voljo imajo različne načine prikazov

podatkov (tabelarične in grafične). V primeru kritičnih razmer aplikacija sama sproži alarm, ki

se operaterju prikaže na ekranu, obenem pa se sproži tudi obveščanje preko SMS-sporočil.

Aplikacija je odprtega tipa in omogoča dodajanje novih postaj različnih proizvajalcev, novih

senzorjev na posameznih postajah in novih uporabnikov. Aplikacija prav tako omogoča

različne terminske izpise dogajanj in poročil. Cestno vremenski informacijski sistemi so

pomembni tudi v okviru inteligentnih transportnih sistemov (ITS) (Šajn Slak, 2009: 24). ITS je

integracija najsodobnejših informacijskih in telekomunikacijskih tehnik v transportne sisteme

in transportna sredstva z namenom nadziranja in upravljanja prometnih tokov, povečanja

prometne varnosti, izboljšanja obveščenosti voznikov in vzdrževalcev cest ter zmanjšanja

negativnih vplivov na okolje.

CVIS so pomembni sistemi znotraj ITS. CVIS s podatki iz CVP o trenutnem stanju cestišča in

trenutnem stanju vremena nudi informacijsko podporo predvsem pri zimskem vzdrževanju

cest. Glej sliko 2.2.

Page 21: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

7

Slika 2.2: CVIS kot element ITS

Vir: Čarman, 2009.

3 TEORETIČNI DEL

V teoretičnem delu naloge bom podal osnovne značilnosti informacijskih sistemov in

podatkovnih baz. Kot posebno vrsto informacijskih sistemov bom predstavil geografske

informacijske sisteme (GIS). V teoriji najdemo različne definicije za pojem sistem (Damij,

1998: 3). Največkrat omenjene so prav gotovo naslednje:

• sistem je relativno izolirana celota, sestavljena iz komponent in njihovih medsebojnih

odnosov, ki deluje v skladu z določenimi zakonitostmi;

• sistem je množica elementov, ki imajo določene medsebojne interakcije za uresničitev

nekega namena ali cilja;

• sistem lahko definiramo kot množico povezanih objektov, ki se jih da opisati s pomočjo

njihovih elementov.

Ločimo abstraktne in realne sisteme. Vsak sistem lahko opredelimo z vhodom, ki pride v

sistem iz okolja, procesom, ki se odvija znotraj sistema, in izhodom, ki pride v okolje kot

Page 22: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

8

rezultat delovanja sistema. V luči opazovanja sistemov pa obravnavamo predvsem naslednje

značilnosti (glej sliko 3.1):

• okolje sistema,

• meje sistema,

• vhode in izhode sistema in

• elemente sistema.

Slika 3.1: Shema delovanja sistema

Vir: FRI Univerze v Ljubljani, januar 2009.

Glede na povezanost sistemov z okoljem ločimo odprte in zaprte sisteme. Pri delovanju

sistemov je pomembna tudi povratna zveza, ki je mehanizem, ki sistemu omogoča, da z

informacijami o izhodih sistema vpliva na vhode v sistem. Povratna zveza je v bistvu vhod, ki

se uporablja za reguliranje aktivnosti sistema ustrezno določenemu cilju ali namenu. Sistemi

se lahko v večji ali manjši meri prilagajajo zunanjim spremembam. To merimo z entropijo

sistema, ki je v bistvu mera za neurejenost oziroma neorganiziranost sistema. Tako ločimo

pozitivno in negativno entropijo. Pozitivna entropija je značilna za zaprte sisteme, ki se ne

morejo prilagajati spremembam v okolju, kar vodi v neorganiziranost, neurejenost in motnje v

delovanju sistema (Damij, 1998: 13).

Page 23: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

9

3.1 Informacijski sistemi

V podjetjih se porabi več kot 80 odstotkov delovnega časa za sprejemanje in uporabo

informacij (Damij, 1998: 31). Ker je informacija osnova vseh aktivnosti organizacije, je treba

razviti sistem, ki bo omogočal pridobivanje in uporabo informacij s ciljem zagotavljanja

natančnih informacij v primarni uporabni obliki, takrat ko so uporabniku najbolj potrebne. Tak

sistem imenujemo informacijski sistem, katerega aktivnosti prikazuje slika 3.2.

Slika 3.2: Aktivnosti informacijskega sistema

Vir: FRI Univerze v Ljubljani, januar 2009.

Informacijski sistem (IS) lahko označimo kot množico ljudi, računalnikov, idej, aktivnosti,

podatkov in postopkov, ki skupaj omogočajo pridobivanje koristnih informacij. Če želimo, da

nam sistem prinaša koristi, mora izvajati vse tri aktivnosti, ki so značilne za informacijske

sisteme. Najprej mora sprejemati podatke od notranjih in zunanjih virov, v drugi fazi mora

pridobljene podatke obdelati in v zaključni fazi še poskrbeti za ustrezen prikaz informacij.

Med posameznimi fazami pa mora sistem skrbeti za hranjenje podatkov oziroma informacij.

Računalniki niso obvezen element vsakega informacijskega sistema. »Podatki so lahko

zapisani na različnih nosilcih (v kartotekah, na mikrofilmih, glasbenih in filmskih trakovih in

podobno), organiziran dostop do njih in njihovo povezavo pa zagotovimo z nosilcem

ustreznimi napravami. Informacijski sistem je lahko na primer celo popolnoma 'ustni'«

(Kostrevc, 1997: 20). Takih informacijskih sistemov je vedno manj, saj količina dela v

Page 24: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

10

sodobnih organizacijah zahteva uporabo informacijske tehnologije: računalnikov in ustrezne

programske opreme. Dejstvo je, da je učinkovito generiranje informacij iz pridobljenih

podatkov, kar omogoča informacijska tehnologija, bistvenega pomena za uspešno delovanje

podjetja.

Na osnovnem nivoju predstavlja strukturo informacijskega sistema šest blokov, ki definirajo

bistvo sistema. Zgradbo informacijskega sistema predstavlja naslednjih šest blokov: vhodni

blok, izhodni blok, tehnološki blok, blok baze podatkov, blok modelov in kontrolni blok. Pri

načrtovanju in ustvarjanju teh blokov se držimo desetih smernic načrtovanja. Ta proces

načrtovanja in ustvarjanja informacijskih sistemov imenujemo metodologija razvoja sistemov,

izvajajo pa ga sistemski analitiki.

Smernice, ki vodijo sistemske analitike pri načrtovanju informacijskih sistemov, so: celovitost,

razmerje uporabnik – sistem, tekmovalnost, kvaliteta in uporabnost informacije, sistemske

zahteve, obdelava podatkov, organizacijski dejavniki, stroškovne zahteve, človeški faktorji in

zahteve izvedljivosti. Poleg nujnosti upoštevanja vseh desetih smernic do podrobnosti

morajo analitiki določiti tudi nivo interakcije in morebitne protislovnosti smernic.

Informacijske sisteme delimo na pet različnih tipov glede na namen uporabe. Transakcijski

informacijski sistemi obdelujejo podatke o aktivnostih poslovanja v podjetju. Transakcija je

vsak dogodek, ki ima vpliv na poslovanje podjetja ali druge organizacije. Upravljavski

informacijski sistemi se osredotočajo na podporo odločanju v primerih, ko se lahko

informacijske zahteve vnaprej predstavijo. Informacijski sistemi za podporo odločanja

ponujajo menedžmentu podporo pri strateškem odločanju v določenih enkratnih situacijah.

Hierarhijo uporabe IS prikazuje slika 3.3.

Page 25: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

11

Slika 3.3: Hierarhija uporabe IS

Vir: Rodič, 2008: 36.

Sistemi za podporo odločanju – SPO (Decision Support System – DSS) nudijo podporo

vodstvu v edinstvenih situacijah sprejemanja strateških odločitev. Pri odločanju je treba za

dani primer ugotoviti, katere dejavnike je treba upoštevati in v kolikšni meri. Obdelave

podatkov so zelo zahtevne, odzivni časi so lahko tudi daljši. Za uporabnike je pomembno, da

so rezultati prikazani na razumljiv, uporabnikom prilagojen način.

Ekspertni sistem je inteligenten računalniški sistem, ki uporablja znanje in procedure

sklepanja za reševanje problemov na načeloma ozkem strokovnem področju (slika 3.4).

Slika 3.4: Struktura ekspertnega sistema

Vir: FRI Univerze v Ljubljani, januar 2009.

Page 26: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

12

Na določenem omejenem področju lahko posnema sposobnost odločanja in reševanja

problemov človeških izvedencev. Ekspertni sistemi so aplikacije, ki se obnašajo kot

strokovnjaki na ozkem strokovnem področju. Ekspertni sistem ni nadomestek za eksperte,

vendar omogoča širšo uporabo (dostopnost) njihovega znanja in ekspertiz, omogoča boljše

delo neekspertom in pomaga pri delu ekspertov.

Primerjavo med klasičnimi in ekspertnimi sistemi lahko vidimo na sliki 3.5.

Slika 3.5: Klasični/ekspertni sistem

Vir: FRI Univerze v Ljubljani, januar 2009.

Značilne zmožnosti ekspertnih sistemov so: sklepanje, presoja, delovanje pri nepopolnih

oziroma nezanesljivih podatkih, pojasnjevanje delovanja in predlaganih rešitev (sledenje

nazaj).

Zaradi padanja cen in rasti zmogljivosti računalnikov ter komunikacijskih povezav danes hitro

raste število distribuiranih informacijskih sistemov.

»Distribuiran informacijski sistem sestavlja več procesov, ki med sabo komunicirajo z

izmenjavo sporočil preko računalniškega omrežja. Med komunikacijo preko deljenega

pomnilnika, ki je možna znotraj posameznega računalnika, in komunikacijo preko omrežja je

precej razlik, zato je pri razvoju distribuiranih sistemov poleg razvoja drugačnih algoritmov

potrebno na drugačen način poskrbeti tudi za zanesljivost in varnost delovanja.« (Rodič,

2008: 21–24.)

Page 27: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

13

Gradnja distribuiranih informacijskih sistemov je precej bolj zahtevna kot razvoj aplikacij,

namenjenih delovanju na enem računalniku. Premostiti je treba številne razlike v omrežnih

protokolih, strojni opremi, programskih jezikih, operacijskih sistemih in med implementacijami

programskih rešitev različnih izvajalcev. Ključnega pomena za reševanje tega problema sta

danes internet in »middleware«. Primeri »middleware«, ki uporabljajo internetne protokole,

so CORBA, Java RMI in HTTP.

Slika 3.6 prikazuje shemo distribuiranega informacijskega sistema.

Slika 3.6: Distribuirani informacijski sistem

Vir: Rodič, 2008: 24.

3.1.1 GIS

Geografski informacijski sistemi (GIS) so informacijski sistemi, ki podpirajo okoljsko

odločanje in omogočajo povezavo lokacije s posameznimi pojavi na tej lokaciji. So sistemi za

upravljanje s podatki z geografsko komponento oziroma sistemi, ki nam omogočajo pregled

podatkov in lokacij, na katere se ti podatki nanašajo. GIS sestavljajo podporna metodologija

in potrebna tehnologija kot na primer okoljski podatki, strojna oprema, programska oprema in

organizacijska struktura. GIS je močno orodje za upravljanje in analizo okoljskih podatkov.

Pri pregledu zgodovine razvoja GIS moramo najprej omeniti slike kromanjonskih lovcev, ki so

jih arheologi odkrili v Franciji v jamah blizu mesta Lascaux. Glej sliko 3.7.

Page 28: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

14

Slika 3.7: Stenska slika iz jame Lascaux

Vir: Wikipedia, januar 2010.

Te slike so po predvidevanjih stare okoli 15.500 let. Lovci so na stene jam narisali živali, ki so

jih ulovili. Poleg živali so narisali tudi poti, za katere se predpostavlja, da so migracijske poti

živali. Ti zgodnji zapisi so prvi zametki modernega geografskega informacijskega sistema, ki

povezuje slikovno datoteko z atributno bazo podatkov. V 18. stoletju so se pojavile moderne

geodetske tehnike za topografsko kartiranje, ki so sledile prvotnemu tematskemu kartiranju.

V zgodnjem 20. stoletju se je razvila foto litografija, pri kateri so bili zemljevidi razdeljeni v

sloje. V zgodnjih šestdesetih letih je razvoj računalniške strojne opreme, ki je bil spodbujen z

razvijanjem jedrskega orožja, vodil k uporabi računalniškega kartiranja v splošne namene.

Razvoj prvega pravega GIS na svetu, ki ga je razvil Roger Tomlinson, je leta 1967

spodbudilo kanadsko zvezno ministrstvo za energetiko, rudarstvo in rezerve (Wikipedia,

december 2009). Ta GIS so poimenovali »kanadski GIS« (Canadian GIS; CGIS). CGIS so

uporabljali za pripravo, analizo in upravljanje s podatki, zbranimi za kanadski zemljiški

kataster (Canadian Land Inventory). Zemljevidi CGIS so bili izdelani v merilu 1 : 250.000.

Zbrane so bile informacije o tleh, kmetijstvu, rekreaciji, divjini, vodnih pticah, gozdarstvu in

uporabi zemljišč. Geograf Roger Tomlinson je tako postal poznan kot »oče GIS«. CGIS je

podpiral državni koordinatni sistem, ki se je razširil na celo celino. Lokacijske in druge

posebne informacije so se shranjevale v ločene datoteke. CGIS se je obdržal do

devetdesetih let. Podatki, zbrani v CGIS, predstavljajo največjo digitalno bazo podatkov o

kanadskih zemljiških potencialih. Njegova moč je bila v analizi kompleksnih podatkovnih

sklopov po vsej celini. Zanimivo je, da CGIS nikoli ni bil dostopen v komercialni obliki, čeprav

so se prvi komercialni GIS pojavili že v začetku osemdesetih. ESRI je leta 1982 ponudil prvi

komercialni GIS, imenovan ARC/INFO. Med največje proizvajalce GIS sodita danes poleg

ESRI tudi podjetji MapInfo in CARIS.

Page 29: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

15

Če je bilo za prvo generacijo GIS značilno ločevanje prostorskih in atributnih informacij, je za

drugo generacijo GIS značilno organiziranje atributnih podatkov v strukturirane baze

podatkov. Gospodarski razvoj v osemdesetih in devetdesetih letih je povzročil naraščanje

potreb po GIS na UNIX-ovih delovnih postajah in osebnih računalnikih. Do konca 20. stoletja

je hitra rast trga GIS pripeljala do množične uporabe in standardizacije GIS.

Danes se GIS uporabljajo za upravljanje razpoložljivih dobrin, opazovanje okolja, spremljanje

populacije, ocenjevanje tveganja naravnih nesreč, planiranje zdravstvene oskrbe, poštnih

storitev, določanje tveganih lokacij in še za mnogo drugega. GIS lahko zajema in shranjuje

podatke, pridobljene od zunanjih virov ali pa z zemljevidov in poročil. Ko so podatki enkrat

pridobljeni, jih je treba hraniti in skrbeti, da so vedno ažurni. Več kot 70 odstotkov vseh

stroškov pri uspešni uvedbi GIS predstavlja prav zajem podatkov. Največjo vrednost GIS

zato predstavlja prav podatkovna baza. Okoljske podatke v njej pridobivamo iz različnih

virov. Kot primarne podatke označujemo tiste vrednosti, ki jih vnašamo v računalnik

neposredno iz posameznih senzorjev. Sekundarne podatke pa imenujemo tiste vrednosti, ki

so že zbrane, vendar pa jih je treba še prevesti v računalniško berljivo obliko. GIS so danes

na voljo za vse tipe osebnih računalnikov, delovnih postaj in operacijskih sistemov. GIS

zahteva v računalniško omrežje povezano vhodno in izhodno opremo. Programska oprema

za GIS je sestavljena iz večjega števila modulov. Najpomembnejši je modul za upravljanje z

geografsko bazo podatkov. Ostali moduli so namenjeni analizam podatkov. Poleg modula za

upravljanje z bazo podatkov GIS pogosto vsebuje še naslednje module:

• modul za zajem podatkov,

• modul za pretvorbo podatkov,

• modul za prikaz podatkov in izdelavo poročil,

• modul za okoljske analize in

• modul za uporabniški vmesnik.

V sistemu GIS nastopa 5 osnovnih elementov, ki ta sistem tudi tvorijo. Prikazan je na sliki

3.8. Ti elementi so:

• strojna oprema,

• programska oprema,

• geokodirane baze podatkov,

• organizacija, postopki, metodologija in

• ljudje.

Page 30: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

16

Slika 3.8: Elementi sistema GIS

Vir: Monolit, d. o. o., januar 2010.

Organizacijsko pa GIS razdelimo na naslednje podsisteme:

• zajem podatkov,

• skeniranje,

• vektorizacija,

• geolociranje,

• manipulacija s podatki,

• vzdrževanje,

• pregledovanje,

• prostorske analize,

• prezentacija,

• izrisi,

• izpisi in

• digitalna kartografija.

Geografski informacijski sistemi združujejo lastnosti geografskih informacijskih sistemov,

lahko pa tudi tehničnih digitalnih arhivov in sistemov za upravljanje z dokumenti ter

predstavljajo integrirano rešitev na področju upravljanja tehničnih sredstev in tako

uporabniku nudijo kakovostno informacijsko podporo pri pridobivanju različnih informacij o

tehničnih sredstvih, infrastrukturnih sistemih, nepremičninah ipd. Naloga GIS je biti v kar

največji meri v pomoč uporabniku pri izvajanju vsakodnevnih operativnih nalog kot tudi pri

strateških razvojnih odločitvah.

Page 31: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

17

Geografski informacijski sistemi so v geografsko lokacijske namene še zlasti uporabni pri:

• projektiranju novih sistemov,

• intervencijskih posegih,

• komercialnih predstavitvah (lokacija prostorov, dimenzije, opremljenost),

• sprejemanju strateških razvojnih odločitev in

• še na mnogih drugih področjih.

Z GIS so povezani tudi stroški, ki jih razdelimo na stroške strojne in programske opreme,

stroške upravljanja GIS in stroške podatkov. Z izjemo padca cene strojne opreme je s

komercialno uporabo GIS večina stroškov GIS začela z leti naraščati. V prihodnosti lahko

pričakujemo padec cen programske opreme in stroškov upravljanja GIS predvsem zaradi

konkurence in inovativnih izboljšav. V nasprotju s tem trendom lahko pričakujemo, da bo

cena okoljskih podatkov tudi v prihodnjih dvajsetih letih ostala na visoki ravni.

Zgodovinsko gledano so k današnji široki uporabnosti GIS prispevala številna družboslovna

in naravoslovna področja. Najpomembnejša med njimi so prav gotovo: fotografija, geografija,

kartografija, krajinska arhitektura, računalniško podprto oblikovanje (CAD), daljinsko

zaznavanje, vojaške študije, mestno in podeželsko načrtovanje, okoljska matematika …

Zemljevid lahko razumemo kot poenostavljen model resničnega sveta. Zemljevidi lahko

prikažejo informacije na različne načine, odvisno od tega, kateri pojav v realnem svetu

opazujemo. Določeni zemljevidi prikazujejo lokacije objektov, kot so zgradbe in ceste, spet

drugi razdeljujejo prostor z namenom omejitve posameznih območij, na primer glede na

nadmorsko višino ali poštno številko. Digitalne predstavitve elementov zemljevida lahko

prikažemo v računalniškem okolju. Te elemente s pomočjo računalnika predstavimo glede na

obliko/položaj (geometrično) in z njihovimi lastnostmi.

GIS so v bistvu računalniški sistemi za ustvarjanje, upravljanje in shranjevanje predstavitev

okolja. Geometrični del digitalne predstavitve se nanaša na položaj objekta na Zemljini

površini z uporabo koordinatnega sistema. GIS so podobni grafom z merskimi enotami na osi

x in y (koordinati). Geometrične predstavitve so zgrajene na podlagi štirih osnovnih enot, in

sicer točk, črt, območij in prostorskih slik. Točke lahko povežemo v črte (linije), črte nato

povežemo v območja. Iz posameznih območij pa sestavimo prostorske slike. V nadaljevanju

poznamo dva pristopa k obravnavi geometrijskih podatkov v računalniškem okolju.

Page 32: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

18

Na točkah temelji vektorski pristop, na kvadratnih celicah pa rastrski pristop. Pri vektorskih

predstavitvah so točke, črte in območja predstavljeni s pari koordinat X in Y. Točka je

predstavljena z enim parom koordinat. Črta je predstavljena z nizom parov koordinat.

Območje pa je predstavljeno z nizom koordinatnih parov, pri čemer sta začetna in končna

točka isti. Vektorska predstavitev vsebuje torej točke, črte in območja. Vsaka od njih je

predstavljena tudi z oznako, kot lahko vidimo na sliki 3.9.

Slika 3.9: Vektorska predstavitev GIS

Vir: Lastni prikaz, 2010.

Rastrski pristop temelji na podatkovni strukturi, ki prikazuje točke, črte in območja s pomočjo

vzorcev (matric). Natančnost prikaza je odvisna od velikosti posamezne celice v mreži celic.

Točka je prikazana kot posamezna celica v mreži, črto predstavlja več sosednjih celic v

mreži, skupek celic pa predstavlja območje. Vsak element je torej sestavljen iz podobno

oštevilčenih celic. Te celice imenujemo tudi piksli (ang.: pixels). Slika 3.10 ponazarja

vektorski in rastrski prikaz v GIS.

Page 33: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

19

Slika 3.10: Vektorski in rastrski prikaz v GIS

Vir: Geoservis, d. o. o., december 2009.

Negeometrične lastnosti elementov, shranjenih v GIS, so predstavljene z besedilom in

številkami. Te lastnosti so običajno shranjene v datotekah ali tabelah podatkovnih baz. Način

povezave med geometričnimi in negeometričnimi podatki je bistveno vprašanje pri

oblikovanju geografskega informacijskega sistema.

Pridobivanje kvalitetnih podatkov je najdražji in najzahtevnejši del implementacije in

vzdrževanja GIS. Pri tem lahko pridobivanje pomeni nakup ali izposojo podatkov ali pa zajem

(specifičnih) podatkov na terenu. Za pridobivanje geografskih podatkov je na voljo mnogo

različnih tehnologij – daljinsko zaznavanje, fotografiranje iz zraka, geodetsko snemanje in

terenski zajem podatkov z GPS (glej sliko 3.11).

Slika 3.11: Pridobivanje podatkov z GPS

Vir: Geoservis, d. o. o., december 2009.

Page 34: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

20

Naloga pridobivanja podatkov torej ni zgolj enostaven zajem, s katerim oskrbujemo GIS z

ustreznimi podatki, pač pa tudi ažuriranje ali dopolnjevanje obstoječih GIS-ov z novimi

podatki in vzdrževanje obstoječih podatkov.

3.1.2 Baze podatkov

Baze podatkov oziroma podatkovne baze so po definiciji modeli okolja, ki služijo kot osnova

za sprejemanje odločitev in izvajanje akcij (Mohorič, 1991: 10). Če na podatkovno bazo

gledamo s tehničnega vidika, lahko uporabimo naslednji definiciji podatkovne baze:

• Podatkovna baza je zbirka med seboj pomensko povezanih podatkov, ki so shranjeni v

računalniškemu sistemu, dostop do njih je centraliziran in omogočen s pomočjo

sistema za upravljanje podatkovnih baz.

• Podatkovna baza je mehanizirana, večuporabniška, formalno definirana in centralno

nadzorovana zbirka podatkov.

Standard ANSI/SPAR (iz leta 1975) postavlja za podatkovno bazo naslednje štiri zahteve

(Wikipedia, januar 2010):

• Podatki so v bazi povezani in urejeni po določenem vrstnem redu.

• Podatkovna baza je urejena tako, da lahko podatke v njej istočasno uporablja en ali

več uporabnikov.

• Isti podatki se v bazi ne ponavljajo.

• Podatkovna baza je shranjena v računalniku.

Primer zgradbe podatkovne baze je prikazan na sliki 3.12.

Page 35: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

21

Slika 3.12: Podatkovna baza skozi sheme

Vir: Mohorič, 1991: 19.

Podatkovna baza po prvi definiciji podpira interakcije med človekom in njegovim okoljem.

Dogajanja v okolju se registrirajo v obliki novih podatkov, s katerimi se ažurirajo obstoječi

podatki, ki so že shranjeni v podatkovni bazi. Podatke v podatkovni bazi človek interpretira in

na osnovi pridobljene informacije ter lastnega znanja izvaja akcije v okolju. Pri procesnem

vodenju lahko akcije sproža tudi računalniška obdelava podatkov. Ker so akcije tudi del

dogajanja v okolju, se tudi podatki o njih beležijo v podatkovni bazi. V podatkovni bazi pa se

ne shranjujejo tisti dogodki iz okolja, ki služijo le kot sprožilec k dodatnemu iskanju podatkov

in ukrepanju. S podatki v bazi je treba smiselno upravljati, zato mora upravljanje podatkovne

baze zajemati zagotavljanje razpoložljivosti podatkov in nadzor nad njihovo uporabo

(celovitost podatkov, namensko uporabo podatkov in uporabnost podatkov v prihodnosti). Ko

govorimo o razpoložljivosti podatkov, mislimo na učinkovit dostop vseh uporabnikov sočasno

do vseh vrst podatkov in to ves čas. Uporabniki, ki potrebujejo tak dostop do podatkov v

podatkovni bazi, so: uporabniški programi za ponavljajoče se obdelave, parametrični

uporabniki za transakcijske obdelave, občasni uporabniki za posamična povpraševanja,

programerji za razvoj uporabniških programov in upravitelj podatkovne baze. Organizacija

podatkovne baze mora omogočati kratek odzivni čas pri naključnih povpraševanjih in

izvajanje čim večjega števila rutinskih operacij na časovno enoto. V skladu z zahtevo po

celovitosti podatkov v podatkovni bazi pa je treba izvajati naslednje postopke: obnavljanje

podatkovne baze, nadzorovanje sočasnega dostopa do podatkov in preverjanje vhodnih

podatkov. Preverjanje vhodnih podatkov se mora izvajati pred ažuriranjem ali prav v času

ažuriranja podatkovne baze. Pri tem se preverja, ali je vrednost posameznega

Page 36: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

22

elementarnega podatka smiselna glede na poznano domeno in ali je vrednost podatkov

smiselna glede na že obstoječe podatke v podatkovni bazi. Zahtevo po uporabi podatkov v

skladu z njihovim namenom obravnavamo z dveh vidikov: z vidika dostopa do dovoljenih

podatkov in z vidika pravilnega razumevanja podatkov. Kar se tiče pomena podatkov v

podatkovni bazi, mora obstajati uporabniku preprosto dostopen opis pomena posameznih

podatkov. Nepravilno razumevanje podatkov po navadi pripelje do napačnih zaključkov. V

podatkovni bazi obstajajo tudi zaupni podatki, zato je nujno uvesti sistem za nadzorovanje

dostopa do posameznih vrst podatkov. Pravica do kreiranja in brisanja tipov podatkov je v

glavnem dovoljena samo upravitelju podatkovne baze. Ostalim uporabnikom pa se glede na

njihove odgovornosti v organizaciji lahko dodelijo naslednje pravice: pravica do branja

podatkov, pravica do dodajanja podatkov, pravica spreminjanja podatkov in pravica do

brisanja podatkov.

Podatki v podatkovni bazi spadajo med najpomembnejše vire vsake organizacije. Zato je

treba zagotoviti prilagodljivost podatkovne baze v smislu uporabnosti tudi v prihodnosti.

Zagotovljena mora biti podatkovna neodvisnost strukture podatkovne baze. S tem je mišljeno

minimiziranje vpliva sprememb v podatkovni bazi na uporabnike. Probleme, ki lahko

nastopijo ob menjavi računalniške opreme rešuje tri nivojska arhitektura podatkovne baze.

Pri tem mislimo na ločevanje uporabniškega, konceptualnega in fizičnega nivoja.

Poleg podatkovnih baz za shranjevanje formatiranih podatkov, o katerih je bil govor do zdaj,

obstajajo še naslednje vrste podatkovnih sistemov: referenčni sistemi, sistemi za obdelavo

besedil, bibliografski sistemi, specializirane podatkovne baze ter baze znanja in objektne

podatkovne baze. Glede organizacije podatkovne baze za shranjevanje formatiranih

podatkov moramo ločevati dva pogleda. V širšem pogledu razumemo podatkovno bazo kot

podatke, uporabnike in uporabniške programe, upravitelja podatkovne baze in sistem za

upravljanje podatkovne baze (SUPB). V ožjem pomenu pa kot podatkovno bazo pojmujemo

le podatke, ki so shranjeni na zunanjem pomnilniškem mediju in s katerimi upravlja SUPB. Z

vidika upravljanja s podatkovno bazo ločimo centralizirane in porazdeljene podatkovne baze.

Tako lahko z določeno podatkovno bazo upravlja en sam SUPB ali pa več (lokalni in njim

nadrejeni SUPB).

Podatkovni del podatkovne baze delimo na meta in fizično podatkovno bazo (MPB in FPB).

V FPB so shranjene vrednosti podatkovnih elementov, ki se nanašajo na lastnosti objektov v

modeliranem okolju (fizični podatki). V MPB so shranjeni opisi fizičnih podatkov, in sicer kako

so shranjeni v zunanjem pomnilniku, kaj pomenijo in kako so dostopni uporabnikom. Oba

dela podatkovne baze sta v obliki fizičnih datotek shranjena v zunanjem pomnilniku

Page 37: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

23

računalniškega sistema. SUPB izvaja dostop do njiju posredno preko operacijskega sistema.

Glede na zahtevo po trinivojski arhitekturi podatkovne baze vsebuje MPB tri vrste opisov

fizičnih podatkov, in sicer notranjo shemo, konceptualno shemo in zunanjo shemo. Fizično

podatkovno bazo lahko obravnavamo na štirih nivojih: na nivoju operacijskega sistema (izven

podatkovne baze), notranjem nivoju, konceptualnem nivoju in zunanjem nivoju. Na

konceptualnem in zunanjem nivoju je podatkovna baza opisana s podatkovnimi modeli. Te

podatkovne modele delimo na globinske in površinske. Danes se najbolj uporabljajo

naslednji površinski podatkovni modeli: relacijski, mrežni in hierarhični podatkovni model.

Vsakega od teh modelov podpirajo zanj značilni operatorji, ki sestavljajo jezike za upravljanje

s podatki oziroma povpraševalne jezike.

Uporabnike podatkovnih baz delimo na posredne in neposredne. Direktno s podatkovno

bazo komunicirajo samo neposredni uporabniki, posredni pa le okvirno podajajo svoje

podatkovne zahteve preko neposrednih uporabnikov. Neposredni uporabniki podatkovne

baze se delijo na programerje, neprogramerje in upravitelja podatkovne baze. Neprogramerji

so menijsko vodeni uporabniki, parametrični uporabniki in uporabniki povpraševalnega

jezika. Med programerji pa ločimo uporabniške ali aplikacijske programerje, sistemske

programerje in tudi uporabnike povpraševalnega jezika. Sistem za upravljanje podatkovne

baze izvaja dostopne in kontrolne funkcije pri upravljanju podatkovne baze. Pod dostopno

funkcijo razumemo definiranje shem podatkovne baze ter kreiranje in reorganiziranje

podatkovne baze. Z vidika splošnega uporabnika med dostopne funkcije štejemo zajemanje

in ažuriranje podatkov v podatkovni bazi. Kontrolne funkcije SUPB pa delimo na zaščitne in

nadzorne funkcije. Te funkcije so uporabnikom prikrite, skrbijo za celovitost podatkovne baze

in preverjajo uporabniške pravice do uporabe podatkov. SUPB sestavljajo naslednji glavni

moduli: kontrolni sistem, povpraševalni procesor, menijski procesor, metapodatkovni

procesor in predvajalniki. SUPB je lahko izveden kot programska oprema ali pa kot

samostojen podatkovni računalnik, povezan z enim ali več gostečimi računalniškimi sistemi,

na katerih se izvajajo uporabniški programi.

Za modeliranje podobe sveta s podatkovno bazo se uporabljajo podatkovni modeli, ki

obsegajo podatkovno strukturo, operacije nad podatkovno strukturo in integritetne omejitve.

Pri modeliranju s podatkovno bazo se na konceptualnem in zunanjem nivoju uporabljajo

logični modeli, na notranjem nivoju pa fizični modeli. Logične modele delimo na površinske in

globinske. Površinski modeli so zapisno orientirani. Mednje štejemo:

• relacijski model (temelji na relacijah),

• mrežni model (temelji na grafih) in

Page 38: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

24

• hierarhični model (temelji na drevesih) (Mohorič, 1991: 9–29).

Glavni globinski podatkovni modeli pa so model »entiteta – razmerje«, binarni podatkovni

model, infološki podatkovni model in podatkovni model na osnovi semantičnih mrež.

Najpomembnejša naloga pri modeliranju podatkov je čim bolj realna predstavitev njihovega

pomena in logičnih povezav med njimi. Človek poskuša že od pradavnine dogajanje v

svojem okolju opisati na različne načine. Različne načine opisovanja predvideva tudi

definicija pojma podatek. Ta definicija pravi, da je podatek opis, zapis nekega pojava ali

dejstva in je lahko predstavljen v številčni, tekstovni ali grafični obliki. S podatki opisujemo

neke objekte oziroma entitete, ki nastopajo v obravnavani stvarnosti, poleg tega pa morajo

biti pomembne z našega vidika obravnave te stvarnosti. Iz napisanega sledi, da je

podatkovni model zbirka konceptov, s katerimi skušamo izraziti statične in dinamične

lastnosti podatkov v okviru informacijskega sistema.

Ker se je večina podatkovnih modelov razvijala intuitivno, nimajo formalne matematične

podlage.

Podatkovni model nam omogoča delni opis obravnavanega izseka stvarnosti oz.

konkretnega sistema, ki ga obravnavamo. Je zbirka konceptov, s katerimi skušamo izraziti

statične in dinamične lastnosti podatkov v okviru IS. Vsak objekt, ki ga predstavljamo s

pomočjo podatkovnega modela, bi moral biti predstavljen s četverko:

<ime_ objekta, lastnosti_objekta, vrednosti_lastnosti, čas>

(Dolžan, 2001: 17).

Pri večini podatkovnih modelov je čas zaradi svoje problematičnosti zanemarjen. V različnih

fazah modeliranja podatkov moramo uporabljati različne podatkovne modele. ER-model je

najbolj uporaben na logični ali konceptualni ravni.

Pri modeliranju podatkov z ER-modelom se kot osnovni modelirni koncepti pojavljajo:

entiteta, atribut, povezava in vrednost.

Entiteta je objekt, pojem ali subjekt, ki obstaja v realnem svetu in je pomemben z vidika

obravnavanega informacijskega sistema. Atribut pa je opisna lastnost nekega tipa entitete, ki

je značilna za celotno množico primerkov danega tipa. Vsako entiteto mora opisovati končna

množica atributov. Atributi skupaj tvorijo agregat, ki je tip entitete. Med entitetami obstajajo

Page 39: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

25

povezave. Za nas so vedno pomembne le tiste povezave, ki so pomembne z vidika

obravnavanega informacijskega sistema. Povezava v bistvu opisuje zvezo med n-tipi entitet.

Najpogostejše so vsekakor binarne povezave (povezave med dvema tipoma entitet).

Pri modeliranju podatkov je zaradi kompleksnosti realnega sveta treba uporabiti koncept

abstrakcije. Abstrakcija v tem primeru predstavlja zavestno zanemarjanje podrobnosti in

osredotočenje na splošne in skupne lastnosti pojavov, objektov ali pojmov. Najpogosteje

uporabljani koncepti abstrakcije so naslednji: klasifikacija, generalizacija, agregacija in

asociacija.

Podatkovni model naj bi v splošnem omogočal specifikacijo naslednjih značilnosti v

stvarnosti nastopajočih objektov:

• statične oziroma strukturne lastnosti,

• dinamične lastnosti in

• integritetne omejitve nad objekti in operacijami.

Doslej je bilo za modeliranje podatkov razvitih precej konceptov, programskih orodij in tehnik,

ki podpirajo različne vidike modeliranja in upravljanja s podatki v okviru SUPB. Te modele

lahko zdaj razdelimo v štiri skupine :

• primitivni modeli,

• klasični modeli,

• semantični modeli in

• specializirani modeli.

Nobeden od množice doslej znanih modelov pa ne združuje vseh lastnosti, ki bi jih

potrebovali pri sodobnem modelu. Primitivni in klasični modeli so usmerjeni izključno v fizično

zasnovo in specifikacijo podatkovne baze. Prvi semantični modeli pa že usmerjajo pozornost

bolj na logične ali semantične aspekte modeliranja podatkov. Primitivni modeli so nudili

skromne možnosti vzpostavljanja povezav med objekti. Razpoložljivi operaciji sta bili branje

in pisanje zapisov. Kljub vsemu pa še danes velik del računalniške obdelave temelji na njih.

Klasični podatkovni modeli zahtevajo malo širšo obravnavo. V skupino klasičnih modelov

uvrščamo naslednje modele: hierarhični, mrežni in relacijski model.

Page 40: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

26

Hierarhični podatkovni model (slika 3.13) prikazuje hierarhične organizacije in strukture

zelo naravno. Težave pa se pojavijo pri opisovanju nehierarhičnih povezav. Za te modele ni

na voljo neke temeljne teorije; pretežno so se razvijali s praktično uporabo. Že zelo zgodaj pa

so se pojavili prvi komercialni produkti SUPB, ki so temeljili na hierarhičnem modelu.

Hierarhični model pozna dva osnovna koncepta modeliranja. To sta zapis in povezava oče –

sin. Povezava oče – sin je tipa 1 : N. En primerek te povezave torej sestoji iz enega primerka

zapisa tipa oče in več primerkov zapisa tipa sin. Hierarhična podatkovna baza je sestavljena

iz množice hierarhij. Vsaka hierarhija pa je sestavljena iz množice tipov zapisov in povezav

oče – sin. Grafično se hierarhična shema prikazuje kot diagram, v katerem so tipi zapisov

prikazani s pravokotniki, povezave pa kot daljice, ki povezujejo zapis tipa oče z zapisom tipa

sin.

Slika 3.13: Hierarhični podatkovni model

Vir: Gimnazija Vič, december 2009.

Lastnosti hierarhičnih shem:

• Na najvišji ravni je en sam zapis, ki se imenuje koren in nima nadrejenih zapisov tipa

oče.

• Vsak tip zapisa, z izjemo korena, participira kot sin v natanko eni povezavi.

• Vsak tip zapisa lahko participira kot oče v poljubnem številu povezav.

• Tipi zapisov v hierarhiji, ki ne participirajo v nobeni povezavi kot očetje, se imenujejo

listi.

Page 41: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

27

Hierarhični model je torej najbolj primeren za modeliranje podatkov, ki imajo že po naravi

drevesno strukturo.

Mrežni podatkovni model, ki je prikazan na sliki 3.14, se je prav tako kot hierarhični hitro

uveljavil v praksi. V njem se podatki shranjujejo v zapise, ki vsebujejo skupino polj z

medsebojno povezanimi vrednostmi podatkov. Ti zapisi se klasificirajo v tipe zapisov, kjer

vsak tip zapisa določa strukturo skupine zapisov, v kateri so shranjene informacije istega

tipa. Vsak tip zapisa ima svoje ime, prav tako imajo svoja imena tudi polja (atributi), ki

sestavljajo določen tip zapisa. Običajno tipi zapisov predstavljajo entitete. Tip povezave je

drugi osnovni koncept mrežnega modela. Tip povezave opredeljuje povezave 1 : N med tipi

zapisov. Tip povezave vedno sestavljajo trije osnovni elementi:

• ime tipa povezave,

• zapis tipa lastnik in

• zapis tipa član.

V shemi mrežne baze podatkov lahko nastopa poljubno število tipov povezav. Zapisi tipa

član lahko nastopajo samo v enem primerku povezave določenega tipa. Mrežni model

omogoča tudi predstavitev sestavljenih atributov in ponavljajočih se grup. Osnovna slabost

mrežnega modela je ta, da je dostop do podatkov mogoč le na vnaprej predviden in v shemo

mrežnega modela vgrajen način.

Slika 3.14: Mrežni podatkovni model

Vir: Gimnazija Vič, december 2009.

Page 42: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

28

Leto 1970 štejemo za rojstno leto relacijskega podatkovnega modela. Tega leta je Edgar

Frank »Ted« Codd (1923–2003) objavil članek z naslovom »A Relational Model of Data for

Large Shared Data Banks« (v prostem prevodu: Relacijski model podatkov za velike

večuporabniške banke podatkov) (Mohorič, 1991: 109). To delo danes štejemo med klasična

dela s področja podatkovnih baz. Relacijski podatkovni model sodi med površinske modele

in se uporablja za predstavitev podatkovne baze na konceptualnem in zunanjem nivoju.

Codd je svoje ugotovitve strnil v 12 točk, od katerih so za začetno razumevanje pomembne

le naslednje (Mrhar, 2002: 13):

• Relacijski model predstavlja vse podatke neke podatkovne zbirke prek

dvodimenzionalnih tabel.

• Vse operacije nad podatki izvajamo prek enega jezika, v našem primeru SQL-a.

• Relacijski model omogoča izvajanje osnovnih relacijskih operacij (združevanje, preseki

ipd.).

• Relacijski model dovoljuje različne poglede na podatke.

Relacijske podatkovne zbirke so sestavljene iz preprostih dvodimenzionalnih tabel. Te so

sestavljene iz stolpcev in vrstic.

Kot opisni in strukturni mehanizem je relacijski model vgrajen v sisteme za upravljanje

relacijskih podatkovnih baz. Nekaj najbolj znanih SUPB je:

• Ingres,

• MS SQL Server,

• MS Access,

• MySQL,

• Oracle,

• Paradox in

• PostgreSQL.

Za relacijski podatkovni model velja, da ima med klasičnimi modeli najpreprostejše strukture

in je najbolj formaliziran. Na videz je precej podoben modelu entiteta – povezava (E-R),

prikazanem na sliki 3.15.

Page 43: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

29

Slika 3.15: Model E-R

Vir: Gimnazija Vič, december 2009.

Med njima pa je nekaj bistvenih razlik. Relacijski model ima nedvoumno matematično

podlago in jasno formulirane koncepte, ki omogočajo uporabo relacijske algebre pri izvajanju

operacij na modelu. Model E-R pa nima enotnega matematičnega formalizma, zato ga v

praksi različno interpretirajo. V relacijski bazi so podatki predstavljeni kot zbirka relacij.

Relacijo si lahko predstavljamo kot tabelo vrednosti, kar lahko vidimo na sliki 3.16.

Slika 3.16: Relacijska tabela

Vir: Gimnazija Vič, december 2009.

Tabele in kolone v njih imajo svoja imena, ki omogočajo predstavitev pomena vrednosti v

vsaki koloni. Vrstica v tabeli se imenuje n-terka, kolona se imenuje atribut, celotna tabela pa

se imenuje relacija. Domena D je množica atomarnih vrednosti, ki jih z vidika relacijskega

modela ni mogoče razstavljati. Vsaka domena ima dano ime, tip podatkov in format.

Relacijska shema R je množica atributov. Relacijska shema se uporablja za opredelitev

relacije; R pa je ime relacije. Vsaka relacija ima določeno stopnjo, ki je opredeljena s

številom atributov n v relacijski shemi. Relacija r relacijske sheme, ki jo označimo r(R), je

množica n-teric. Vsaka n-terka je urejen seznam vrednosti n. Relacijo r imenujemo tudi

ekstenzija relacijske sheme R. Relacijo pa lahko definiramo tudi kot podmnožico

Page 44: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

30

kartezičnega produkta vseh domen D, ki sestavljajo relacijsko shemo R. Relacija v svoji

definiciji nima opredeljenega vrstnega reda n-terk, ker poizkuša predstaviti podatke na logični

ravni. Vsaka vrednost v n-terki je atomarna. Sestavljeni in večvrednostni atributi niso

dovoljeni. To zagotovimo s konceptom normalizacije, ki sem ga uporabil pri praktičnem delu.

Kadar je vrednost nekega atributa neznana ali nepomembna, lahko uporabljamo posebno

vrednost NULL. V relacijskem modelu lahko nekatere relacije predstavljajo dejstva o

entitetah, druge pa o povezavah med njimi, vendar med njimi ni nobene formalne razlike.

Vse n-terke v relaciji si morajo biti med seboj različne. V ta namen moramo imeti podmnožico

atributov, katerih kombinacija vrednosti omogoča enolično identifikacijo vsake n-terke v

relaciji. To podmnožico atributov imenujemo ključ (slika 3.17).

Slika 3.17: Primarni ključ

Vir: Gimnazija Vič, december 2009.

Relacijska shema ima lahko tudi več ključev; tako skupino ključev imenujemo možni ključi

(candidate keys). V takih primerih moramo izbrati enega od možnih ključev, ki ga imenujemo

primarni ključ.

Relacijska podatkovna baza je sestavljena iz večjega števila relacij r. Shema relacijske

podatkovne baze S je množica relacijskih shem in množica integritetnih omejitev. Slednje so

definirane na shemi relacijske podatkovne baze in veljajo za vsak primerek te sheme. Te

omejitve se običajno nanašajo na kandidate za ključe in konsistenco med dvema relacijama.

Relacije so predstavljene s tabelami, zato se relacijska podatkovna baza kaže uporabniku

kot množica tabel. Njihova vsebina je uporabniku dostopna s pomočjo povpraševalnih

jezikov, ki so osnovani na relacijski algebri (postopkovni jeziki) ali pa na relacijskem računu

(nepostopkovni jeziki). Glavni predstavnik nepostopkovnih jezikov je SQL (Structured Query

Language – strukturirani povpraševalni jezik). S pojavom relacijskega podatkovnega modela

so se začela prizadevanja za razvoj primernega relacijskega povpraševalnega jezika.

SEQUEL (Structured English Query Language) je bil definiran in preizkusno uveden leta

1974 (Mohorič, 1991: 129). Iz njega se je razvil današnji SQL.

Page 45: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

31

SQL sta razvila IBM-ova inženirja Donald D. Chamberlin in Raymond F. Boyce. V osnovi je

bil namenjen za upravljanje in pridobivanje podatkov, shranjenih v IBM-ovem izdelku System

R. To je bila v bistvu relacijska podatkovna baza. Testirali so ga na različnih testnih poligonih

z različnimi sistemi za upravljanje relacijskih podatkovnih baz. V začetku je bil to predvsem

povpraševalni jezik in je temeljil na n-teričnem relacijskem računu. Kasneje se je razširil tudi

v jezik za specifikacijo shem. Že konec sedemdesetih let je postal dejanski standard.

Formalno je postal standardiziran leta 1986, ko ga je standardiziral ANSI. Temu je sledila

tudi standardizacija s strani ISO. SQL je bil prvotno zamišljen kot samostojni jezik, nato pa so

mu bile dodane še lastnosti, ki omogočajo njegovo uporabo tudi iz drugih programskih

jezikov. S pomočjo predprevajalnikov za ugnezdene SQL ukaze ga lahko uporabljamo tudi v

postopkovnih programskih jezikih.

3.2 Pregled najbolj poznanih spletnih zemljevidov in aplikacij na osnovi GIS

GIS je računalniško voden informacijski sistem za zajemanje, hranjenje, urejanje, analiziranje

(med drugim tudi iskanje), prikazovanje in razširjanje (distribucijo) podatkov, ki predstavljajo

lokacije. Za izvajanje vseh naštetih nalog je v GIS zajeta velika množica orodij.

Prvo orodje je geokodiranje in je primerno za uporabnike, ki želijo izvedeti, kje je določen

geografski kraj (npr. naslov, cesta, zgradba ipd.). V ustrezno opremljenega odjemalca

vnesejo iskalni niz, orodje jim poišče ustrezne zadetke, grafični odjemalec pa jih prikaže na

zemljevidu. Ključno pri tem orodju je, da je zgrajeno v obliki strežniške storitve, ki uporablja le

en podatkovni model za vsa orodja GIS.

Drugo orodje je nasprotno geokodiranje, ki okoli podanih koordinat lokacije poišče najbližje

geografske kraje. Uporabniška izkušnja je naslednja: lastniku vozila se namesto težko

predstavljivih geografskih koordinat v grafičnem odjemalcu prikaže naslov, ki je najbližji

lokaciji, kjer stoji njegovo vozilo.

Tretje orodje se imenuje usmerjanje. Uporabniku glede na njegove zahteve izračuna iskano

pot z ene lokacije na drugo. Uporabnik lahko izbira med različnimi tipi poti (najkrajšo,

najcenejšo, najbolj ekonomično …).Tako kot geokodiranje in nasprotno geokodiranje tudi

usmerjanje uporablja isti podatkovni model in je zasnovano v obliki strežniške storitve.

Prednosti uporabe istega podatkovnega modela in iste podatkovne baze 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 podatkov. Če je podatkovni model poleg

Page 46: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

32

tega 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 take pa jih lahko

med seboj tudi analiziramo, ne glede na to, kje so. 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.

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 po svetu 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. Omeniti

moram tudi Mapquest, ki je tovrstne storitve nudi že od leta 1996, vendar predvsem v ZDA,

kjer ima še danes veliko število uporabnikov.

Googlu so kmalu sledila druga velika podjetja (npr. Microsoft in Yahoo). Zemljevidi postajajo

vsak dan bolj natančni, za kar se moramo zahvaliti vedno večjemu številu navigacijskih

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. 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, vendar proti visokemu

plačilu. Po drugi strani pa je podjetij, ki bi prodajala celovite GIS-e kot programsko opremo,

Page 47: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

33

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, od odprtokodnih do

plačljivih orodij. 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, vendar je cena nekaj deset tisoč ameriških dolarjev. Od programske

opreme, ki bi pripomogla 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.

Glede na obiskanost spletnih strani z zemljevidi se danes največ uporabljajo naslednje

rešitve: spletni zemljevidi in storitve različnih ponudnikov (Google Maps, Microsoft Bing

Maps, Yahoo! Maps, ESRI ArcGIS Server Standard, GRASS …), ki jih prikazujejo slike od

3.18 do 3.22.

Slika 3.18: Google Maps

Vir: Google Maps, januar 2010.

Page 48: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

34

Slika 3.19: Microsoft Bing Maps

Vir: Microsoft, januar 2010.

Slika 3.20: Yahoo! Maps

Vir: Yahoo!, januar 2010.

Slika 3.21: ESRI

Vir: ESRI, januar 2010.

Page 49: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

35

Slika 3.22: GRASS GIS

Vir: GRASS, januar 2010.

Vsak sistem ima svoje prednosti in slabosti. Spletni zemljevidi so zelo natančni, imajo zelo

dobro dokumentiran programski vmesnik in vedno posodobljene podatke. Njihova slabost je,

da se jih ne da uporabiti v zaprtih namiznih odjemalcih v Javi (zaradi pogojev uporabe in

tehnologije Ajax), vanje največkrat ni možno vključiti lastnih podatkov in nekateri imajo

omejitve uporabe. Za ESRI ArcGIS Server je značilna zelo napredna tehnologija in uporabne

storitve, po drugi strani pa žal tudi visoka cena. Dobra stran sistema GRASS je odprta koda

in 25-letne izkušnje. Slaba stran pa je, da ta sistem nima strežnika in podatkovnega modela.

Tudi Gisgraphy je odprtokoden in uporablja znane tehnologije, žal pa nima usmerjanja in ima

zapleten podatkovni model.

Zanimanje za prostorske informacije je vedno večje. GIS-i vztrajno zavijajo v vode tako

imenovanih lokacijsko odvisnih storitev (angl. Location-Based Services – LBS). 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), vse več pa je tudi namenskih aplikacij (npr. storitev Latitude pri Google Maps za

Page 50: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

36

mobilne naprave). Konzorcij OGC (Open Geospatial Consortium) je pripravil odprt standard

OpenLS, 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.

V zadnjem času vse več avtomobilskih proizvajalcev v svoje avtomobile vgrajuje posebne

naprave, ki voznike sproti obveščajo o različnih ovirah na cesti. Omenil bom primer

japonskega podjetja Nissan Motors Co., Ltd., ki je prikazan na sliki 3.23.

Slika 3.23: Nissanov sistem obveščanja voznikov

Vir: Avtoin, januar 2010.

Napreden cestni prometni sistem uporablja informacije iz vozil v bližini in informacije

obcestnih optičnih signalov za opozarjanje voznikov na potencialne nevarnosti bližajočih se

vozil. Informacije prejema na vozilu vgrajena antena.

Poleg tega sistem uporablja informacije za opozarjanje voznikov, ko prehitro vozijo v bližini

šol. Voznikom s pomočjo zbiranja informacij o položaju in hitrosti soudeleženih vozil (pridobi

jih po tehnologiji brezžičnih komunikacij) priporoča najhitrejšo pot.

Med poskusno dobo so testirali naslednje sestavne dele sistema.

Opozorilo na vozila

Ta sistem opozarja voznike na prisotnost vozil, ki prehitro vozijo na nepreglednih križiščih.

Če sistem na primer ugotovi, da se vozniku z leve prehitro približuje avtomobil, sproži

Page 51: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

37

opozorilni zvočni signal in oglasi se glasovno opozorilo: »Car approaching from left.«

(Avtomobil se približuje z leve.) Istočasno se na ekranu voznikovega navigacijskega sistema

CARWINGS prikaže slika bližajočega se vozila.

Sistem voznika opozori tudi v primeru, ko zazna prehitro približevanje znaku stop ali rdeči

luči na semaforju.

Opozorilo na hitrost

Ta sistem opozarja voznike ob prehitri vožnji v bližini šole. Ko voznik prekorači v območju

dovoljeno hitrost, se zaslišita opozorilni zvočni signal in glasovno opozorilo: »School ahead.

Watch your speed.« (Približujete se šoli. Prilagodite hitrost.) Na zaslonu navigacijskega

sistema se prikaže znak s podobo območja šole.

Dinamični iskalnik poti

Ta sistem voznika obvešča o najhitrejši poti do cilja s pomočjo podatkov, ki jih pridobi preko

mobilnih telefonov naročnikov navigacije CARWINGS, vključno z lastniki taksijev, in

podatkov o vozilih, ki jih zbere operater mobilne telefonije NTT DoCoMo, Inc. Vsi podatki se

pošiljajo Nissanovemu strežniku, ki jih procesira v prometne informacije. Nissanov strežnik te

informacije posreduje voznikovemu navigacijskemu sistemu, kjer se na zaslonu prikažejo v

obliki zemljevidov, na katerih je označen potek prometa za širše geografsko območje, kot je

to možno pri starejšem sistemu VICS (Vehicle Information and Communications System),

javni storitvi, ki oddaja podobne informacije preko multipleksnega sistema FM ter radijskih

valov in infrardečih signalov.

Opozorila na vozila in opozorila na hitrost so bila testirana do konca poslovnega leta 2007.

Dinamični iskalnik cest pa so testirali do konca poslovnega leta 2008.

Nissanov inteligentni prometni sistem se pripravlja v sodelovanju s podjetjem NTT DoCoMo,

proizvajalcem zabavne elektronike Matsushita Electric Industrial Co., Ltd., in proizvajalcem

navigacijskih sistemov in programske opreme za vozila Xanavi Informatics Corp.

Pri Matsushita Electricu so razvili obcestne optične naprave za testiranje v sodelovanju z

japonsko policijsko agencijo National Police Agency, policijskim uradom prefekture

Kanagawa in japonskim združenjem za upravljanje prometa Universal Traffic Management

Society (UTMS).

Na podlagi rezultatov preizkusa pri Nissanu načrtujejo uvedbo svojega inteligentnega

prometnega sistema na Japonskem in v prihodnosti po vsem svetu kot del njihovega

prizadevanja za zmanjšanje števila prometnih nesreč in prometnih zastojev. Pri Nissanu so si

Page 52: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

38

zastavili cilj, da na Japonskem do leta 2015 v primerjavi z letom 1995 razpolovijo število

smrtnih žrtev in hudih poškodb v prometnih nesrečah, v katerih so udeležena Nissanova

vozila.

3.2.1 Pregled slovenskih spletnih zemljevidov in aplikacij na osnovi GIS

Google, Microsoft, Yahoo!, so le največji ponudniki spletnih storitev GIS na svetu.

Uporabniku omogočajo dokaj enostavno pregledovanje zelo različnih prostorskih podatkov,

po navadi kar v svetovnem merilu. Če smo pošteni, je veliko podatkov omejenih samo na

območje ZDA.

Zaradi majhne ekonomske zanimivosti slovenskega ozemlja za velike ponudnike spletnih

storitev GIS (majhna populacija, majhen trg in malo prometa) je Slovenija velikokrat

prikazana nenatančno, ni dobrih podatkovnih slojev, podatki so lahko zelo netočni itd. In kaj

storiti, ko si uporabnik zaželi podrobnejšega pogleda na Slovenijo?

Skoraj do vseh podrobnosti je Slovenijo moč pregledovati s pomočjo domačih ponudnikov

prostorskih podatkov. V nadaljevanju je navedenih nekaj največjih slovenskih ponudnikov in

značilnosti njihove ponudbe.

Page 53: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

39

Atlas okolja ARSO prikazuje slika 3.24.

Slika 3.24: ARSO – Atlas okolja

Vir: ARSO, januar 2010.

Agencija RS za okolje je ena izmed prvih v Sloveniji ponudila vpogled v baze prostorskih

podatkov preko spleta. Aplikacija, preko katere dostopamo do njihovih podatkov, se imenuje

Atlas okolja (Interaktivni naravovarstveni atlas). Na spletu si lahko ogledamo podatke, ki se

navezujejo na njihovo dejavnost, kljub vsemu pa si je možno ogledati tudi bolj splošne

podatkovne sloje, kot so državne topografske karte, temeljni topografski načrti in digitalni

ortofoto posnetki. Poleg tega aplikacija omogoča tudi iskanje po naslovu.

Specifični podatkovni sloji se nanašajo na:

• naravo (Natura 2000, zavarovana območja, naravne vrednote),

• vode (povodja, hidrogeološka karta, podzemne vode),

• okolje (občutljiva območja, viri elektromagnetnih sevanj),

• poročanje EEA in EU (kopalne vode, pokrovnost tal po CORINE, komunalne čistilne

naprave, monitoringi različnih voda).

Ena izmed slabih strani spletne aplikacije je, da je okno prikaza zelo majhno in ga ni možno

bistveno povečati. Za ogled podatkov se je treba predhodno registrirati; registracija je

brezplačna.

ARSO že nekaj časa preizkuša novo verzijo interaktivnega atlasa in možnost ogleda

prostorskih podatkov preko mobilnega telefona.

Page 54: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

40

Geopedia (glej sliko 3.25)

Geopedia je prvi interaktivni tematski atlas, baziran na ideji Wikipedije, ki uporabnikom

omogoča dodajanje in urejanje vsebin o Sloveniji. Geopedia je atlas, ki deluje kot

enciklopedija, saj se bo njena baza podatkov s stalnim urejanjem najrazličnejših vsebin širila

in tako postala edinstvena zakladnica informacij o Sloveniji.

Slika 3.25: Geopedia

Vir: Geopedia, januar 2010.

Geopedia izmed vseh omenjenih aplikacij še najbolj spominja na Google Earth ali kakšno

drugo podobno storitev, le da je prirejena za slovenski prostor. V svoji bazi ima ogromno že

obstoječih prostorskih podatkov različnih javnih institucij, poleg katerih lahko tudi uporabniki

dodajo svoje podatke. In ravno možnost dodajanja lastnih podatkov, povezanih s prostorom,

je ena izmed večjih razlik v primerjavi z ostalimi aplikacijami, kjer lahko uporabnik samo

pregleduje že obstoječe podatke.

Page 55: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

41

GERK Ministrstva za kmetijstvo, gozdarstvo in prehrano (glej sliko 3.26)

Slika 3.26: GERK

Vir: Ministrstvo za kmetijstvo, gozdarstvo in prehrano, januar 2010.

Dejanska raba kmetijskih in gozdnih zemljišč je bila narejena v sklopu Ministrstva za

kmetijstvo, gozdarstvo in prehrano. Spletna aplikacija nudi (neregistriranim) uporabnikom

vpogled v prostorske baze podatkov ministrstva. Njihove baze podatkov se od drugih

razlikujejo predvsem po informacijah kmetijske narave. Nekaj primerov specifičnih slojev

podatkov: kataster, raba tal, GERK (Grafične Enote Rabe zemljišč Kmetijskih gospodarstev),

namakalni sistemi, koruzni hrošč …

Ena izmed boljših stvari aplikacije je tudi, da lahko poljubno spreminjamo velikost okna, v

katerem se podatki prikazujejo.

Page 56: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

42

ZRC SAZU (glej sliko 3.27)

Slika 3.27: ZRC SAZU

Vir: Znanstvenoraziskovalni center SAZU, januar 2010.

Znanstvenoraziskovalni center SAZU nam s pomočjo svoje Interaktivne karte Slovenije

ponuja na ogled lastne zbirke podatkov, ki so plod mnogih študij in raziskav.

Nekaj primerov podatkovnih slojev: arheološka karta Slovenije, gozdne združbe Slovenije,

osončenost Slovenije, slovenski lingvistični atlas.

Ena izmed večjih pomanjkljivosti tega atlasa je zelo majhna velikost okna prikaza podatkov.

Page 57: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

43

Zemljevid na Najdi.si (glej sliko 3.28)

Slika 3.28: Najdi.si

Vir: Najdi, informacijske storitve, d. o. o., januar 2010.

Ena izmed možnosti, ki jo ponuja spletni iskalnik po slovenskem prostoru, je tudi zemljevid

Slovenije. Enostavna in dobra rešitev hitrega iskanja določenega naslova. Poleg iskanja po

naslovu Najdi.si omogoča tudi implementacijo posameznega dela zemljevida na druge

spletne strani.

Page 58: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

44

Telekom Slovenije (glej sliko 3.29)

Slika 3.29: Zemljevid Telekoma Slovenija

Vir: Telekom Slovenije, d. d., januar 2010.

Ena izmed dodatnih možnosti spletnega telefonskega imenika je tudi zemljevid, na katerem

se nam prikazujejo iskane lokacije. Poleg označevanja iskanih lokacij nam Telekomov

zemljevid omogoča tudi iskanje poti med dvema lokacijama. Možnost iskanja poti je odvisna

od tega, ali želimo potovati z avtomobilom ali peš. Pri avtomobilski možnosti nam ponudi še

najhitrejšo ali najkrajšo varianto. Iskanje poti nam lahko mnogokrat prihrani kakšen kilometer

odvečne poti. Zelo uporabno za prvo informacijo.

Page 59: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

45

GeoStik (glej sliko 3.30)

Slika 3.30: GeoStik

Vir: Simbiont, d. o. o., januar 2010.

GeoStik je geografski spletni servis, kjer uporabnik na enostaven in grafičen način dostopa

do različnih vrst interaktivnih informacij, prav tako pa lahko z iStiki člani skupnosti dodajamo

svoje podatke o trenutnih dogodkih. Uporabniški vmesnik je znan in deluje na osnovi Google

Maps, ki je zelo enostaven in učinkovit. Informacije so ločene po kategorijah, dostop do

posameznih sklopov pa je omogočen prek menijev. Vedno je poleg iStika naveden tudi vir

podatkov, njegova spletna stran in e-poštni naslov. Vsak podatek je torej preverljiv in skladen

z originalnim zapisom.

GeoStik združuje geografske podatke za naslednje kategorije.

Promet:

• avtomatski števci prometa, vir podatkov: DRSC;

• prometna opozorila, vir podatkov: DARS;

• zastoji na cestah, vir: DARS;

• prometne nesreče, vir: DARS;

Page 60: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

46

• zaprte ceste, vir: DARS;

• dela na cestah, vir: DARS.

Spletne kamere po svetu (člani skupnosti imajo možnost interaktivnega dodajanja kamer).

Vreme:

• trenutne temperature, viri: vremenske postaje ZEVS, Crometeo in privatne VP;

• radarske in satelitske slike padavin in oblačnosti, vremenske animacije, viri: ARSO,

Meteoalarm, ARPA, Vrijeme, Wetterzentrale;

• vremenske napovedi, viri: ZEVS, RTV SLO, ARSO, DHMZ;

• vremenska opozorila.

Zabava

Vpis iStikov za zabavo je povsem odprt za člane spletne skupnosti. Nanizani so:

• športni dogodki,

• rojstni dnevi,

• kava,

• film,

• igre,

• za otroke.

Prireditve

Vir iStikov pri prireditvah je lahko prek članov skupnosti ali pa v sodelovanju z ostalimi

servisi, ki te podatke že zbirajo:

• predavanja,

• razstave,

• koncert,

• predstava,

• delavnica.

Page 61: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

47

Ostalo:

• intervencije, vir: Uprava RS za zaščito in reševanje;

• planinske koče v Sloveniji, vir: Planinska zveza Slovenije;

• storitev tukaj je še mnogo, mnogo možnosti za sodelovanje.

GeoStik je še vedno v fazi razvoja in bo v taki fazi še dolgo ostal. Le tako se lahko zagotovi

sprotno in učinkovito dodajanje novih informacij, ki bodo popestrile spletno storitev ter

omogočile njeno večjo uporabnost. Trenutno obsega geoStik skupnost 64 registriranih

uporabnikov, ki dodajajo svoje zapise v podatkovno bazo.

Portal Prostor Geodetske uprave Republike Slovenije (glej sliko 3.31)

Slika 3.31: Portal GURS

Vir: Geodetska uprava Republike Slovenija, januar 2010.

Portal Prostor je zelo uporaben za vse, ki jih zanimajo podatki o parcelah in stavbah na

področju Slovenije. Podatki so redno osveženi in v veliki meri javno dostopni. Pri parcelah je

možno pregledovati tudi lastništva in deleže posameznih lastnikov. Ta del se usklajuje z

zemljiško knjigo. Portal vsebuje naslednje prostorske podatke: evidenco trga nepremičnin,

nepremičnine, topografske in kartografske podatke, zbirni kataster gospodarske javne

infrastrukture in državni koordinatni sistem. Nepremičninske evidence so: zemljiški kataster,

kataster stavb, evidenca državne meje, register prostorskih enot in register nepremičnin.

Topografski in kartografski podatki so: topografski podatki in karte, ortofoto, aerofotografije,

digitalni model višin in register zemljepisnih imen. Zbirni kataster gospodarske javne

Page 62: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

48

infrastrukture predstavlja temeljno nepremičninsko evidenco v Sloveniji, v kateri se

evidentirajo objekti gospodarske javne infrastrukture:

• prometna infrastruktura (ceste, železnice, letališča, pristanišča),

• energetska infrastruktura (infrastruktura za prenos in distribucijo električne energije,

zemeljskega plina, toplotne energije, nafte in naftnih derivatov),

• komunalna infrastruktura (vodovod, kanalizacija, odlagališča odpadkov),

• vodna infrastruktura,

• infrastruktura za gospodarjenje z drugimi vrstami naravnega bogastva ali varstva

okolja,

• drugi objekti v javno korist (elektronske komunikacije).

Osnovni namen zbirnega katastra je prikaz zasedenosti prostora z objekti gospodarske javne

infrastrukture, ki nam omogoča bolj načrtno urejanje prostora in varnejše izvajanje posegov v

prostor.

Gradbeni inženirski objekti gospodarske javne infrastrukture (GJI) tvorijo omrežja, ki služijo

določeni vrsti gospodarske javne službe državnega ali lokalnega pomena, oziroma tvorijo

omrežja, ki so v javno korist.

Geodetska uprava RS zagotavlja pogoje za delovanje zbirnega katastra gospodarske javne

infrastrukture. Zbirne podatke o vrsti in tipu objekta, njegovi lokaciji v prostoru in upravljavcu

vodi geodetska uprava v zbirnem katastru gospodarske javne infrastrukture na podlagi

podatkov, ki so evidentirani v posameznih katastrih gospodarske javne infrastrukture.

Lastniki objektov infrastrukture so dolžni zagotavljati posredovanje podatkov v zbirni kataster

na Geodetsko upravo Republike Slovenije.

Namen zbirnega katastra GJI je na enem mestu zagotavljati najbolj ažurne podatke o vseh

vrstah infrastrukture, ki so enostavno dostopni vsem uporabnikom. Ti podatki zagotavljajo

podporo procesom urejanja prostora in gospodarjenja z infrastrukturo.

Pravilnik o vsebini in načinu vodenja zbirke podatkov o dejanski rabi prostora podrobneje

določa vodenje in vzdrževanje zbirnega katastra gospodarske javne infrastrukture,

podeljevanje identifikacijskih oznak objektom gospodarske javne infrastrukture ter

posredovanje zbirnih podatkov v zbirni kataster.

Page 63: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

49

V zbirnem katastru GJI so na enoten način vodeni podatki o objektih GJI na območju

Slovenije. Vodijo se podatki o vrsti in tipu objekta, geolokaciji, identifikacijski podatki objekta

in podatki o lastniku objekta.

Dostop do podatkov iz zbirnega katastra GJI je zagotovljen vsem uporabnikom.

Koordinatni sistem je temelj za prostorsko umestitev objektov ali pojavov v prostoru.

Prostorska umestitev pomeni določitev ali pripis koordinat točkam, ki opisujejo objekte ali

pojave, v okviru koordinatnega sistema.

Državni koordinatni sistem je uradno veljavni koordinatni sistem na območju države.

Države imajo za svoja državna ozemlja vzpostavljene državne koordinatne sisteme, ki so

rezultat znanstvenega in tehnološkega razvoja v času njihove vzpostavitve. Državni

koordinatni sistem mora najprej zadovoljiti potrebe države, vendar ob upoštevanju

mednarodnih standardov.

Geodetska uprava Republike Slovenije je pristojna za vzpostavljanje, vzdrževanje in vodenje

državnega koordinatnega sistema.

Državni koordinatni sistem je razdeljen na dve komponenti, in sicer horizontalno in višinsko

komponento. To pomeni, da položaj točke obravnavamo ločeno.

Horizontalno komponento (lego) obravnavamo v okviru horizontalnega koordinatnega

sistema in višinsko komponento (višine) obravnavamo v okviru višinskega (vertikalnega)

koordinatnega sistema.

Page 64: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

50

CVIS DRSC (glej sliko 3.32)

CVIS DRSC je na spletnem naslovu: http://nt-gisa.cgsplus.si/ddc/.

Slika 3.32: CVIS DRSC

Vir: CGS plus, d. o. o., januar 2010.

Cestno vremenski informacijski sistem Direkcije Republike Slovenije za ceste v okviru

Ministrstva za promet (CVIS DDC) je izdelal CGS plus, d. o. o. Deluje kot spletna aplikacija

in prikazuje vremenske podatke, ki jih merijo posamezne merilne postaje. Slednje so

postavljene ob državnih cestah. Možno je pregledovati trenutno stanje na vseh postajah.

Prav tako lahko izberemo tabelarični prikaz izmerjenih vrednosti. Poudariti je treba, da je

sistem javno dosegljiv in vsebuje tudi nekatere podatke, ki so zanimivi samo za vzdrževalce

cest, ne pa tudi za splošne uporabnike. Na tej spletni strani so omogočene tudi standardne

funkcije GIS za delo z zemljevidi. Za ogled GIS-a je treba namestiti Active-X kontrolo

Mapguide. Trenutno (januar 2010) je možno spremljati vremenske podatke z 22 vremenskih

postaj. Prikaz podatkov za posamezno merilno mesto je prikazan na sliki 3.33.

Page 65: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

51

Slika 3.33: Trenutni podatki za posamezno CVP

Vir: CGS plus, d. o. o., januar 2010.

3.3 Jezik KML Jezik KML ali Keyhole Markup Language (KML) vsebuje slovnico na osnovi XML in definicijo

formata datotek ter je namenjen ustvarjanju in shranjevanju geografskih funkcij, kot so točke,

črte, poligoni in modeli za prikaz v programih Google Zemlja, Google Zemljevidi in drugih.

Jezik KML lahko uporabljate za skupno rabo mest in informacij z drugimi uporabniki teh

programov. Primer datotek KML lahko najdete na spletnem mestu skupnosti Google Zemlja,

ki opisuje zanimive funkcije in mesta (Google, januar 2010).

Datoteko KML program Google Zemlja obdela na podoben način kot spletni brskalniki

datoteke HTML in XML. Podobno kot jezik HTML ima tudi jezik KML strukturo na osnovi

oznak z imeni in atributi za prikaz posebnih značilnosti. Zato program Google Zemlja deluje

kot brskalnik za datoteke KML.

Datoteke formata KML lahko uporabljamo za:

• prikaz ikon in nalepk za označitev posameznih lokacij na Zemljinem površju;

• ustvarjanje različnih pogledov na posamezne enkratne izdelke;

• uporabo prosojnic, dodanih na površje ali zaslon;

• določevanje stilov prikaza;

• pisanje opisov prikazov HTML, vključno s hiperpovezavami in vgrajenimi slikami;

• uporabo imenikov za hierarhično združevanje prikazov;

• dinamično posodabljanje datotek iz oddaljenih ali lokalnih omrežnih mest;

• doseganje podatkov KML, temelječih na spremembah v 3D-pogledu;

• prikaz COLLADA 3D-predmetov.

Page 66: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

52

Ustvarjanje in skupna raba datotek KML

Datoteke KML lahko ustvarimo z uporabniškim vmesnikom Google Earth, za kar lahko

uporabimo XML ali preprost urejevalnik besedila, na primer Notepad (Beležnica), ki je že

priložena operacijskim sistemom Windows. Datoteke tega formata morajo imeti ime v obliki

*.kml. Datoteke KML in z njimi povezane slike (če obstajajo) je mogoče z uporabo formata za

stiskanje ZIP skrčiti v datoteke KMZ. Če želimo deliti svoje datoteke KML in KMZ, jih lahko

pošiljamo po e-pošti, lahko gostujejo na lokalnem strežniku za izmenjavo v zasebne namene

ali gostujejo na javnem spletnem strežniku. Tako kot spletni brskalniki prikažejo datoteke

HTML, brskalniki Earth, kot je Google Earth, prikažejo datoteke KML. Ko smo pravilno

nastavili strežnik in spletni naslov naših datotek KML, si jih vsakdo, ki ima nameščen Google

Earth, lahko ogleda preko spletnega strežnika (Google Earth, februar 2010).

Veliko aplikacij omogoča prikaz datotek KMZ: poleg Google Earth, Google Maps in Google

Maps za mobilne naprave tudi NASA WorldWind, ESRI ArcGIS Explorer, Adobe Photoshop,

AutoCAD, in Yahoo! Pipes.

3.4 NET Framework (.NET ogrodje)

Na začetku devetdesetih let prejšnjega stoletja, natančneje leta 1992, se je začel razvoj

svetovnega spleta (WWW oziroma World Wide Web) (Wikipedia, januar 2010). Ravno

svetovni splet je danes najbolj poznan in razširjen del interneta. Svetovni splet je zaradi

svojega hitrega razvoja zelo pripomogel k veliki priljubljenosti interneta po vsem svetu. Pri

mnogih uporabnikih je svetovni splet postal kar sinonim za internet. Tako danes večina ljudi,

ko govori o internetu, govori pravzaprav o svetovnem spletu in o spletnih straneh, čeprav je

internet sam precej več kot to.

Vzporedno z razvojem svetovnega spleta je šel naprej tudi razvoj tehnologij, ki omogočajo

njegovo uporabo na vseh področjih računalništva in še dlje. Zgodovinsko gledano so se

najprej pojavili spletni programski jeziki tipa »Common Gateway Interface« (CGI). Hypertext

Preprocessor (PHP) se je pojavil prvič že leta 1995. Popularen pa je postal šele v svoji tretji

različici iz leta 1997.

Nekoliko pred popularizacijo PHP je v svetovni splet vstopil Microsoft, in sicer z izdajo Option

Packa za operacijski sistem Windows NT Server. V okviru tega paketa je Microsoft uvedel

pomembno novost: prvo različico njegovega spletnega programskega jezika Active Server

Pages (ASP). Dve leti pozneje, z izdajo operacijskega sistema Windows 2000, je izšla

različica ASP 3.0, ki je bila tudi zadnja različica klasičnega ASP-ja.

Page 67: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

53

Že takrat se je pokazalo, da Microsoftov ASP po svojih zmogljivostih precej zaostaja za PHP-

jem. Poleg tega pa je imel PHP tudi odprtokodno licenco (Open Source) in je deloval na

brezplačnih operacijskih sistemih, temelječih na tehnologiji Linux/Unix. Ravno zaradi tega je

Microsoft opustil razvoj stare tehnologije in začel razvijati novo tehnologijo, za katero se je

kasneje pokazalo, da predstavlja revolucijo v svetovnem spletu in informatiki na splošno.

V začetku leta 2001 je Microsoft objavil osnovno arhitekturo svoje nove tehnologije,

imenovane .NET. Sredi leta 2002 je bil dokončan izdelek .NET Framefork 1.0 in Visual

Studio 2002.

.NET Framework predstavlja osnovo .NET. Poenostavljeno povedano je to sistem, ki

nadgrajuje zmogljivosti operacijskega sistema. Govorimo o posebnem okolju, ki s svojimi

možnostmi in vnaprej pripravljenimi rešitvami programerjem omogoča enostavnejši in hitrejši

razvoj vseh vrst in oblik aplikacij.

Ogrodje je razdeljeno na tri dele (DePetrillo, 2002: 51):

• izvajalnik kode skupnega jezika (CLR),

• knjižnice razredov in

• storitve (znotraj .NET) in spletne storitve.

Te komponente določajo, kaj je .NET.

Bistveni sestavni del .NET Frameworka se imenuje Common Language Runtime (CLR). CLR

je programski sistem, v katerem se izvaja programska koda. Ko uporabnik požene aplikacijo,

pisano za okolje .NET, jo CLR izvede in poskrbi za njeno stabilnost in funkcionalnost.

Ukazi v programih se v realnem času prevajajo v izvorno strojno kodo, ki jo računalnik

razume. To izvaja prevajalnik JIT (Just In Time Compiler). Ravno to prevajanje v izvorno

kodo je omogočilo prenos tehnologije .NET tudi na druge operacijske sisteme, kot sta na

primer Linux ali MacOS. To se izvede s pomočjo tretjeosebnega »mono« sistema (ime je

izbral razvijalec sistema in v španščini pomeni opica).

Ker prevajanje upočasni delovanje aplikacij, se izvede samo enkrat. Rezultati prevajanja pa

se shranijo za kasnejšo ponovno uporabo brez prevajanja.

Page 68: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

54

Programe za okolje .NET lahko pišemo v različnih programskih jezikih, med katerimi so vsi

najpogosteje uporabljani (C#, J#, VB.NET …). Dejstvo je, da CLR ni treba razumeti

nobenega od teh programskih jezikov. Ukaze dobiva izključno v jeziku, imenovanem

Microsoft Intermediate Language (MSIL). Pravila tega jezika temeljijo na specifikaciji

Common Language Specifications (CLS). Iz povedanega izhaja, da mora torej obstajati

prevajalnik, ki bo programski jezik, ki ga uporablja programer, prevedel v MSIL, tako da ga

bo CLR lahko razumel. Te prevajalnike poznamo pod oznako prevajalniki IL. Dostopni so za

veliko število programskih jezikov. Microsoft je izdal prevajalnike IL za pet jezikov: C#, J#,

C++, Visual Basic in JScript. Različni drugi proizvajalci programske opreme pa so pripravili

še prevajalnike IL za mnoge druge jezike, na primer: Perl, Python, Cobol, Eiffel …

Ker se torej vsi omenjeni programski jeziki najprej prevedejo v MSIL, je popolnoma vseeno, v

katerem jeziku bomo programirali. Iz tega izvira tudi druga velika prednost .NET. To je

večjezično pisanje aplikacij. Sedaj ni več potrebno, da vsi programerji, ki delajo na istem

projektu, uporabljajo isti programski jezik. Pomembno je le, da .NET podpira njihov

programski jezik oziroma da obstaja prevajalnik IL za ta jezik.

CLR ponuja izjemne možnosti, ki pa same po sebi niso dovolj uporabne, če jih gledamo z

uporabniškega stališča. Ravno zaradi tega v .NET Frameworku obstajajo nizi razredov, ki

omogočajo hitro in enostavno uporabo številnih uporabnih možnosti, ki jih ponuja CLR.

Prva in osnovna skupina razredov se imenuje Base Class Library (BCL). Vsebuje osnovne

funkcionalnosti, ki se uporabljajo pri programiranju (branje tipkovnice, preverjanje varnostnih

pravic, mrežno komunikacijo, transformacijo besedil …). Posebno nadgradnjo te osnovne

knjižnice predstavlja niz razredov, zadolženih za komunikacijo s podatkovnimi bazami

(ADO.NET) in XML-om. Ti razredi omogočajo komunikacijo s podatkovnimi bazami, kot so

MS Access, SQL server, Oracle … Podpirajo pa tudi upravljanje s podatki v dokumentih

XML.

Web Forms je del skupine razredov, imenovane tudi ASP.NET, in je zadolžen za razvoj

spletnih aplikacij. ASP.NET je naslednik že omenjenega ASP, vendar vsekakor ni njegova

novejša različica. ASP.NET predstavlja prihodnost spletnega programiranja. Tako

imenovane Web Forms vsebujejo vse objekte, ki so potrebni za objektno programiran pristop

h generiranju vsebin HTML, ki predstavljajo končni izdelek tega tipa spletnih aplikacij.

Web Services so namenjeni standardni komunikaciji med aplikacijami s pomočjo sporočil

SOAP, ki se prenašajo po spletu. .NET prinaša novosti na področju spletnega servisa. Pravo

Page 69: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

55

moč predstavlja možnost združitve različnih sistemov in aplikacij preko standardiziranega

načina komunikacije. Spletni servisi v bistvu predstavljajo spletne aplikacije, ki oddaljenim

programom omogočajo določene funkcije. Njihova uporaba je enostavna. V svoji aplikaciji

samo dodamo spletno referenco na želen spletni servis in dodamo njegov spletni naslov.

Servis lahko sedaj kličemo neposredno iz svoje aplikacije, kot da imamo opravka s katerim

koli drugim razredom, ki je v aplikaciji in ne dejansko nekje v svetovnem spletu. Seveda pa je

pogoj za delovanje servisa ta, da ima aplikacija dostop do interneta.

Windows Forms so standardni razredi za delo z okoljem Windows. V Microsoftu so na novo

izdelali skoraj vse objekte standardnega Windowsovega vmesnika. Vsekakor je velika novost

tudi tehnologija GDI+, ki omogoča napredno delo z grafiko.

3.5 Programski jezik C# (C Sharp)

C# je brez dvoma pravi jezik za uporabo v okolju .NET. Je čisto nov jezik, brez »prekletstva

združljivosti« in ponuja mnogo novih, vznemirljivih in obetajočih možnosti (Rasheed, 2006:

17).

C# je večmodelni programski jezik, je komponentno objektno orientiran, na razredih temelječ

jezik. Razvit je bil v Microsoftu v okviru pobude .NET.

Kasneje je bil odobren in standardiziran s strani Ecma (ECMA-334) in ISO (ISO/IEC 23270).

C# je eden od programskih jezikov, ki so bili razviti za Common Language Infrastructure

(Wikipedia, januar 2010).

CLI je odprt standard (objavljen pod ECMA-335 in ISO / IEC 23271), ki ga je razvil Microsoft.

Opisuje izvršljive kode v »runtime« okolju, ki tvorijo jedro Microsoft .NET Framework in

brezplačni odprtokodni aplikaciji Mono in Portable.NET. Standard opredeljuje okolje, ki

omogoča uporabo različnih višjih programskih jezikov v različnih operacijskih sistemih, ne da

bi jih bilo treba prevajati za vsak operacijski sistem posebej (glej sliko 3.34).

Page 70: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

56

Slika 3.34: Shema CLI

Vir: Wikipedia, januar 2010.

Razvojno ekipo za programski jezik C# je vodil Anders Hejselberg, ki je oblikoval tudi

programski jezik Turbo Pascal podjetja Borland. Za C# je dejal, da njegova objektno

usmerjena sintaksa temelji na jeziku C++ in še na nekaterih drugih. Oblikovalec

programskega jezika Java, James Gosling, je C# označil za imitacijo Jave. Zadnja različica

C# je 3.0 in je bila izdana v povezavi s .NET Framework 3.5 leta 2007. Trenutno je v fazi

razvoja različica C# 4.0.

Uporaba imena C# je bila navdahnjena z glasbeno notacijo, kjer »#« označuje, da mora biti s

tem znakom označena nota zaigrana za pol tona višje. Podobno je tudi z imenom

programskega jezika C++, kjer »++« pomeni, da mora biti spremenljivka povečana za 1.

Znak »#« prav tako razumemo kot mrežo štirih znakov »+«. Tudi to naj bi predstavljalo

nadgradnjo jezika C++. Zaradi tehničnih omejitev in dejstva, da znaka za višaj ni na

standardni tipkovnici, je bil izbran tako imenovani numerični znak »#«. Ta znak je uporabljen

tudi v specifikaciji jezika ECMA-334. V posameznih primerih, kjer je uporaba standardnega

Page 71: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

57

višaja možna, pa ga Microsoft še vedno uporablja. Znak »#« se uporablja tudi pri številnih

drugih jezikih .NET, ki so izpeljanke iz že obstoječih jezikov, na primer: J#, A#, Eiffel#. Tudi

nekatere knjižnice so označene s tem znakom, kot na primer Cocoa# ali Qt#, ki so izpeljane

iz osnovnih različic za potrebe .NET.

Kot sem že prej navedel, je programski jezik C# standardiziran. To področje ureja standard

Ecma-3. V nadaljevanju bom nekoliko bolj predstavil ta standard.

Ta mednarodni standard temelji na predlogu Hewlett-Packarda, Intela in Microsofta. C# je bil

razvit v podjetju Microsoft, najpomembnejši ustvarjalci jezika pa so bili Anders Hejselberg,

Scot Witamuth in Peter Golde. Prvo splošno razširjeno različico jezika C# je izdal Microsoft

julija 2000 kot del pobude .NET Framework.

Tehnični odbor Ecma 39 (Technical Committee TC39) delovna skupina 2 (Task Group TG2)

je bila ustanovljena septembra leta 2000. Njen namen je bil izdelati standard za C#. Takrat je

bila ustanovljena tudi delovna skupina (TG3), katere naloga je bila izdelava standarda za

knjižnico in delovno okolje, imenovano Common Language Infrastructure (CLI). CLI temelji

na .NET Framework. V praksi seveda ni nujna uporaba Microsoftovih knjižnic, vendar pa

morajo biti izpolnjene minimalne zahteve za CLI, ki jih uvaja standard C#.

Ob razvoju C# so želeli doseči naslednje cilje:

• C# mora biti preprost, sodoben, večnamenski in objektno orientiran programski jezik.

• Jezik in uporaba le-tega morata zagotavljati podporo določenim programerskim

načelom, kot so: močna kontrola vnosov, preverjanje omejitev razporeditvenih

omejitev, zaznavanje poskusov uporabe neinicializiranih spremenljivk in samodejno

»zbiranje odpadkov«. Pomembne so robustnost, trajnost in učinkovitost programerjev.

• Jezik je namenjen za razvijanje programskih delov, primernih za uporabo v

distribuiranih okoljih.

• Prenosnost izvorne kode je pomembna še posebej za programerje, ki so do zdaj

uporabljali jezika C in C++.

• Zelo pomembna je tudi internacionalizacija jezika.

• C# mora biti primer za izdelavo aplikacij tako za gostiteljske kot tudi za vsebovane

sisteme. Spekter uporabe mora segati od zahtevnih operacijskih sistemov do zelo

majhnih z določenimi funkcijami.

Page 72: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

58

• Čeprav naj bi bile aplikacije, izdelane v C#, varčne, kar se tiče porabe spomina in

procesorske moči, ni namen jezika C# tovrstno tekmovanje z jezikom C ali zbirnimi

jeziki.

Projekt standardizacije jezika C# so podprla številna podjetja in ustanove z vsega sveta

(ActiveState, Borland, Netscape, Novell, Sun, Hawlett-Packard, IBM, Intel, Microsoft, IT

University of Copenhagen, Monash University, University of Canterbury …). Razvoj te

različice standarda se je začel januarja 2003.

Mednarodni standard določa obliko in podaja razlago programov, napisanih v jeziku C#.

Tako določa:

• prikaz oziroma izgled programov, izdelanih s C#,

• skladnjo (sintakso) in omejitve jezika C#,

• semantična pravila razlage programov, izdelanih s C# in

• omejitve in zahteve, ki jih postavlja ustrezna uporaba jezika C#.

Standard pa ne določa:

• metode, po kateri naj se C# programe pretvori za uporabo v sistemih za obdelavo

podatkov,

• metode, po kateri naj sistemi za obdelavo podatkov kličejo aplikacije C#,

• metode, po kateri se vhodni podatki pretvorijo v podatke, primerne za uporabo v

aplikaciji C#,

• metode, po kateri naj se pretvarjajo podatki, ki so izhodni produkt aplikacij C#,

• velikosti oziroma zahtevnosti programa in njemu pripadajočih podatkov, ki bi lahko

presegli zmogljivosti posameznega sistema za obdelavo podatkov oziroma zmogljivosti

določenega procesorja, in

• minimalnih zahtev za sistem za obdelavo podatkov, da bi bil še sposoben ustrezno

podpirati uporabo programov C#.

Standard zahteva tudi določene skladnosti. Te so predvsem pomembne za naslednje

uporabnike C#:

• za oblikovalce, uvajalce in vzdrževalce aplikacij C#,

• za državne in poslovne pravne osebe, ki želijo nabavljati aplikacije C#,

Page 73: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

59

• za preizkuševalne organizacije, ki želijo izdelati testna poročila o aplikacijah C#,

• za programerje, ki želijo uporabiti določeno kode posamezne aplikacije C# v drugi

aplikaciji C#,

• za predavatelje, ki želijo učiti o standardu C# in

• za avtorje, ki želijo pisati o standardu C#.

Skladnost je torej zelo pomembna in večji del tega mednarodnega standarda je namenjen

prav določitvi značilnosti, ki naj zagotovijo, da bodo programi C# in njihova implementacija

skladni. Večina standarda je normativna, določeni deli besedila pa so zgolj informativne

narave. Normativni del standarda se v nadaljevanju deli na obvezne in pogojne zahteve.

Glede na to tako ločimo strogo skladne in skladne programe. Strogo skladni programi lahko

vsebujejo samo obvezne elemente, medtem ko skladni programi lahko vsebujejo tudi

razširitve in pogojno normativne značilnosti.

Standard Ecma 334 pa se sklicuje tudi na nekatere druge standarde, na primer:

• ISO/IEC 23271:2005,

• ISO 31.11:1992,

• ISO/IEC 2382.1:1993,

• ISO/IEC 10646 in

• IEC 60559:1989.

Kot primer informativnega dela standarda pa lahko navedem odstavek, ki pojasnjuje pomen

posameznih okrajšav, ki so uporabljene v tem standardu.

3.6 MySQL

Avtor originalne različice MySQL je leta 1962 na Finskem rojeni Ulf Michael Widenius

(Wikipedia, januar 2010).

MySQL je sistem za upravljanje podatkovnih baz, napisan je v programskih jezikih C in C++,

ki deluje na različnih komercialnih in odprtokodnih operacijskih sistemih. Bistvene

programske niti so večopravilne. Za učinkovitost delovanja MySQL je pomembno, da lahko

izkoristi vse centralne procesorske enote, ki so na voljo. Programska koda je preizkušena.

Page 74: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

60

MySQL najpogosteje uporablja zelo hitre diskovne table s stiskanjem indeksov, imenovane

MyISAM.

MySQL je relacijski sistem za upravljanje podatkovnih baz. Relacijska baza hrani podatke v

različnih ločenih tabelah, kar omogoča hitrost in fleksibilnost. Omenjene tabele so povezane

z relacijami, tako da je mogoče po želji združiti podatke iz več tabel. Del kratice SQL pri

MySQL pomeni »Structured Query Language« – najbolj pogost standardiziran jezik, ki se

uporablja za dostopanje do baze podatkov.

MySQL popolnoma ustreza standardu ANSI SQL 92 (Bilke, 2002: 44-45), vendar ponuja tudi

razne razširitve, čeprav mu po drugi strani manjkajo nekatere funkcije. V MySQL-u veljajo

naslednji dogovori glede imen podatkovnih zbirk, tabel, indeksov in drugih struktur:

• Imena so lahko sestavljena iz črk, številk in podčrtaja. Standardni nabor znakov je v

skladu s standardom ISO-8859-1 Latin 1.

• Imena tabel, indeksov in stolpcev so lahko dolga največ 64 znakov, medtem ko so

nadomestna imena (angl. alias) omejena na 256 znakov.

Imena polj lahko zapisujemo na tri načine:

• polje,

• tabela.polje in

• zbirka.tabela.polje.

Za daljšo obliko zapisa se odločimo le tedaj, ko nekega polja ne moremo enolično določiti.

Poseben pomen ima ničelna vrednost, ki se uporablja za nedefinirano polje ali neobstoječe

podatke. Ničelna vrednost NULL torej nikakor ne predstavlja števila 0 ali praznega niza

znakov » «.

MySQL je odprtokodna (Open Source) programska oprema. Odprti vir lahko uporablja in

spreminja vsak; vsakdo si lahko MySQL naloži z interneta in ga brezplačno uporablja.

MySQL uporablja GPL (GNU General Public Licecence), ki definira, kaj lahko naredimo s

programsko opremo v različnih primerih.

MySQL je zelo hiter, zanesljiv in enostaven za uporabo. Poleg tega ima zelo praktičen niz

značilnosti, ki so razvite v tesnem sodelovanju z uporabniki. MySQL je bil na začetku razvit

Page 75: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

61

za hitrejše upravljanje zelo velikih podatkovnih baz. Povezanost z uporabniki, hitrost in

varnost so tisto, kar je naredilo MySQL za zelo uporabno orodje pri dostopu do baz podatkov

na internetu.

MySQL deluje na principu odjemalec – strežnik, pri čemer lahko strežnik namestimo kot

sistem, porazdeljen na več strežnikov. Obstaja veliko število odjemalcev, zbirk ukazov in

programskih vmesnikov za dostop do podatkovne baze MySQL.

4 RAZVOJ PROTOTIPNE APLIKACIJE

4.1 Zgradba sistema CVIS

V tem podpoglavju bom predstavil samo zgradbo sistema za zbiranje podatkov, ki se v

osnovi shranjujejo v napravah za shranjevanje podatkov, t. i. podatkovnikih ali »data

loggerjih« posameznih vremenskih postaj. V tej nalogi bodo uporabljeni podatki, ki jih

omogočajo vremenske postaje nemškega proizvajalca Lufft. V okviru celotnega CVIS se

uporabljajo tudi vremenske postaje drugih proizvajalcev. Shema CVIS je predstavljena na

sliki 4.1.

Slika 4.1: CVIS DARS

Vir: CGS plus, d. o. o. , januar 2010.

Page 76: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

62

Izmerjene vrednosti lahko odčitavamo na vremenskih lokacijah neposredno v realnem času

na prikazovalnikih posameznih »data loggerjev« s komercialnim imenom OPUS (Lufft GmbH,

2006: 67–76). Ker pa so vremenske postaje postavljene na oddaljenih in predvsem nevarnih

mestih, je nujen avtomatiziran prenos podatkov v cestno bazo. Prenos podatkov se izvaja po

DARS-ovih optičnih povezavah. OPUS-i imajo standardni serijski priključek RS232, preko

katerega se podatki prenesejo do RS232/Ethernet pretvornika MOXA NPort 5110 ali NPort

5150. Tako preoblikovan signal pa je treba še pretvoriti v signal, ki bo primeren za prenos po

optičnem omrežju DARS-a. V ta namen se uporablja pretvornik proizvajalca Wizlan s

komercialno oznako WIZ 505. Tako preoblikovani podatki so sedaj pripravljeni za prenos v

cestno bazo, kjer jih za načrtovanje svojih akcij uporabljajo vzdrževalci avtocest. Seveda pa

preneseni podatki še niso primerni za takojšnjo uporabo. Potrebna je še programska

oprema, ki nadzoruje prenose, shranjevanje in prikaze teh podatkov na računalniških

zaslonih v cestni bazi. V ta namen se uporablja programska oprema nemškega proizvajalca

Informatik-Werkstatt iz Ulma. Njeno komercialno ime je SmartView3 in je izdelana posebej

za proizvajalca vremenske merilne tehnike Lufft iz Stuttgarta. Programska oprema

Smartview3 je sestavljena iz štirih neodvisnih programov. Njihovo medsebojno delovanje

prikazuje slika (slika 4.2).

Slika 4.2: Programski paket SmartView3

Vir: SmartView3 (version 1.3.10.), marec 2008: 4.

• SmartView Collector se uporablja za komunikacijo z »data loggerji«, za pridobivanje

podatkov iz njih in shranjevanje teh podatkov v podatkovno bazo MySQL.

Page 77: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

63

• SmartCom je komunikacijski program, ki se uporablja za komunikacijo med vsemi

programi, ki sestavljajo SmartView3.

• SmartView3 je odjemalski program, ki se uporablja za konfiguracijo vseh modulov

SmartView3. Načrtovana je tudi razširitev tega programa, ki bi omogočala on-line

prikaz in analizo podatkov.

• SmartWeb je program, ki generira celotno spletno stran v obliki strani HTML . Merilni

rezultati so na njih prikazani v tabelah in diagramih.

Collector se izvaja v ozadju. Po zagonu se pomanjša na ikono v sistemski vrstici. Ob

dvojnem kliku na to ikono se nam odpre okno, ki je razdeljeno v dva dela. V zgornjem delu

okna so prikazane vse vremenske postaje in po vrstnem redu klicanja. V spodnjem delu

okna pa so izpisana statusna sporočila v zvezi s komunikacijo med programsko opremo in

vremenskimi postajami. Nastavitve konfiguracije programa Collector so shranjene v

podatkovni bazi MySQL ali pa v datoteki Collector.ini.

Modul SmartCom zagotavlja programoma SmartView3 in SmartWeb dostop do podatkovne

baze MySQL. Prav tako vsebuje funkcije za avtomatski izvoz in uvoz podatkov in funkcije za

pošiljanje alarmnih obvestil preko elektronske pošte. Prav tako kot Collector tudi SmartCom

dostopa do baze MySQL preko knjižnice libmysql.dll, ki jo naložimo skupaj s programsko

opremo MySQL. Seveda mora biti ta knjižnica inštalirana tako, da lahko SmartCom dostopa

do nje, torej v istem imeniku kot SmartCom oziroma v ustreznem sistemskem imeniku

operacijskega sistema Windows. Tudi SmartCom teče v ozadju in je pomanjšan na ikono v

sistemskem vrstici. Ob dvojnem kliku na to ikono se odpre okno, ki je razdeljeno na tri dele.

V zgornjem delu so prikazane izvozno/uvozne dejavnosti. V srednjem delu okna so prikazani

vsi programi, ki so povezani s programom SmartCom. V spodnjem delu pa so prikazana

sporočila o napakah in druga obvestila. Nastavitve modula SmartCom so shranjene v

datoteki SmartCom.ini.

SmartWeb je modul, ki kreira spletne strani in jih nalaga na spletni strežnik (če je nastavljen

ftp protokol za to stran). SmartWeb komunicira z modulom SmartCom in tako posredno

dostopa do podatkov v podatkovni bazi MySQL. Program je zasnovan tako, da stalno teče,

zagotoviti pa moramo, da se modul SmartCom zažene prej kot SmartWeb. Tudi ta modul

teče v ozadju, kar vidimo kot ikono v sistemski vrstici. Dvojni klik na to ikono nam odpre na

dva dela razdeljeno okno. V zgornjem delu okna so izpisane vse generirane spletne strani in

čas njihove zadnje posodobitve. V spodnjem delu okna pa so izpisana sporočila o morebitnih

napakah in druga obvestila v zvezi z delovanjem modula SmartWeb.

Page 78: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

64

SmartView3 je odjemalec GUI za operacijski sistem Windows. Uporablja se za nastavitve

vremenskih postaj za modul Collector ter spletnih strani za SmartWeb. SmartView3 preko

modula SmartCom komunicira s podatkovno bazo MySQL.

Za učinkovito delovanja celotne programske opreme SmartView3 morajo biti izpolnjene

določene zahteve v zvezi s strojno opremo in operacijskim sistemom. Proizvajalec navaja

naslednje minimalne zahteve:

• PC z operacijskim sistemom Windows 2000/XP ali njegov ekvivalent;

• minimalno 512 MB RAM-a (priporočljivo 1GB);

• hitrost procesorja je odvisna od števila vremenskih postaj, ki jih mislimo spremljati,

števila merilnih senzorjev na teh postajah, števila strani HTML, ki jih nameravamo

generirati, in intervala pridobivanja podatkov s posameznih merilnih mest. Priporočljiv

je procesor z dvojnim jedrom Pentium 4 /HT/;

• inštalirana mora biti programska oprema MySQL 4.1 ali 5.0 oziroma novejša;

• hitra povezava LAN je potrebna za prenos velike količine podatkov do spletnega

strežnika;

• velikost diska za potrebe podatkovne baze (120 KBytov in še dodatno za vsako postajo

po 1 KByte) je potrebna za konfiguracijske nastavitve. Vsaka senzorska vrednost pa

porabi približno 110 Bytov.) Upoštevati je treba, da zaradi optimizacije in nadgradnje

podatkovne baze rezerviramo vsaj še enkrat toliko prostora na trdem disku.

Priporočljiva minimalna velikost diska je 8 GB;

• določen del prostora na disku pa moramo rezervirati tudi za shranjevanje spletnih

strani, ki jih oblikujemo s pomočjo programa SmartWeb.

Za delovanje celotnega sistema je torej nujna namestitev programske opreme MySQL. Pri tej

namestitvi moramo upoštevati določene zahteve, ki jih postavlja proizvajalec programske

opreme SmartView3. MySQL je treba inštalirati z administratorskimi pooblastili. Po zaključeni

inštalaciji pa moramo računalnik obvezno ponovno zagnati, saj mora delovati servis MySQL ,

da se lahko ustvari podatkovna baza Collector, ki vsebuje vse podatke, potrebne za

delovanje SmartView3. Collector ne uporablja transakcijske podatkovne baze, zato ob

inštalaciji MySQL izberemo možnost »Non-Transactional Database Only«. To zadostuje

vsem potrebam podatkovne baze Collector. SmartView uporablja hitre tabele MyISAM brez

podpore transakcij, predvsem zaradi potreb po hitrem delovanju. Kadar pričakujemo velike

količine podatkov, moramo imenik s podatki generirati na particiji NTFS, ta namreč podpira

samo datoteke do velikosti 4 GByte. Kadar MySQL ni inštaliran na istem računalniku kot

Page 79: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

65

SmartView3, moramo za potrebe komunikacije med njima pustiti odprt port 3306 v požarnem

zidu. Ob inštalaciji MySQL definiramo strežnik kot razvojni računalnik in s tem dosežemo, da

strežnik MySQL uporablja minimalno količino delovnega spomina. V pogovornem oknu, kjer

se določa število povezav s strežnikom, izberemo ročno nastavitev in določimo 50 povezav.

Prav tako moramo omogočiti povezave TCP/IP , in sicer na vnaprej določenem portu 3306. V

istem pogovornem oknu ob inštalaciji omogočimo tudi možnost »Enable Strict Mode« in s

tem zagotovimo, da se bo strežnik obnašal kot klasičen podatkovni strežnik. Omogočimo tudi

podporo za večjezičnost in delovanje strežnika kot servis operacijskega sistema Windows z

imenom MySQL ter izberemo avtomatski zagon strežnika. Uporabno je tudi, da dovolimo

dostop do servisa preko ukazne vrstice DOS operacijskega sistem Windows.

Administratorskega dostopnega gesla (ROOT) ni treba spreminjati.

Zaradi vzdrževanja podatkovne baze je koristno, da inštaliramo tudi programsko opremo

administrator MySQL . Administrator MySQL in MySQL lahko brezplačno naložimo s spleta

in uporabljamo v skladu z licenčnimi pogoji.

Inštalaciji strežnika MySQL in administratorja MySQL sledi inštalacija programske opreme

SmartView3. Podrobnejša namestitev je opisana v spremni dokumentaciji programske

opreme različice 1.1.3. Predvsem je pomembno, da pravilno nastavimo parametre za

povezavo s strežnikom MySQL. Predvsem moramo določiti mesto, kjer je MySQL, vpisati

moramo administratorjevo geslo, določiti ime baze ter tudi uporabnika MySQL in njegovo

geslo. Po vnosu teh podatkov program SmartCom ustvari (ob posodobitvah programa

SmartView pa posodobi) podatkovno bazo Collector. Ostale nastavitve se nanašajo na

delovanje in komunikacijo SmartView3 in vremenskih postaj oziroma »data loggerjev«

OPUS200. Treba je tudi poudariti, da obstajata dve vrsti licence za uporabo programske

opreme SmartView3. Minimalna licenca omogoča namestitev in komunikacijo z največ petimi

vremenskimi postajami, razširjena licenca po omogoča neomejeno število vremenskih postaj,

s katerimi lahko SmartView3 komunicira in obdeluje izmerjene vrednosti.

4.2 Opis uporabljene aplikacije GIS Google Earth

Pri praktičnem delu te naloge sem moral najprej izbrati primerno aplikacijo GIS, s pomočjo

katere sem izvedel primer prikaza vremenskih podatkov na javno dostopni spletni strani. Iz

že opisanih razlogov sem primer izvedel kot demo verzijo in prikazuje zgodovinske podatke

oziroma podatke, ki jih je treba ročno vnesti v bazo. Za prikaz teh podatkov sem izbral

program Google Earth oziroma njegovo poslovenjeno različico Google Zemlja (Google Earth

5.1.3533.1731), ki uporablja strežnik kh.google.com.

Page 80: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

66

• Plošča »Iskanje« − uporabimo jo za iskanje mest in navodil za pot ter za upravljanje

rezultatov iskanja. V različici Google Zemlja EC so lahko prikazani tudi drugi jezički.

• Pregledni zemljevid − uporabimo ga za dodaten pogled Zemlje.

• Pokaži/skrij stransko vrstico − to možnost kliknemo, če želimo skriti ali prikazati

stransko vrstico (plošče »Iskanje«, »Mesta« in »Sloji«).

• Oznaka položaja − to možnost kliknemo, če želimo označiti lokacijo.

• Poligon − to možnost kliknemo, če želimo dodati poligon.

• Pot − to možnost kliknemo, če želimo dodati pot (črto ali črte).

• Prosojnica s sliko − to možnost kliknemo, če želimo na Zemljo dodati prosojnico s sliko.

• Merjenje − to možnost kliknemo, če želimo izmeriti razdaljo ali velikost območja.

• Sonce − to možnost kliknemo, če želimo po pokrajini prikazati sončno svetlobo.

• Nebo − to možnost kliknemo, če si želimo ogledati zvezde, ozvezdja, galaksije, planete

in Zemljino luno.

• E-pošta − to možnost kliknemo, če želimo po e-pošti poslati pogled ali sliko.

• Tiskanje − to možnost kliknemo, če želimo natisniti trenutni pogled Zemlje.

• Ogled v Google Zemljevidih − to možnost kliknemo, če želimo trenutni pogled prikazati

v Google Zemljevidih v svojem spletnem brskalniku.

• Navigacijski gumbi – uporabimo jih za povečanje ali pomanjšanje, ogled in premikanje.

• Plošča »Sloji« − uporabimo jo za prikaz zanimivosti.

• Plošča »Mesta« − uporabimo jo za iskanje, shranjevanje, urejanje in ponovni obisk

oznak položajev.

• Dodaj vsebino − to možnost kliknemo, ko uvozimo zanimivo vsebino iz galerije KML.

• Pregledovalnik 3D − v tem oknu si ogledamo Zemljo in njen relief.

• Vrstica stanja − tukaj si ogledamo koordinate, nadmorsko višino, datum posnetka in

stanje pretoka.

Pet zanimivih in preprostih stvari, ki nam jih omogoča program Google Zemlja:

Ogled katere koli lokacije na Zemlji:

• kliknemo Pojdi do. V vnosno polje vnesemo lokacijo in kliknemo gumb za iskanje. V

rezultatih iskanja (plošča »Mesta«) dvokliknemo lokacijo. Program Google Zemlja nas

bo popeljal na želeno lokacijo.

Page 81: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

67

Predstavitev sveta:

• na plošči »Mesta« odpremo mapo Nauči se in raziskuj in dvakrat kliknemo Razišči.

Izris poti z ene lokacije na drugo:

• pridobimo lahko navodila za vožnjo iz enega mesta v drugo in se popeljemo po celotni

poti.

Ogledamo si lahko različne zanimive lokacije in funkcije, ki so jih ustvarili drugi uporabniki

progama Google Zemlja:

• na plošči »Sloji« označimo možnost Predstavitev skupnosti. V pregledovalniku 3D se

prikažejo zanimive oznake položajev in druge funkcije. Če si želimo ogledati te

zanimivosti in jih raziskati, jih dvakrat kliknemo.

Ogledamo si lahko 3D-relief mesta:

• ta možnost je zanimivejša, če si ogledujemo hribovit ali gorat relief, na primer Veliki

kanjon. Pomaknemo se na želeno lokacijo, ko se v pogledu prikaže lokacija, z

drsnikom za povečanje/pomanjšanje nagnemo relief.

Nove funkcije v različici 5.0

V tej različici programa Google Zemlja so na voljo številne nove zanimive funkcije, kot so:

• Ocean – letimo in krmarimo pod oceanom ter raziskujemo podvodni relief. Prikažemo

lahko tudi gladino oceana.

• Predstavitev – lahko posnamemo, predvajamo in z drugimi delimo predstavitve po

meri, ki zabeležijo naša dejanja in premike v programu Google Zemlja.

• Zgodovinski posnetki – raziskujemo lahko nedavne in starejše slike.

• Mars – ogledamo si lahko posnetke in relief rdečega planeta.

Page 82: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

68

Sistemske zahteve:

Če želimo program Google Zemlja uporabljati na osebnem računalniku z operacijskim

sistemom Windows, potrebujemo vsaj naslednje:

• operacijski sistem: Windows 2000, Windows XP, Windows Vista;

• procesor: 500 Mhz, Pentium 3;

• sistemski pomnilnik (RAM): najmanj 256 MB, priporočamo 512 MB;

• trdi disk: 400 MB nezasedenega prostora;

• hitrost omrežja: 128 Kbit/sek;

• grafična kartica: 3D s 16 MB VRAM-a;

• zaslon: 1024 × 768, 16-bitna barvna paleta »High Color«;

• DirectX 9 (za delovanje v načinu Direct X).

Če želimo program Google Zemlja uporabljati v operacijskem sistemu Mac, potrebujemo vsaj

naslednje:

• operacijski sistem: Mac OS X 10.4 ali novejšo različico;

• procesor: G4, 1 GHz ali hitrejši;

• sistemski pomnilnik (RAM): najmanj 256 MB, priporočamo 512 MB;

• trdi disk: 400 MB praznega prostora;

• hitrost omrežja: 128 Kbit/sek;

• grafična kartica: 3D z 32 MB VRAM-a;

• zaslon: 1024 x 768, »Thousands of Colors«.

Za Linux je bil program Google Zemlja preizkušen v operacijskem sistemu Ubuntu, različica

6.06, zagotovo pa deluje tudi v drugih. Strojne zahteve so naslednje:

• procesor: 500 Mhz, Pentium 3;

• sistemski pomnilnik (RAM): 256 MB;

• trdi disk: 500 MB nezasedenega prostora;

• hitrost omrežja: 128 Kbit/sek;

• grafična kartica: 3D s 16 MB VRAM-a;

• zaslon: 1024 x 768, 16-bitna barvna paleta »High Color«.

Page 83: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

69

Od vseh naštetih funkcionalnosti, ki jih nudi splošno dostopna programska oprema Google

Zemlja, sem pri svoji nalogi izkoristil možnost dodajanja servisa KML za prikaz podatkov z

vremenskih postaj, ki so ob slovenskih avtocestah. Za ta prikaz je treba pripraviti ustrezno

datoteko v formatu KML, ki ga Google Zemlja uporablja. Google Zemlja lahko neposredno

uporabi tudi datoteko skrčenega formata KMZ.

4.3 Uporaba programskega jezika C# (C Sharp)

Programski jezik C# smo uporabili za izdelavo »data inserterja« in generatorja KML. Primer

generirane datoteke KML je prikazan v prilogi 1. Kot razvojno orodje smo uporabili

Microsoftov izdelek Visual Studio 2008. Programska koda je prikazana v prilogi 2. »Data

inserter« je program, ki poskrbi, da se generirajo naključni podatki, ki se kopirajo v

podatkovno bazo MySQL.

Za dostop do podatkov v podatkovni bazi in preverjanje podatkovne strukture baze smo

uporabili MySQL Workbench (SQL Development).

4.4 Uporaba jezika KML

Jezik KML je uporabljen za prikaz treh cestno vremenskih postaj na zemljevidu programske

opreme Google Earth. Naključni podatki se generirajo vsakih deset minut, aplikacija Google

Earth pa je nastavljena tako, da se osvežuje vsakih pet minut. Na ta način dosežemo, da

prikazani podatki res niso starejši kot deset minut. Naslednja slika prikazuje prikazno okno z

nastavitvami osveževanja (slika 4.3).

Page 84: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

70

Slika 4.3: Nastavitev časa osveževanja

Vir: Lastni prikaz, marec 2010.

Slika 4.4 prikazuje izgled okna programske opreme Google Earth. Na njej vidimo prikazane

vse tri vremenske postaje (CVP Verd, CVP Šentjakob in CVP Prilipe). Vsaka postaja je

ponazorjena z ikono »sonček«. S klikom na ikono se nam odpre tako imenovani balon, v

katerem so trenutni vremenski podatki na izbrani cestno vremenski postaji. Prav tako imamo

izpisan tudi čas meritve. Standardna funkcija Google Earth pa nudi tudi storitev Do sem – Od

tu. Ta storitev omogoča prikaz najkrajše poti med dvema izbranima točkama na zemljevidu.

Enake podatke si je možno ogledati tudi s pomočjo različnih spletnih brskalnikov na spletni

strani http://maps.google.com/.

Page 85: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

71

Slika 4.4: Prikaz podatkov z Google Earth

Vir: Lastni prikaz, marec 2010.

Slika 4.5 prikazuje izgled prikaza podatkov na strani Google maps.

Slika 4.5: Prikaz podatkov na spletni stani Google maps

Vir: Lastni prikaz, marec 2010.

Page 86: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

72

Programska koda KML je prikazana v prilogi 1.

4.5 Struktura MySQL podatkovne baze Collector

Podatkovna baza, v kateri se shranjujejo vsi podatki v zvezi s cestno vremenskimi postajami

proizvajalca Lufft, se imenuje Collector. Aplikacija administrator MySQL nam omogoča

enostavno vzdrževanje in vpogled v MySQL podatkovno bazo Collector, ki jo prikazuje slika

4.6.

Slika 4.6: MySQL podatkovna baza COLLECTOR

Vir: Lastni prikaz, januar 2010.

Podatkovna baza se kreira (oziroma posodobi) ob prvem zagonu programa SmartView3. Za

vse aplikacije, ki uporabljajo podatke iz te podatkovne baze bodisi za analizo ali pa za

pregled meritev, velja, da berejo informacije iz naslednjih tabel: »stations« (vremenske

postaje, glej sliko 4.4), »sensor_values« (vrednosti senzorjev, glej sliko 4.5), »sensors«

(senzorji, glej sliko 4.7) in »units« (merske enote, glej sliko 4.7). Celotna baza Collector pa

skupaj vsebuje 40 različnih tabel.

Page 87: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

73

Tabela »stations« zagotavlja podatek o času zadnjega uspešnega klicanja (pollinga)

posamezne vremenske postaje. To pomeni, da se stolpec »last_data« osveži vsakič, ko

postaja uspešno pošlje podatke v podatkovno bazo. Tabela »sensor_values« vsebuje

vrednosti, ki jih posamezni senzorji izmerijo. Podatki o vrstah senzorjev, ki so priključeni na

posamezno vremensko postajo, se hranijo v tabeli »station_sensors«. Tabela »sensors«

vsebuje splošne podatke o senzorjih (na primer: ime senzorja). V tabeli »units« pa so opisi

merskih enot za senzorske vrednosti. Vse ostale tabele so v glavnem namenjene

informacijam o nastavitvah, ki jih uporablja programski modul Collector.

Page 88: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

74

Slika 4.7: Tabela »stations«

Vir: SmartView3 (version 1.3.10.), marec 2008: 91.

Tabela »stations« torej vsebuje vse podatke o posamezni cestno vremenski postaji. Nekateri

stolpci te tabele se osvežujejo ob vsakem klicanju postaje.

Page 89: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

75

Slika 4.8: Tabela »sensor_values«

Vir: SmartView3 (version 1.3.10.), marec 2008: 91.

Tabela vsebuje vrednosti, ki jih izmerijo posamezni senzorji in jih vremenska postaja

posreduje v podatkovno bazo. Za vsako izmerjeno vrednost se vstavi v tabelo nova vrstica.

Glede na nastavitve »data loggerjev« na vremenski postaji se za vsak senzor lahko pojavijo

štiri različne vrednosti (povprečna, minimalna, maksimalna in skupna). Tip vrednosti je

določen v stolpcu »value_type«. Primarni ključi za to tabelo so: measure_time (čas meritve),

station_id (identifikacijska oznaka vremenske postaje), sub_id (identifikacijska oznaka »data

loggerja«), channel (kanal na »data loggerju«) in value_type (tip vrednosti). Tak enkratni

primarni ključ omogoča hiter dostop do iskane vrednosti v podatkovni bazi.

Indeks (station_id) je sestavljen iz station_id, sub_id, channel in measure_time ter omogoča

hiter dostop do zadnje izmerjene vrednosti za posamezni senzor.

Slika 4.9: Tabela »sensors«

Vir: SmartView3 (version 1.3.10.), marec 2008: 93.

Page 90: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

76

Slika 4.10: Tabela »units«

Vir: SmartView3 (version 1.3.10.), marec 2008: 93.

Potrebni stavki SQL za poizvedbo v bazi MySQL so prikazani v prilogi 3.

4.6 Metodologija razvoja prototipne aplikacije

4.6.1 Extreme Prototyping

Extreme Prototyping je arhitekturni proces za razvoj aplikacij (predvsem spletnih aplikacij) v

smislu povečanja uporabnosti prototipov. Na višjem nivoju razdeli razvoj na tri faze

(Wikipedia, januar 2010). Prva faza je statični prototip, ki je sestavljen iz strani HTML in po

možnosti logičnega modela podatkov za podporo teh strani. Druga faza je proces kodiranja v

izbrani spletni okvir, s katerim se že pripravi popolnoma funkcionalne zaslonske slike. V tretji

fazi pa se že uvede izdelane storitve v uporabo. Proces se imenuje Extreme Prototyping

predvsem z namenom, da se opozori na drugo fazo postopka. V tej fazi se razvije

popolnoma uporaben uporabniški vmesnik (User Interface – UI). Značilno zanj je, da

upošteva predvsem storitve, ki so bile predvidene v pogodbi o izdelavi programske opreme

med naročnikom in izdelovalcem. Tak izdelek, podobno kot statični prototip HTML, se lahko

šteje kot prototip, čeprav je dinamičen.

Z uporabo Extreme Prototypinga se lahko bistveno skrajšajo razvojni cikli. Extreme

Prototyping omogoča doslednejše ocenjevanje in izdelavo projektov. Delo poteka hitreje,

ceneje in bolje. Extreme Prototyping pripomore k tem rezultatom predvsem z razdelitvijo

dolžnosti in nalog med več ekip in na ta način omogočenim vzporednim razvojem. Extreme

Prototyping posveča še dodaten poudarek končnim izdelkom.

Iterativni pristopi, kot je Extreme Programming, priporočajo gradnjo in oddajo delujočih

programov z majhnimi in pogostimi koraki. Še zlasti izvršljivo kodo je priporočljivo podajati

dnevno ali vsaj tedensko. Za dobro delovanje tega načina pa je kljub temu treba upoštevati

še nekatere predpostavke. Ekipa mora biti dovolj majhna, da dovoljuje stalne povratne

informacije. Kadar ekipa dela pri projektih, pri katerih se lahko pričakuje preklic le-teh, je tak

Page 91: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

77

pristop še posebej upravičen. Extreme Programming deluje najbolje, če so vse delovne

skupine popolnoma predane delu pri projektu do njegovega konca.

Extreme Prototyping je s svojim trifaznim pristopom še posebej povezan z iterativnimi

procesi. Statična faza projektne izdelave prototipov zagotavlja prevzem problema iz

poslovanja. Dinamična faza izdelave prototipov zagotavlja hitro dobavo, ne glede na nivo

izvajanja storitev. Dobava in demonstracija v fazi dinamičnega prototipa uporabnikom

zagotavlja povratne informacije že na sredini projekta. Faza uvajanja storitev se lahko začne

vzporedno z dinamičnim prototipom. Tu se že jasno pokaže, kako je naročilo storitev

izpolnjeno. Primerno je, da se v vsaki fazi izvedejo iteracije.

Veliko projektov IT se začne z zahtevo po izdelavi modelov use-case. Od poslovnih

uporabnikov se pričakuje, da bodo te modele razumeli in podpisali pogodbo. Pogosto pa se

zgodi, da se poslovni tim izgubi med izmuzljivimi številkami in diagrami potekov. Toliko časa

se porabi za izdelavo teh diagramov poteka, da se na koncu porabi že vsa predvidena

sredstva, še preden je napisana ena sam vrstica kode. Ključ do uspeha je v čimprejšnji

izdelavi in uporabi prototipa HTML. Ta prototip mora biti karseda popoln. Tako se prototip

lažje preverja in se dogovarja o njegovi vsebini. Preglednost prototipov bo delovala kot

katalizator za dokončni izdelek.

Extreme Prototyping lahko prek statičnih prototipov predstavlja pomoč pri načrtovanju in

pripravi proračuna. Ocena proračuna ne sme temeljiti samo na dokumentu o viziji.

Vključevati mora vse faze projekta, vključno z izgradnjo in uvedbo. Ocene, ki temeljijo na tem

dokumentu, so subjektivne in zelo spremenljive. Preveliki pričakovani stroški lahko povzročijo

predčasen zaključek projekta. Namesto dajanja zahtev za predlog (request for proposal –

RFP) za celotno področje projekta lahko poslovna ekipa da RFP samo za statični prototip.

Tako imamo opravka s fiksnimi stroški in ocenjevanje je enostavnejše. Naslednje faze je

potem posledično lažje ovrednotiti in načrtovati.

Statični prototip lahko pomaga pri izogibanju tehnoloških tveganjem. Statični prototipi so

razviti z dobro znanimi in manj tveganimi tehnologijami, kot so HTML, CSS in JavaScript. Ker

so te tehnologije preverjene in zanesljive, je malo verjetno, da bo statični prototip zamujal ali

stal več, kot je bilo pričakovano. V nasprotju s tem bi z neposrednim prehodom v

ponavljajočo se fazo s končno tehnologijo že od začetka lahko naleteli na blokade in potrebe

po učenju. Ukvarjanje s temi izzivi v občutljivi, negotovi in ključni fazi zahtev je nespametno.

Page 92: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

78

Pregled procesa Extreme Prototyping za razvoj spletne aplikacije:

• faza statičnega prototipa (statični prototip, glavne strani, ozadja, CSS, JavaScript,

poslovna pravila, diagrami procesov);

• faza razširjenega statičnega prototipa (vse že zgoraj omenjeno in logični podatkovni

model za podporo zaslonskim slikam);

• dinamični prototip (faza ekstremnega prototipa; uporabniški vmesnik prilagojen za

izbran spletni okvir, delujoča izvršilna koda, preverjanje vnosnih polj je delujoče,

premikanje po zaslonih je delujoče, podpisne storitve so preverjene, uporabniški

vmesnik je popolnoma delujoč brez izvajanj v ozadju);

• faza uvajanja storitve (dokumentacija API, vse storitve se izvajajo s klicanjem

podatkovne baz ali drugih virov, integracija).

Extreme Prototyping se začne kot kateri koli drug dobro načrtovan projekt s statičnim

prototipom, razlikuje pa se samo v fazi kodiranja uporabniškega vmesnika. Extreme

Prototyping si prizadeva za prikaz uporabniškega vmesnika kot drugega prototipa s temeljito

specifikacijo vseh plasti storitev. V tem smislu uporabniški vmesnik opredeljuje API

(Application Programming Interface) za uvajalce storitev. To je podobno, kakor se razvijajo

različni JSR (Java Specification Request). En objekt določa standard in API. Veliko podjetij je

uvedlo ta standard z uporabo enakega API. Uvedbi uporabniškega vmesnika nato sledi

uvedba storitev (Onjava, februar 2010).

4.7 Izdelava prototipa

Končni cilj te naloge je bil izdelava javno dostopne spletne strani, na kateri bo možno v

realnem času spremljati vremenske podatke, ki jih posredujejo vse cestno vremenske

postaje, ki so vključene v DARS-ovo mrežo merilnih postaj ob slovenskih avtocestah. Ker

zaradi že opisanih dejstev to trenutno ni mogoče, smo izdelali prototip te spletne strani in

predstavitve podatkov. Slika 4.11 prikazuje arhitekturo informacijskega sistema od zajema,

preko obdelave do prikaza podatkov.

V prvi fazi smo izdelali generator KML, ki je generiral datoteko KML za prikaz podatkov v

Google Earth. Podatke je bilo možno pregledovati samo preko aplikacije Google Earth. V

naslednji fazi smo namestili vtičnik za Google Earth, ki je omogočal pregled podatkov tudi v

spletnih brskalnikih. V tretji fazi smo programsko kodo KML prilagodili tako, da je omogočala

ogled podatkov direktno v spletnih brskalniki preko spletne strani Google Maps. V zadnji fazi

Page 93: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

79

pa smo s pomočjo spletne strani Google Sites (Google spletna mesta) izdelali enostavno

spletno stran, ki vključuje osnovne podatke o avtorjih in prikaže trenutne vremenske podatke

na treh vremenskih postajah.

Slika 4.11: Arhitektura informacijskega sistema

Vir: Lastni prikaz, marec 2010.

4.8 Opis izdelka

Končni izdelek je prikazan na sliki 48. Trenutno (maj 2010) je stran na spletnem naslovu:

http://sites.google.com/site/vremesmolic/.

To spletno mesto je oblikovano s pomočjo spletne storitve Google spletna mesta. Za

uporabo te storitve se je treba registrirati oziroma odpreti elektronski poštni račun pri Googlu.

Ta spletna storitev omogoča enostavno oblikovanje spletne strani. Z Googlovim

pripomočkom (Google Maps API within a Gadget) pa na spletno stran dodamo tudi Googlov

spletni zemljevid, na katerem so preko datoteke KML prikazane tri vremenske postaje. Izgled

spletne strani prikazuje slika 4.12.

Page 94: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

80

Slika 4.12: Izgled prototipne spletne strani

Vir: Lastni prikaz, marec 2010.

S klikom na izbrano postajo se nam prikažejo v balonu tudi »trenutni« vremenski podatki, ki

niso starejši kot deset minut. Prikaz vremenskih podatkov vidimo na sliki 4.13.

Slika 4.13: Prikaz vremenskih podatkov za CVP Šentjakob

Vir: Lastni prikaz, marec 2010.

Page 95: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

81

Že omenjeni Googlov pripomoček za delo z zemljevidi nam omogoča pet različnih pogledov

(zemljevid, satelit, hibridni pogled, teren in zemljo). Omogoča tudi standardno navigacijo po

zemljevidu oziroma Zemljini površini. Na izhodiščno točko se vrnemo s klikom na povezavo

VREME NA CESTAH.

V levi stranski vrstici so prikazani kontaktni podatki avtorjev in povezave na spletne strani

proizvajalca merilne opreme Lufft in vzdrževalca avtocest DARS. Dodano je tudi opozorilo

glede veljavnosti prikazanih podatkov.

5 ZAKLJUČEK

Vrednotenje lastnega izdelka je prav gotovo najtežji del te naloge. Na videz je končni izdelek

preprosta spletna stran. Če pogledamo sliko, ki prikazuje arhitekturo tega informacijskega

sistema, pa vidimo, da je v ozadju skritega precej dela. Začne se s poznavanjem merilne

opreme in načinov merjenja vremenskih podatkov za potrebe DARS-a. Temu sledijo postopki

prenosa podatkov do nadzornega centra DARS. Podatki se nato shranjujejo v podatkovno

bazo. Seveda je treba te podatke na primeren način prikazati končnemu uporabniku. Ker je

bil cilj moje naloge prikaz podatkov na javno dostopni spletni strani pomočjo GIS tehnologije,

je bilo nujno tudi poznavanje le-te. Tu mislim predvsem tisto tehnologijo, ki omogoča

enostavno uporabo in dovolj dobre rezultate. Kot sem že v uvodu pojasnil, sem uporabil v

glavnem Googlovo tehnologijo, ki kljub svoji nekomercialni obliki omogoča zadovoljive

rešitve. Vrednost končnega izdelka vidim predvsem v možnosti enostavne nadgradnje, s

katero bi lahko prikazovali podatke z vseh merilnih mest ob slovenskih avtocestah v realnem

času. Prototipna aplikacija je zasnovana tako, da omogoča dodajanje CVP in prikaz

podatkov z vseh treh uporabljanih tipov opreme. Zaradi uporabe identične strukture

podatkovne baze, v katero se zapisujejo naključno generirani podatki, in dejansko

uporabljene baze na DARS, je tudi na tem nivoji omogočena enostavna integracija. Potreben

je zgolj preklop vira podatkov in virtualnega na realnega.

Za programsko opremo velja, da ni nikoli dokončana. Cilj je vsekakor komercializacija te

prototipne spletne strani in javni dostop do izmerjenih podatkov. Upam, da bo k uresničitve te

ideje prispevala tudi javna predstavitev prototipne spletne strani na letošnji konferenci CGS.

V smislu te ideje menim, da bo v primeru dogovora z odgovornimi na DARS-u na strežniku

za cestno vremenske postaje treba pripraviti ločeno podatkovno bazo MySQL, ki bo

vsebovala samo za uporabnike avtocest koristne podatke. Ko bosta glavna in pomožna baza

ločeni, bo precej manj možnosti za zunanje zlorabe podatkov, shranjenih v glavni podatkovni

bazi. Podatke iz pomožne podatkovne baze bo potem že izdelana programska oprema,

Page 96: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

82

preko generiranja servisne datoteke KML, prikazala v aplikacijah GIS Google Earth in

Google Maps ter na prosto dostopni spletni strani. Preko mobilnih naprav z dostopom do

interneta bo možno te podatke spremljati tudi v vozilih. Zanimiva se mi zdi tudi ideja o

povezavi javljanja nevarnosti poledice z RDS sistemom. S to povezavo bi bil s stanjem na

cesti seznanjen še mnogo širši krog voznikov.

V primeru uspešnega dogovora z DARS-om bo treba pripraviti tudi prevod spletne strani v

angleški, nemški, italijanski in ruski jezik.

Page 97: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

83

6 LITERATURA

1. Bilke, Petra (2002): Spoznajmo PHP in MySQL. Nova Gorica: Flamingo Založba.

2. Brank, Ljuba (2006): Vpliv udobnega dostopanja v gorski svet na okolje (seminarska

naloga). Ljubljana: Planinska zveza Slovenije, str.: 21-22.

3. C#, Language Specification (2005): Standard ECMA – 334 (3. Izdaja),

(CSharpECMA-334, 3rd edition, June 2005.pdf).

4. Čarman, Samo (2009): Novosti s tržišča cestnih senzorjev. Ljubljana: Dimensio št.:

14, str.: 25.

5. Čarman, Samo (2009): Cestnovremenski Informacijski sistemi v luči ITS

(CGS_konferenca_2009_Samo_CVIS in ITS.pdf). Ljubljana: CGS plus d. o. o.

6. Damij, Talib (1998): Poslovna informatika. Ljubljana: Ekonomska fakulteta UL.

7. DePetrillo, Bart, A. (2002): Razumeti Microsoft .NET. Ljubljana: Pasadena.

8. Dolžan, Janez (2001): Informacijski sistemi (zapiski s predavanj). Ljubljana, Visoka

upravna šola UL.

9. Ivačič, Matjaž in Čarman, Samo (2008): Cestnovremenski informacijski sistem (CVIS)

na slovenskih avtocestah. Ljubljana: Dimensio št.: 13, str.: 12.

10. Kostrevc, Ljubomir (1997): Računalništvo in informatika. Ljubljana: Pasadena.

11. Lufft, GmbH (2006): Anual No. 125. Fellbach (Nemčija): Lufft GmbH, str.: 67-76.

12. Mohorič, Tomaž (1991): Podatkovne baze. Ljubljana: Fakulteta za elektrotehniko in

računalništvo UL.

13. Mrhar, Peter (2002): Uvod v SQL. Nova Gorica: Flamingo Založba.

14. Rasheed, Faraz: C# School. Fuengirola (Španija) (2006): Synchron Data S.L.

Dostopno prek: http://www.programmersheaven.com (10. 1. 2010).

15. Rau, Peter (2008): SmartView3 (version 1.3.10.) (Navodila za uporabo). Ulm

(Nemčija): Die Informatik-Werkstatt GmbH.

16. Rodič, Blaž (2008): Distribuirani sistemi za podporo odločanju in programski agenti.

Nova Gorica: Fakulteta za uporabne družbene študije.

17. Šajn, Slak Alenka in Čarman, Samo (2006): Projekt cestno vremenskih postaj.

Ljubljana: Dimensio št.: 11, str.: 13.

18. Šajn, Slak Alenka (2009): Cestnovremenski informacijski sistemi v luči inteligentnih

sistemov. Ljubljana: Dimensio št.: 14, str.: 24.

Page 98: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

84

7 VIRI

1. http://code.google.com/intl/sl/apis/kml/documentation (4.1.2010).

2. http://earth.google.com/intl/sl/userguide/v4/ug_kml.html (6.2.2010).

3. http://en.wikipedia.org/wiki/.net_framework (4.1.2010).

4. http://en.wikipedia.org/wiki/ANSI-SPARC_Architecture (4. 1. 2010).

5. http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29 (4.1.2010).

6. http://en.wikipedia.org/wiki/Canada_Geographic_Information_System (22.12.2009).

7. http://en.wikipedia.org/wiki/Michael_Widenius (4.1.2010).

8. http://en.wikipedia.org/wiki/ Software_prototyping#Extreme_prototyping (4.1.2010).

9. http://e-prostor.gov.si (4.1.2010).

10. http://files.gsobar.uni.cc/GRADIVA_informatika_omrezja_baze/colos/racunalnistvo/

RACUNALNISTVO/INFORMATIKA/index.html (26.1.2009).

11. http://gis.arso.gov.si (4.1.2010).

12. http://gis.zrc-sazu.si/zrcgis (4.1.2010).

13. http://grass.osgeo.org (4.1.2010).

14. http://maps.google.com (4.1.2010).

15. http://maps.yahoo.com (4.1.2010).

16. http://nt-gisa.cgsplus.si/ddc/ (14.12.2009).

17. http://nt-gisa.cgsplus.si/ddc/default.aspx?tab=2 (14.12.2009).

18. http://onjava.com/onjava/2006/11/15/reshaping-it-project-delivery-through-extreme-

prototyping.html (9.2.2010).

19. http://rkg.gov.si/GERK/viewer.jsp (4.1.2010).

20. http://sl.wikipedia.org/wiki/Slika:Lascaux2.jpg (4.1.2010).

21. http://www.avtoin.com/novica/2033 (4.1.2010).

22. http://www.avtoin.com/zoom.php?id=7348 (4.1.2010).

23. http://www.bing.com/maps (4.1.2010).

24. http://www.esri.com (4.1.2010).

25. http://www.geopedia.si (4.1.2010).

26. http://www.geoservis.si/uporabno/gis/gis.htm (16.12.2009).

27. http://www.geostik.com (4.1.2010).

28. http://www.gimvic.org/predmeti/informatika/pouk/Baze_3.srecanje.ppt (15.12.2009).

29. http://www.itis.si/Page_Map.aspx (4.1.2010).

30. http://www.novitednik.com/zapisi.php?id=544&id_zapis=1723&m=11&l=2009 (1.12.2009).

31. http://zemljevid.najdi.si (4.1.2010).

Opomba: Viri s spletne strani WIKIPEDIA niso strokovno preverjeni

Page 99: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

85

Page 100: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 101: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

PRILOGE

Priloga 1: Koda – konfiguracija prikaza

Priloga 2: Programska koda generatorja kode KML

Priloga 3: Potrebni SQL-stavki za poizvedbo v bazi MySQL

Page 102: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav
Page 103: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

Priloga 1

Koda – konfiguracija prikaza: <?xml version="1.0" encoding="utf-8" ?>

<KmlDataConfiguration

xmlns="http://tempuri.org/KmlDataConfiguration.xsd">

<Document Document_Id="0">

<name>Vremenske postaje - Smolič Franci</name>

<description></description>

<dataObject>

<pk_dataObjectId>1</pk_dataObjectId>

<Document_Id>0</Document_Id>

<MapServerDSN>Smolic_MYS</MapServerDSN>

<DataSourceType>mys</DataSourceType>

<ConnectionString>STMT=;OPTION=3;DSN=Collector;UID=smolic;PASSWORD=franci;S

OCKET=;DESC=MySQL ODBC 3.51 Driver DSN;DATABASE=BSS;SERVER=nt-

topobase;PORT=3306</ConnectionString>

</dataObject>

<GroundOverlay/>

<Folder Document_Id="0" Folder_Id="0" >

<description>Podatki CVP</description>

<name>Podatki CVP</name>

<visibility>1</visibility>

<open>1</open>

<Placemark Folder_Id="0" Placemark_Id="0">

<dataObject_Id>1</dataObject_Id>

<description></description>

<GeometryType>point</GeometryType>

<SQLQuery>1</SQLQuery>

<StyleMap_Id>0</StyleMap_Id>

<Model_Id>0</Model_Id>

</Placemark>

</Folder>

<Style id="sn_sunny" Document_Id="0" Style_Id="0">

<IconStyle IconStyle_Id="0" Style_Id="0">

<scale>1.2</scale>

<Icon IconStyle_Id="0">

<href>http://maps.google.com/mapfiles/kml/shapes/sunny.png</href>

Page 104: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

</Icon>

</IconStyle>

<LineStyle></LineStyle>

</Style>

<Style id="sh_sunny" Document_Id="0" Style_Id="1">

<IconStyle IconStyle_Id="1" Style_Id="1">

<scale>1.4</scale>

<Icon IconStyle_Id="1">

<href>http://maps.google.com/mapfiles/kml/shapes/sunny.png</href>

</Icon>

</IconStyle>

<LineStyle></LineStyle>

</Style>

<StyleMap Document_Id="0" StyleMap_Id="0" >

<id>msn_sunny</id>

<Pair>

<key>normal</key>

<styleUrl>#sn_sunny</styleUrl>

</Pair>

<Pair>

<key>highlight</key>

<styleUrl>#sh_sunny</styleUrl>

</Pair>

</StyleMap>

</Document>

</KmlDataConfiguration>

Page 105: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

Priloga 2

Programska koda generatorja kode KML: using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using SmolicKML.Data;

using SmolicKML.Common;

using System.IO;

using System.Text;

using SmolicKML.Data.DataSetVremeTableAdapters;

namespace SmolicKML

{

public partial class _Default : System.Web.UI.Page

{

protected KmlConfiguration dsConfig;

protected byte[] crunchedData = null;

private void Page_Load(object sender, System.EventArgs e)

{

// get configuration DataSet

dsConfig = new

KmlConfiguration(System.Configuration.ConfigurationSettings.AppSettings["CG

SGis.KmlData.Configuration"]);

//

KML20 kml1 = new KML20();

kml1 = generateKML_Start();

kml1 = generateKML(kml1);

generateKML_End(kml1);

}

private KML20 generateKML_Start()

{

Page 106: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

// Document constants and variables

string sDocumentVisibility = "1";

string sDocumentOpen = "1";

// Style constants and variables

string sStyleName = "";

string sIconStyleScale = "";

string sIconStyleHref = "";

string sBalloonbgColor = "";

string iBalloonStyleText = "";

string sBalloonDisMode = "default";

string sBalloonTextColor = "cc00cc";

decimal iHotX = 0;

decimal iHotY = 0;

string ihotXunits = "fraction";

string ihotYunits = "fraction";

string sServer =

System.Configuration.ConfigurationSettings.AppSettings["CGSGis.Server"];

//Counters

int iIconStyleCount = 0;

KML20 kml1 = new KML20();

//Generate Document

kml1.Document.AddDocumentRow(dsConfig.DSConfig.Document[0].name,

sDocumentVisibility, sDocumentOpen,

dsConfig.DSConfig.Document[0].description);

//Generate Styles

for (int iiStyle = 0; iiStyle <

dsConfig.DSConfig.Style.Count; iiStyle++)

{

//dsConfig.DSConfig.Style.

if

(!dsConfig.DSConfig.Style[iiStyle].IsNull(dsConfig.DSConfig.Style.idColumn.

ColumnName))

Page 107: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

sStyleName = dsConfig.DSConfig.Style[iiStyle].id;

kml1.Style.AddStyleRow(kml1.Document[0], sStyleName);

kml1.Style.Columns["id"].ColumnMapping =

MappingType.Attribute;

//Generate IconStyle for Style

if

(dsConfig.DSConfig.IconStyle.Select(dsConfig.DSConfig.IconStyle.Style_IdCol

umn.ColumnName.ToLower() + "=" + iiStyle.ToString()).Length > 0)

{

DataRow dr =

dsConfig.DSConfig.IconStyle.Select(dsConfig.DSConfig.IconStyle.Style_IdColu

mn.ColumnName.ToLower() + "=" + iiStyle.ToString())[0];

sIconStyleScale =

dr[dsConfig.DSConfig.IconStyle.scaleColumn.ColumnName].ToString();

kml1.IconStyle.AddIconStyleRow(Convert.ToDecimal(sIconStyleScale),

kml1.Style[iiStyle]);

DataRow drIcon =

dsConfig.DSConfig.Icon.Select(dsConfig.DSConfig.Icon.IconStyle_IdColumn.Col

umnName.ToLower() + "=" +

dr[dsConfig.DSConfig.IconStyle.IconStyle_IdColumn].ToString())[0];

sIconStyleHref =

drIcon[dsConfig.DSConfig.Icon.hrefColumn].ToString();

kml1.Icon.AddIconRow(kml1.IconStyle[iIconStyleCount], sIconStyleHref);

iHotX = Convert.ToDecimal(0.5);

iHotY = Convert.ToDecimal(0);

ihotXunits = "fraction";

ihotYunits = "fraction";

//DataRow drH =

dsConfig.DSConfig.IconStyle.Select(dsConfig.DSConfig.IconStyle.Style_IdColu

mn.ColumnName.ToLower() + "=" + iiStyle.ToString())[0];

kml1.hotSpot.AddhotSpotRow(iHotY, iHotX,

ihotXunits, ihotYunits, kml1.IconStyle[iIconStyleCount]);

Page 108: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

kml1.hotSpot.Columns["x"].ColumnMapping =

MappingType.Attribute;

kml1.hotSpot.Columns["y"].ColumnMapping =

MappingType.Attribute;

kml1.hotSpot.Columns["xunits"].ColumnMapping =

MappingType.Attribute;

kml1.hotSpot.Columns["yunits"].ColumnMapping =

MappingType.Attribute;

iIconStyleCount++;

}

//Generate BalloonStyle for Style

if

(dsConfig.DSConfig.BalloonStyle.Select(dsConfig.DSConfig.BalloonStyle.Style

_idColumn.ColumnName.ToLower() + "=" + iiStyle.ToString()).Length > 0)

{

DataRow dr =

dsConfig.DSConfig.BalloonStyle.Select(dsConfig.DSConfig.BalloonStyle.Style_

idColumn.ColumnName.ToLower() + "=" + iiStyle.ToString())[0];

sBalloonbgColor =

dr[dsConfig.DSConfig.BalloonStyle.bgColorColumn].ToString();

sBalloonTextColor =

dr[dsConfig.DSConfig.BalloonStyle.textColorColumn].ToString();

sBalloonDisMode =

dr[dsConfig.DSConfig.BalloonStyle.displayModeColumn].ToString();

if

(dr[dsConfig.DSConfig.BalloonStyle.textColumn].ToString() != "")

iBalloonStyleText =

dr[dsConfig.DSConfig.BalloonStyle.textColumn].ToString();

else

iBalloonStyleText = "";

kml1.BalloonStyle.AddBalloonStyleRow(dsConfig.DSConfig.Style[iiStyle].id +

"_BS_" + iiStyle.ToString(), sBalloonbgColor, sBalloonTextColor,

iBalloonStyleText, sBalloonDisMode, kml1.Style[iiStyle]);

}

Page 109: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

}

//Generate Style Map

for (int iiStyleMap = 0; iiStyleMap <

dsConfig.DSConfig.StyleMap.Count; iiStyleMap++)

{

kml1.StyleMap.AddStyleMapRow(kml1.Document[0],

dsConfig.DSConfig.StyleMap[iiStyleMap].id);

for (int iiStyleMapPair = 0; iiStyleMapPair <

dsConfig.DSConfig.Pair.Count; iiStyleMapPair++)

{

kml1.Pair.AddPairRow(kml1.StyleMap[0],dsConfig.DSConfig.Pair[iiStyleMapPair

].key,dsConfig.DSConfig.Pair[iiStyleMapPair].styleUrl);

}

}

kml1.StyleMap.Columns["id"].ColumnMapping =

MappingType.Attribute;

return kml1;

}

private KML20 generateKML(KML20 kml1)

{

// Folder constants and variables

string sFolderId = "FId";

string sFolderVisibility = "1";

string sFolderOpen = "1";

// Object constants and variables

string sX = "";

string sY = "";

string sZ = "";

string sObjectCoordinates = "";

string sObjectName = "";

string sObjectDescription = "";

Page 110: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

string sObjectSnippet = "";

string sObjectGeometryType = "";

string sObjectStyle = "";

string sObjectAltitudeMode = "relativeToGround";

int iObjectVisibility = 1;

int iObjectOpen = 0;

int iObjectExtrude = 1;

//Counters

int iPlacemarkCount = 0;

int iObjectCount = 0;

for (int iiFolder = 0; iiFolder <

dsConfig.DSConfig.Folder.Count; iiFolder++)

{

//Generate Folders

if

(!dsConfig.DSConfig.Folder[iiFolder].IsvisibilityNull())

sFolderVisibility =

dsConfig.DSConfig.Folder[iiFolder].visibility.ToString();

if (!dsConfig.DSConfig.Folder[iiFolder].IsopenNull())

sFolderOpen =

dsConfig.DSConfig.Folder[iiFolder].open.ToString();

kml1.Folder.AddFolderRow(dsConfig.DSConfig.Folder[iiFolder].description,

dsConfig.DSConfig.Folder[iiFolder].name, sFolderVisibility, sFolderOpen,

sFolderId + iiFolder.ToString(), kml1.Document[0]);

//Generate Placemarks

if

(dsConfig.DSConfig.Placemark.Select(dsConfig.DSConfig.Placemark.Folder_IdCo

lumn.ColumnName + "=" + iiFolder.ToString()).Length > 0)

{

if

(dsConfig.DSConfig.Placemark[iiFolder].StyleMap_Id.ToString() != "")

sObjectStyle = "#" +

dsConfig.DSConfig.StyleMap[int.Parse(dsConfig.DSConfig.Placemark[iiFolder].

StyleMap_Id.ToString())].id;

sObjectGeometryType =

dsConfig.DSConfig.Placemark[iiFolder].GeometryType;

switch (sObjectGeometryType.ToLower())

Page 111: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

{

case "point":

//Generate Points

DataSet ds = new DataSet();

ds =

getData(int.Parse(dsConfig.DSConfig.Placemark[iiFolder].dataObject_Id.ToStr

ing()), "1");

for (int iiObject = 0; iiObject <

ds.Tables[0].Rows.Count; iiObject++)

{

//KOORDINATE

sX =

ds.Tables[0].Rows[iiObject][4].ToString().Replace(",", ".");

sY =

ds.Tables[0].Rows[iiObject][5].ToString().Replace(",", ".");

sZ =

ds.Tables[0].Rows[iiObject][3].ToString().Replace(",", ".");

sObjectCoordinates = sY + "," + sX +

"," + sZ;

long iSDate =

System.DateTime.Parse("1900-01-01").Ticks / 10000000;

long iNDate = System.DateTime.Now.Ticks

/ 10000000;

long iDate =

long.Parse(ds.Tables[0].Rows[iiObject][7].ToString()) + iSDate;

string sDatum =

System.DateTime.MinValue.AddSeconds(iDate).ToString("dd.MM.yyyy HH:mm");

string sID =

ds.Tables[0].Rows[iiObject][0].ToString();

string sName =

ds.Tables[0].Rows[iiObject][1].ToString();

string sLocation =

ds.Tables[0].Rows[iiObject][2].ToString();

//IME OBJEKTA

sObjectName = sName;

sObjectSnippet = "Čas meritve : " +

sDatum;

sObjectDescription =

System.Environment.NewLine + "Čas meritve: " + sDatum +

System.Environment.NewLine + System.Environment.NewLine;

Page 112: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

// meritve

DataView dvmes =

ds.Tables[1].DefaultView;

string[] sAllMess = new string[] {"1",

"2", "16", "17", "41", "42"};

foreach (string sMid in sAllMess)

{

string sFilter = "station_id = " +

sID + " AND sensor_id = " + sMid;

dvmes.RowFilter = sFilter;

if (dvmes.Count > 0)

{

sObjectDescription +=

dvmes[0][7].ToString() + " " + dvmes[0][8].ToString() + " [" +

dvmes[0][6].ToString() + "]" + System.Environment.NewLine;

}

}

sObjectDescription +=

System.Environment.NewLine;

kml1.Placemark.AddPlacemarkRow(kml1.Folder[iiFolder], sObjectDescription,

"PId_" + iiFolder.ToString() + "_" + iiObject.ToString(), sObjectName,

iObjectVisibility.ToString(), iObjectOpen.ToString(), sObjectStyle,

sObjectSnippet);

kml1.MultiGeometry.AddMultiGeometryRow(kml1.Placemark[iPlacemarkCount]);

kml1.Point.AddPointRow(kml1.MultiGeometry[iObjectCount], "OId_" +

iiFolder.ToString() + "_" + iiObject.ToString(), sObjectAltitudeMode,

iObjectExtrude, sObjectCoordinates);

iPlacemarkCount++;

iObjectCount++;

}

break;

default:

break;

}

}

}

Page 113: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

return kml1;

}

private void generateKML_End(KML20 kml1)

{

//Start output

string sOutput = "";

MemoryStream stream = new MemoryStream();

System.Xml.XmlTextWriter myXmlWriter = new

System.Xml.XmlTextWriter(stream, System.Text.Encoding.Unicode);

myXmlWriter.WriteStartDocument();

myXmlWriter.WriteStartElement("kml",

"http://www.opengis.net/kml/2.2");

myXmlWriter.WriteStartAttribute("gx", "kml",

"http://www.google.com/kml/ext/2.2");

kml1.WriteXml(myXmlWriter);

myXmlWriter.WriteEndElement();

int count = (int)stream.Length;

byte[] arr = new byte[count];

stream.Seek(0, SeekOrigin.Begin);

stream.Read(arr, 0, count);

UnicodeEncoding utf = new UnicodeEncoding();

sOutput = utf.GetString(arr).Trim();

//Correct XML to KML Sintaks

sOutput = sOutput.Replace("utf-16", "utf-8");

sOutput = sOutput.Replace("KML20", "kml");

sOutput = sOutput.Replace("><kml xmlns=", " xmlns:temp=");

sOutput = sOutput.Replace("IconScreen", "Icon");

sOutput = sOutput.Replace("IconGround", "Icon");

sOutput = sOutput.Replace("LatLonQuad", "gx:LatLonQuad");

sOutput = sOutput.Replace("d4p1:", "");

//Do output

Response.Clear();

Response.ContentType = "application/vnd.google-earth.kml

kml";

Response.AppendHeader("Content-Disposition",

"filename=\"Simobil.kml\"");

Response.BufferOutput = true;

Response.Write(sOutput);

Page 114: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

}

private DataSet getData(int iDataObjectId, string sqlString)

{

TrenutnaTableAdapter tadata = new TrenutnaTableAdapter();

DataSetVreme.TrenutnaDataTable dtsv = new

DataSetVreme.TrenutnaDataTable();

stationsTableAdapter taStations = new

stationsTableAdapter();

DataSetVreme.stationsDataTable dtst = new

DataSetVreme.stationsDataTable();

tadata.FillTrenutniPodatki(dtsv);

taStations.FillStations(dtst);

DataSet ds = new DataSet();

ds.Tables.Add((DataTable)dtst);

ds.Tables.Add((DataTable)dtsv);

return ds;

}

}

}

Page 115: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

Priloga 3

Potrebni SQL-stavki za poizvedbo v bazi MySQL:

Pridobi trenutno meritev na vseh postajah: SELECT stations.station_id, stations.name, stations.latitude AS

Lat, stations.longitude AS Lon, last_sensor_values.poll_time,

stations.last_data, units.unit AS Enota,

sensors.name AS Meritev, last_sensor_values.value

AS MGSM, sensors.sensor_id

FROM units INNER JOIN

sensors ON units.unit_id = sensors.unit_id INNER

JOIN

last_sensor_values ON sensors.sensor_id =

last_sensor_values.sensor_id INNER JOIN

stations ON last_sensor_values.station_id =

stations.station_id AND last_sensor_values.measure_time >=

stations.last_data

WHERE (stations.is_active = 1) AND (last_sensor_values.error = 0)

AND (sensors.sensor_id = @MeasurementID)

Pridobi vse trenutne meritve na vseh postajah: SELECT stations.station_id, stations.name, stations.latitude AS

Lat, stations.longitude AS Lon, last_sensor_values.poll_time,

stations.last_data, units.unit AS Enota,

sensors.name AS Meritev, last_sensor_values.value

AS MGSM, sensors.sensor_id

FROM units INNER JOIN

sensors ON units.unit_id = sensors.unit_id INNER

JOIN

last_sensor_values ON sensors.sensor_id =

last_sensor_values.sensor_id INNER JOIN

stations ON last_sensor_values.station_id =

stations.station_id AND last_sensor_values.measure_time >=

stations.last_data

WHERE (stations.is_active = 1) AND (last_sensor_values.error = 0)

Page 116: FAKULTETA ZA INFORMACIJSKE ŠTUDIJEdk.fis.unm.si/mag/MAG_2010_Franci_Smolic.pdf · Zaradi sodobnega načina življenja mnogo voznikov vsak dan preživi na cesti tudi po več ur. Čeprav

Pridobi vse aktivne postaje: SELECT station_id, name, location, altitude, latitude, longitude,

is_active, last_data

FROM stations

WHERE (is_active = 1)