Osnovni koncepti

V tej dokumentaciji je opisano delovanje StatView pregledovanika. Ta sestoji iz slojev, ki Slovenijo delijo na različne načine, kot statistične regije, občine oziroma volilne enote.Aplikacija uporabnikom omogoča pregled analitičnih podatkov raziskav glede na izbrano območje.

Aplikacija temelji na pregledovalniku, ki je izdelan v ogrodju OpenLayers in meniju, v katerem uporabniki izberejo parametre po katerih bodo obarvali regije.

V začetku se v zemljevid naloži sloj z občinami, ki je prazna, dokler ni izbranih parametrov za barvanje. Ob izbiri parametrov barvanja se te regije pobarvajo glede na rezultate poizvedbe. Poleg barv in podatkov o obarvanih parcelah pa s strani StatView portala dobimo še stile ter tabelo, ki predstavlja legendo.

Po prikazu osnovnega sloja se ob kliku na izbran del (občino) prikaže sloj, na katerem se podatki, ki sodijo v izbrano območje (občino) obarvajo, medtem, ko ostale dele prikažemo brez barve.

Komponente

Aplikacijo sestavljajo naslednje komponente:

Strežnik

Prikaz mape sestoji iz zaglavja ter slojev, ki jih imamo definirane v mapi na naslovu /var/www/data/templates/. Glede na parametre te sloje uporabimo v namen priprave skupne .map datoteke, ki se porablja kot osnova za prikaz slikic z mapo. Podatki se črpajo iz PostgreSQL baze, podrobneje iz sheme layers. Mapa je prikazana v projekciji 3857, medtem, ko so podatki v bazi shranjeni pod projekcijo 37870. Na osnovi .map datoteke se preko cgi naslova localhost/cgi-bin/mapserv.fcgi? generirajo slike, ki jih odjemalec na osnovi OpenLayers aplikacije uporablja.

Odjemalec

OpenLayers mapa je prikazana v projekciji 3857. Za prikaz slojev uporabljamo WMS sloje, kar pomeni, da se sloj kot skupek slikic prikaže na zaslonu. V aplikaciji smo dodali osnovno interakcijo s katero lahko uporabnik premika pogled mape ter možnost klikov, ki omogoča izbiro določenega sloja ter pregled podatkov v sloju, ki je en nivo nižje.

Komunikacija

Komunikacija med odjemalci in strežnikom poteka preko OpenLayers aplikacije in sicer sloja WMS. Pri tem s pomočjo ajax klicev pridobimo podatke, ki so potrebni, predvsem glede pogleda, ki ga želimo prikazati v naslednjem koraku, ter katere sloje bomo prikazali in pravila glede barve elementov sloja.

Legenda in podatki o stilu

Za prikaz barv glede na vrednosti potrebujemo legendo, ki jo lahko pridobimo preko PHP skripte oziromy v JSON obliki.

{
    'data': [
    	'name': '0 do 25', 'value': '0', stroke: { width: 1, color: 'black' }, fill: { color: 'rgba(30,170,15,0.5)' },
    	'name': '26 do 50', 'value': '1', stroke: { width: 1, color: 'black' }, fill: { color: 'rgba(180,170,30,0.5)' },
    	'name': 'več kot 50', 'value': '2', stroke: { width: 1, color: 'black' }, fill: { color: 'rgba(50,0,0,0.5)' }
    ]
}
    
Primer barvanja selekcije

V kolikor želimo sloj ponovno pobarvati, potrebujemo podatke o sloju, ter barve glede na identifikatorje. Primer daljšega klica, kjer za vsak element določimo barvo

{
     'data': [
         { type: 'obcine', id: 123, value: 9 },
         { type: 'obcine', id: 125, value: 3 },
         { type: 'obcine', id: 126, value: 6 }
     ]
}
    

Barve pa lahko definiramo tudi skupaj, kot polja z vrednostmi:

{
     'data': [
         { type: 'obcine', values: ['1': [123, 125], '2': [462, 126], '3': []..] },
     ]
}