Postupci prikaza velike količine podataka GIS sustava

Računalna grafika | ZEMRIS | FER
Početna stranica | Uvod | SCADA i GIS | Kartogrami
Redukcijski algoritam | CartoDraw alogritam
Primjer broj 1 | Primjer broj 2 | Primjer broj 3
Zaključak | Sažetak | Abstract
Diplomski rad u DocX obliku | Diplomski rad u PDF obliku | Web aplikacija i izvorni kod

CartoDraw

Algoritam za crtanje kartograma

Glavni cilj CartoDraw algoritma za crtanje kartograma je brza generacija kartograma prihvatljive kvalitete. Zbog činjenice da ulazne karte često imaju više vrhova nego što je potrebno da se izračunaju dobri kartogrami, prvi je korak inteligentno odbacivanje točaka. Zatim slijedi određivanje linija uzorkovanja preko kojih se iterativno izvršava algoritam. One mogu biti određene automatski (horizontalne i vertikalne linije) ili mogu biti interaktivno unošene ljudskom rukom. Tada slijedi CartoDraw algoritam. U svakom koraku algoritma se oblik modificirane poligonalne mreže kontrolira funkcijom pogreške oblika.

Algoritam linije uzorkovanja

Ključ CartoDraw algoritma je heuristički algoritam linije uzorkovanja koji inkrementalno pomiče vrhove u odnosu na linije uzorkovanja. Linija uzorkovanja d1 je linijski segment proizvoljne pozicije i duljine i podijeljena je u d2 dijelova d3 Točke odlomaka d4 definiraju d5 područja djelovanja poligonalne mreže, koja su okomita na liniju uzorkovanja (vidi sliku 1 lijevo).

ScanLine - slika 1
Slika 1: Primjer algoritma linije uzorkovanja. Lijevo je područje djelovanja d6-a,
a desno ograničeno područje djelovanja.

U jednom koraku algoritma linije uzorkovanja se svi vrhovi d1 unutar određene udaljenosti (d2) od d3 razmatraju za inkrementalno pomicanje (vidi sliku 1 lijevo). Neka d4 bude skup poligona koji ima barem jedan vrh u području djelovanja d5. Faktor skaliranja d6 određuje se prema površinskoj pogrešci svih poligona d7 u području d8:


d9

(1)

Preostaje još odrediti smjer u kojem će se pomicati vrh d1 i djelovati faktorom skaliranja d2 kako bi pomaknuli vrh. Pomicanje se može obaviti ili u smjeru linije uzorkovanja ili u smjeru linije odlomka d3. Algoritam je prikazan algoritmom 1. Područja djelovanja linije uzorkovanja uvijek razapinju cijelo područje okomito na liniju uzorkovanja. Po želji se promjene mogu ograničiti tako da budu lokalne u oba smjera. Poligoni koji se promatraju mogu se opcionalno ograničiti na one koji su blizu linije uzorkovanja (vidi sliku 1 desno). Ta opcija neće utjecati na algoritam prikazan algoritmom 1.

ScanLine Algoritam - algoritam 1
Algoritam 1: Algoritam linije uzorkovanja za pomicanje vrhova poligona.

Glavni CartoDraw algoritam

Algoritam pretpostavlja za ulaz skup poligona P (regije karte), vektor za skaliranje željenim statističkim parametrom d1 i skup linija uzorkovanja d2 koje mogu biti određene automatski ili ručno. Izlaz je modificirani skup poligona P koji predstavlja kartogram. Algoritam radi na slijedeći način (vidi algoritam 2). Za svaku liniju uzorkovanja algoritam djeluje transformacijom pomoću linije uzorkovanja i provjerava rezultate. Ako je površinska pogreška d3 do koje se došlo radi transformacije linijom uzorkovanja ispod određene postavljene granice d4 i ako je distorzija oblika ispod određene granice d5 tada se promjene zadržavaju, a u suprotnom se odbacuju. Algoritam nastavlja s idućom linijom uzorkovanja sve dok nisu sve linije uzorkovanja djelovale na isti način. Nakon toga algoritam provjerava da li se, pri djelovanju svih linija uzorkovanja, poboljšala površinska pogreška i u slučaju da je, algoritam djeluje sa svim linijama uzorkovanja ponovo i ponavlja proceduru dok se god dolazi do poboljšanja (površinska pogreška ispod d6). Budući da poboljšanje površinske pogreške mora biti pozitivno i iznad granice d7 u svakoj iteraciji, površinska pogreška se ujednačeno smanjuje i kraj algoritma je osiguran. Može se primijetiti da se, pri djelovanju individualne linije uzorkovanja, dopušta algoritmu da poveća površinsku pogrešku kako bi se izbjegao lokalni optimum.

CartoDraw Algoritam - algoritam 2
Algoritam 2: CartoDraw algoritam.
Računalna grafika | ZEMRIS | FER | ©2007 Hrvoje Keserica