DIPLOMSKI RAD. Sučelje katastarske baze podataka

Similar documents
Upute za korištenje makronaredbi gml2dwg i gml2dgn

Port Community System

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

SAS On Demand. Video: Upute za registraciju:

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Podešavanje za eduroam ios

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Mindomo online aplikacija za izradu umnih mapa

BENCHMARKING HOSTELA

Windows Easy Transfer

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

1. Instalacija programske podrške

Model metabaze analognih prostornih podataka

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

PROJEKTNI PRORAČUN 1

Nejednakosti s faktorijelima

OBJEKTNO ORIJENTIRANE BAZE PODATAKA

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu

Uvod u relacione baze podataka

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

INSPIRE I KATASTARSKI PODACI

VELEUĈILIŠTE NIKOLA TESLA U GOSPIĆU MYSQL SUSTAV ZA UPRAVLJANJE BAZAMA PODATAKA OTVORENOG KODA

Iskustva video konferencija u školskim projektima

STRUČNA PRAKSA B-PRO TEMA 13

DANI BRANIMIRA GUŠICA - novi prilozi poznavanju prirodoslovlja otoka Mljeta. Hotel ODISEJ, POMENA, otok Mljet, listopad 2010.

Advertising on the Web

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

WWF. Jahorina

DIPLOMSKI RAD. Katastar i Oracle 8i Spatial

24th International FIG Congress

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

DIPLOMSKI RAD. Ispitivanje mogućnosti klasične baze prostornih podataka kod aplikacija za praćenje objekata u realnom vremenu

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Kooperativna meteorološka stanica za cestovni promet

TEHNIĈKO VELEUĈILIŠTE U ZAGREBU ELEKTROTEHNIĈKI ODJEL Prof.dr.sc.KREŠIMIR MEŠTROVIĆ POUZDANOST VISOKONAPONSKIH PREKIDAĈA

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima

SVEUČILIŠTE U ZAGREBU GEODETSKI FAKULTET. Učinkovitost sustava upravljanja zemljištem

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

Office 365, upute za korištenje elektroničke pošte

Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» Josip Bošnjak. Fizički dizajn baze podataka.

GIS-om PODRŽAN KATASTARSKI OPERAT

STRUKTURNO KABLIRANJE

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

OTVARANJE BAZE PODATAKA I IZRADA TABLICE U MICROSOFT ACCESS-u

2. Objektno orjentirana analiza i dizajn poslovnih aplikacija, MVC model

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

Sveučilište u Zagrebu Geodetski fakultet. Kačićeva 26, Zagreb. tel.: (1) faks: (1) TEHNIČKO IZVJEŠĆE

Upotreba selektora. June 04

Tutorijal za Štefice za upload slika na forum.

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

OTVARANJE BAZE PODATAKA U MICROSOFT ACCESSU XP

MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU RAČUNARSTVO KRISTIAN LEINER

OBRADA PROSTORNO-VREMENSKIH TOKOVA PODATAKA U STREAMINSIGHT DSMS

Bušilice nove generacije. ImpactDrill

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

SVEUČILIŠTE U ZAGREBU GEODETSKI FAKULTET

Mogudnosti za prilagođavanje

ALEN BARAĆ RAZVOJ DINAMIČKIH WEB APLIKACIJA DIPLOMSKI RAD

RAZVOJ DINAMIČKIH WEB APLIKACIJA UPORABOM PHP-a I AJAX-a

Diplomski rad. Prikupljanje i izvoz OpenStreetMap podataka. Izradila: Sanja Stilinović. Mentor: prof. dr.sc. Damir Medak. Zagreb, lipanj 2013.

3D GRAFIKA I ANIMACIJA

RANI BOOKING TURSKA LJETO 2017

WEB APLIKACIJA S BAZOM RECEPATA

Klasterizacija. NIKOLA MILIKIĆ URL:

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

CRNA GORA

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI

S V E U Č I L I Š T E U S P L I T U FAKULTET GRAĐEVINARSTVA, ARHITEKTURE I GEODEZIJE KATEDRA ZA GEODEZIJU I GEOINFORMATIKU

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

PERSONAL INFORMATION. Name: Fields of interest: Teaching courses:

KABUPLAST, AGROPLAST, AGROSIL 2500

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

ECONOMIC EVALUATION OF TOBACCO VARIETIES OF TOBACCO TYPE PRILEP EKONOMSKO OCJENIVANJE SORTE DUHANA TIPA PRILEP

ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME

USPOREDBA ALATA ZA VIZUALIZACIJU PODATAKA

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

Albert Farkaš SUVREMENI TRENDOVI RAZVOJA INFORMACIJSKIH SUSTAVA

Objektno orjentirano programiranje

FAKULTET ZA POSLOVNU INFORMATIKU

Obrada podataka poslanih preko web formi

PANEVROPSKI UNIVERZITET APEIRON FAKULTET ZA POSLOVNU INFORMATIKU BANJA LUKA. Specijalističke studije TEMA: WEB DNEVNIK

RAČUNALNA APLIKACIJA ZA RFID EVIDENCIJU STUDENATA NA NASTAVI

Modelling Transport Demands in Maritime Passenger Traffic Modeliranje potražnje prijevoza u putničkom pomorskom prometu

Primjeri pitanja iz 1. ili 2. skupine (za 2 ili 4 boda po pitanju) -

RAZVOJ IPHONE APLIKACIJA POMOĆU PROGRAMSKOG JEZIKA SWIFT

3. Obavljanje ulazno-izlaznih operacija, prekidni rad

ALEN IVE SUSTAVI ZA UPRALJANJE SADRŽAJEM ZA UČENJE (LCMS) Diplomski rad

Hrvatsko tržište derivativnih instrumenata pravni okvir. Mladen Miler ACI Hrvatska,Predsjednik

TEHNIKA I INFORMATIKA U OBRAZOVANJU

Transcription:

SVEUČILIŠTE U ZAGREBU - GEODETSKI FAKULTET UNIVERSITY OF ZAGREB - FACULTY OF GEODESY Zavod za primijenjenu geodeziju; Katedra za upravljanje prostornim informacijama Institute of Applied Geodesy; Chair of Spatial Information Management Kačićeva 26; HR-10000 Zagreb, CROATIA Web: www.upi.geof.hr; Tel.: (+385 1) 46 39 222; Fax.: (+385 1) 48 28 081 Usmjerenje: Inženjerska geodezija i upravljanje prostornim informacijama DIPLOMSKI RAD Sučelje katastarske baze podataka Izradio: Saša Vranić Prelošćica 57 Sisak svranic@geof.hr Mentor: prof. dr. sc. Miodrag Roić Zagreb, lipanj 2009.

2 Zahvala: Zahvaljujem se mentoru prof. dr. sc. Miodragu Roiću i asistentu Mariu Mađeru na strpljenju, razumijevanju i korisnim savjetima tijekom izrade ovog diplomskog rada. Zahvaljujem se i svim profesorima i asistentima na Geodetskom fakultetu koji su mi prenijeli svoje znanje. Hvala i svim mojim kolegama i prijateljima koji su mi pomogli, na ovaj ili onaj način. Najveću zahvalnost dugujem svojim roditeljima koji su mi omogućili da upišem i pohađam ovaj Fakultet te koji su pomogli da budem čovjek kakav jesam danas. Na kraju se zahvaljujem svojoj djevojci Dijani koja je također bila uvijek uz mene, davala mi potporu, poticala me da se trudim i dalje. Ukratko, hvala svima koji su utjecali na moj životni put da stignem do ovdje gdje jesam danas.

3 Sučelje katastarske baze podataka Saša Vranić Sažetak: U posljednjih nekoliko godina svjedočimo ogromnom porastu korištenja karata posluženih putem web-a, kao i povećanju broja projekata otvorenog koda. Osnovu nekog web servisa za posluživanje podataka čini model podataka. Kod izrade praktičnog dijela ovog diplomskog rada korišten je objektno-relacijski model podataka. Zadatak ovog diplomskog rada je bio izraditi model podataka katastarske baze podataka, te web sučelje u kojem je moguć prikaz i preuzimanje katastarskih podataka. Cijeli projekt je ostvaren korištenjem web tehnologija otvorenog koda. Ključne riječi: katastar, sučelje, baza podataka, postgresql, geoserver, openlayers. Interface of cadastral database Abstract: In the last few years we witness enormous growth in usage of maps served via web and also enlargement in number of open source projects. Foundation of some web map service which is intended for serving data is the data model. In practical part of this diploma work object-relational model was used. Task of this diploma work was to make a data model of cadastral database and web interface. This web interface had to be able to display and offer possibility to download cadastral data. Whole project was realized by using open source web technologies. Keywords: cadastre, interface, database, postgresql, geoserver, openlayers.

4 Sučelje katastarske baze podataka Saša Vranić S A D R Ž A J 1. UVOD... 5 2. KATASTAR... 6 2.1. SADRŽAJ I SVRHA KATASTRA NEKRETNINA... 6 2.2. PROSTORNI PODACI... 8 2.2.1. Načini pohrane geometrijskih objekata u ORDBMS... 9 3. MODELI I MODELIRANJE PROSTORNIH PODATAKA... 11 3.1. RELACIJSKI MODEL... 13 3.1.1. Osnove relacijskog modela podataka... 13 3.1.2. Structured Query Language (SQL)... 15 3.2. OBJEKTNI MODEL... 16 3.3. OBJEKTNO-RELACIJSKI MODEL... 17 3.4. NORME I STANDARDI... 18 3.4.1. Organizacije za normizaciju... 18 3.4.2. Procedura stvaranja normi... 20 4. WEB TEHNOLOGIJE... 22 4.1. PHP... 22 4.2. POSTGRESQL I POSTGIS... 23 4.2.1. Povijest PostgreSQL-a i PostGIS-a... 23 4.2.2. Arhitektura PostgreSQL-a... 24 4.2.3. Alati PostgreSQL-a... 25 4.2.4. PostGIS... 28 4.3. OSGEO... 31 4.3.1. Geoserver... 33 4.3.2. OpenLayers... 37 5. IZRADA WEB SUČELJA ZA PREUZIMANJE PODATAKA KATASTRA... 41 5.1. MODEL PODATAKA... 42 5.2. WEB SUČELJE... 43 5.3. SADRŽAJ PRILOŽENOG MEDIJA (CD-A, DVD-A)... 48 6. ZAKLJUČAK... 50 Popis tablica Popis slika Literatura Životopis

5 1. Uvod Kroz povijest katastarski podaci su se izrađivali u analognom obliku. Informatička tehnologija je omogućila izradu tih podataka u digitalnom obliku, a Internet je omogućio njihovu lakšu distribuciju i razmjenu. Katastarski podaci sastavljeni su od triju slojeva podataka: geometrijskih, koji određuju položaj pojedinih objekata u prostoru kroz njihove koordinate, topoloških, koji povezuju pojedine dijelove objekata u smislenu cjelinu, i tematskih, koji objekte u prostoru dodatno opisuju (Roić i Cetl 2005). U postupku modeliranja podataka katastra potrebno je uzeti u obzir i norme koje određuju prostorne podatke čime se omogućuje njihova svrsishodna razmjena i olakšava doprema krajnjem korisniku (Matijević 2004). U posljednjih nekoliko godina je zabilježen ogroman porast korištenja karata posluženih putem weba. Najpoznatiji primjer je Google Maps. Kada je u veljači 2005. godine ovaj projekt objavljen, privukao je pozornost na sebe velikom brzinom izvođenja, visokim stupnjem interaktivnosti karata, satelitskim snimcima visoke rezolucije i atraktivnim dizajnom (Schütze 2007). Ove karakteristike su posljedica implementacije projekta uz pomoć JavaScript-a. U ovom diplomskom radu izrađeno je web sučelje za preuzimanje katastarskih podataka uz pomoć open-source rješenja PHP, PostgreSQL/PostGIS, Geoserver i OpenLayers. Kod izrade web sučelja korišteni su podaci o tri imaginarne katastarske općine (Glembajevi, Šuma Striborova i Šuma Striborova Stara) koje se koriste na Geodetskom fakultetu kod izvođenja nastave.

6 2. Katastar O postanku riječi katastar ima više tumačenja. Prema nekima ona dolazi od latinske riječi capitastrum, koja je u doba Rimskog Carstva bila naziv knjige rasporeda poreza i drugih davanja od zemljišta. Drugi smatraju da dolazi od grčke riječi katastichon, što označuje popis poreznih obveznika. U zemljama zapadne i srednje Europe riječ cadastre je uobičajena kao pojam za popisivanje nekretnina (Cetl 2003). Danas riječ katastar ima puno šire značenje i ima puno više namjena. Prema Zakonu o državnoj izmjeri i katastru nekretnina (NN 16/07, čl. 18) Katastar nekretnina je definiran kao evidencija o česticama zemljine površine, zgradama i drugim građevinama koje trajno leže na zemljinoj površini ili ispod nje te o posebnim pravnim režimima na zemljinoj površini. 2.1. Sadržaj i svrha Katastra nekretnina Katastar je temeljni upisnik prostornih podataka (Cetl 2003). Katastar je evidencija o položaju, obliku, površini, načinu iskorištavanja i vlasniku svake pojedine čestice. U prošlosti svrha katastra je bila isključivo porezna. U današnjem kapitalističkom društvu svrha katastra je znatno veća (Slika 1). Katastar služi za pravne, tehničke, gospodarske i statističke potrebe. Katastar je također osnova za druge evidencije kao što su zemljišna knjiga, katastar vodova, kao i osnova za razne zemljišne informacijske sustave i slično. Svrha katastra je sve više kompleksnija i višenamjenska te postoji sve više korisnika, od individualnih do privatnog i javnog sektora koji su zainteresirani za prostorne podatke. Osim toga, katastar je temelj nacionalne infrastrukture prostornih podataka. Slika 1: Koncept višenamjenskog katastra (Roić 2002a) Osnovna prostorna jedinica katastra nekretnina je katastarska čestica. Definicija katastarske čestice prema Zakonu o državnoj izmjeri i katastru nekretnina (NN 16/07, čl. 20) glasi: Katastarska čestica dio je područja katastarske općine, odnosno katastarskog područja na moru, određen brojem katastarske čestice i njezinim granicama.

Katastarski operat katastra nekretnina sadrži podatke o katastarskim česticama, zgradama i drugim građevinama, područjima pojedinih vrsta uporabe zemljišta, područjima posebnih pravnih režima na zemljištu te podatke o nositeljima prava na nekretninama (NN 16/07, čl. 49). Podaci o nositeljima prava na nekretninama su izvorni podaci zemljišne knjige koji se preuzimaju u katastarski operat. Katastarski operat katastra nekretnina čine geodetsko-tehnički i popisno-knjižni dio. Geodetsko-tehnički dio katastarskog operata katastra nekretnina čine (NN 16/07, čl. 50): katastarski plan, elaborat geodetske osnove, digitalni ortofoto plan i digitalni model reljefa, zbirka parcelacijskih i drugih geodetskih elaborata. Popisno-knjižni dio katastarskog operata katastra nekretnina čine (NN 16/07, čl. 50): popisi (katastarskih čestica, zgrada i drugih građevina, područja pojedinih vrsta uporabe, područja posebnih pravnih režima i adresa katastarskih čestica), posjedovni listovi, pomoćni popisi (popis kućnih brojeva, popis osoba upisanih u posjedovne listove i popis promjena), zbirka isprava. Katastarski plan katastra nekretnina vodi se u elektroničkom obliku. S obzirom na to da je postupak prevođenja katastarskih planova dugotrajan proces, katastarski plan se u službenoj upotrebi ovisno o tehnologiji izrade pojavljuje u sljedećim oblicima: analogni list katastarskog plana, digitalni list katastarskog plana u rasterskom obliku, digitalni katastarski plan u vektorskom obliku. Da bi katastar danas i u budućnosti zadovoljio sve veće potrebe korisnika za prostornim podacima potrebno je uspostaviti digitalni katastar i stvoriti moderni višenamjenski katastar. Digitalni katastar je baza ili skup baza podataka s aktualnim podacima o nekretninama. Njegove karakteristike su da je neovisan o mjerilu prikaza, o podjeli na listove, fleksibilan je u načinima korištenja i može biti povezan s drugim bazama podataka. 7

Digitalni katastar povezan s drugim bazama podataka čini zemljišni informacijski sustav. 2.2. Prostorni podaci Obzirom na tehnologiju izrade, pohrane i prezentacije prostorne podatke možemo podijeliti na digitalne i analogne. Pod analognim podacima podrazumijevamo podatke izvorno izrađene na papiru ili drugoj čvrstoj podlozi, a pod digitalnim podatke u formatu koji je čitljiv računalu. Digitalni podaci se obzirom na format dijele na vektorske i rasterske. Vektorski podaci su položajni podaci objekata, definiranih koordinatama u nekom referentnom sustavu. Rasterski podaci se temelje na površinama, a osnovni element je piksel. Položaj piksela je određen brojem stupca i retka u slikovnoj matrici. Katastar se oslanja na prostorne podatke koji su uglavnom u vektorskom obliku, ali koriste se i podaci u rasterskom obliku. Vektorski model prostornih podataka je prihvatljiviji kada se govori o prostornim podacima u katastarskim sustavima. Općenito, svi prostorni podaci sastavljeni su od tri komponente: geometrijske, topološke i tematske (Slika 2). Geometrijska komponenta određuje položaj pojedinih objekata u prostoru kroz njihove koordinate u određenom referentnom koordinatnom sustavu. Topološka komponenta prostornih podataka povezuje pojedine dijelove objekta u smislenu cjelinu. Tematska komponenta daje objektima dodatni sadržaj. Geometrijska i topološka komponenta zajedno tvore prostornu sastavnicu prostornog objekta. 8 Slika 2: Komponente prostornih podataka (Roić i dr. 2002c) Geometrija prostornog objekta (katastarske čestice ili građevine) je definirana njegovim lomnim točkama u nekom referentnom sustavu. Te točke su povezane linijama kako bi tvorile prostorni objekt, tj. geometriji je dodan topološki smisao. Dodavanjem jedinstvenog identifikatora katastarskoj čestici (npr. broja katastarske čestice) osigurana je jednoznačnost prostornog objekta unutar sustava te omogućeno povezivanje s njegovim opisnim podacima.

U sljedećem odjeljku ćemo objasniti načine pohrane geometrijskih objekata u objektno relacijskim sustavima za upravljanje bazama podataka (engl. Objectrelational database management system ORDBMS). 2.2.1. Načini pohrane geometrijskih objekata u ORDBMS OGC (Open Geospatial Consortium) specifikacija Simple Features for SQL je pružila oslonac za izradu objektno-relacijskih baza podataka. Navedena specifikacija donosi objektni model geometrije prostornih objekata (Slika 3). 9 Slika 3: Objektni model geometrije prostornih objekata (OGC 1999) Izvorna klasa Geometry ima četiri sub-klase: točka (engl. point), krivulja (engl. curve), ploha (engl. surface) i skup geometrija (engl. GeometryCollection). Potonja služi za definiranje složenih prostornih objekata. Ti objekti se mogu pohraniti u neku objektno-relacijsku bazu podataka, kao što je PostgreSQL (ili MySQL) u jednom od sljedećih zapisa: OGC WKT (OGC Well-known text) i OGC WKB (OGC Well-known binary). Prvi navedeni zapis je u tekstualnom formatu i čitajući ga možemo intuitivno zaključiti o kojem se objektu radi. Drugi navedeni zapis prostornog objekta je u binarnom obliku i čitajući ga možemo vidjeti da se radi o nizu znamenaka iz kojih ne možemo zaključiti išta. Zapis prostornog objekta u bilo kojem zapisu sadržava informacije o tipu objekta i o koordinatama koje tvore taj objekt. U nastavku ćemo dati primjer zapisa u WKT formatu:

POINT(0 0) 10 LINESTRING(0 0,1 1,1 2) POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) MULTIPOINT(0 0,1 2) MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4))) Osim ta dva zapisa postoje još dva zapisa prostornih objekata koji su specifični za PostGIS. To su: PostGIS EWKT (PostGIS Extended Well-known text) i PostGIS EWKB(PostGIS Extended Well-known binary). Razlozi zbog kojih postoje ova dva posljednja zapisa jesu: OGC WKT i OGC WKB podržavaju samo 2D geometriju, referentni sustav koji je pridružen tim geometrijskim objektima se kod OGC formata navodi posebno, a ne unutar zapisa. PostGIS formati su proširenja OGC-ovih formata tako da je svaki zapis u OGC formatu valjan zapis u PostGIS formatu. Proširenja PostGIS formata su sljedeća: uključena informacija o referentnom sustavu (to je ostvareno navođenjem jedinstvenog identifikatora referentnog sustava SRID), podrška za 3dz, 3dm i 4d koordinate. Inače, 3dz označava zapis točke s tri koordinate, gdje zadnja označava visinu točke. 3dm označava zapis točke s tri koordinate, gdje zadnja koordinata označava neki broj koji ne predstavlja visinu (npr. vremensku oznaku i sl.). Navest ćemo i primjere zapisa u EWKT formatu: POINT(0 0 0) -- XYZ SRID=32632;POINT(0 0) -- XY s SRID-om POINTM(0 0 0) -- XYM POINT(0 0 0 0) -- XYZM SRID=4326;MULTIPOINTM(0 0 0,1 2 1) -- XYM sa SRID-om POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))

11 3. Modeli i modeliranje prostornih podataka Neovisno o stupnju razvoja tehnologija, uređeno ljudsko društvo treba neku vrstu evidencije o prostornim podacima odnosno sustava koji će njima upravljati. Iako su implementacijska rješenja uvijek ovisila o raspoloživoj tehnologiji jezgra modela nije se znatno promijenila od najranijih sustava (Matijević 2004). Svrha svakog GIS sustava, pa tako i onog koji upravlja katastarskim podacima je predstavljanje dijelova stvarnog svijeta pomoću računala. Kako je stvarni svijet neograničeno složen, potrebno je za njegovo predstavljanje putem računala uvesti neki stupanj uopćenja (Slika 4). Upravo to uopćenje stvarnog svijeta predstavlja njegov model, a modeliranje označava prilagodbu tih podataka računalnim sustavima. Slika 4: Odnos stupnja uopćenja modela i njegove orijentiranosti (Matijević 2004) Pod pojmom modela podataka podrazumijevamo način prezentiranja podataka, koji obuhvaća: definiranje podataka, definiranje pravila integriteta podataka, definiranje pravila manipulacije podacima, uključujući i definiranje jezika za manipulaciju podataka. Koncepcijski model podataka je djelomično strukturiran model objekata, obilježja i procesa i opisuje strukturu podataka čitavog informacijskog sustava i predstavlja ključ njegova razumijevanja. U cijelosti je neovisan o implementaciji bilo na logičkoj ili fizičkoj razini. Logički model je više implementacijski orijentirana predstava promatranog dijela stvarnog svijeta. Najčešće ima oblik dijagrama koji kasnije omogućavaju kodiranje u okviru izabrane hardversko-softverske osnove. Cilj logičkog modela je razrada

logičkih struktura i odnosa između podataka te je zanemarena njegova fizička organizacija. Fizički model konačno predstavlja detaljni opis stvarne fizičke organizacije podataka, odnosno njihov raspored na konkretnom mediju u okviru računalnog sustava. Općenito, postoje dva najraširenija koncepcijska modela. To su model entitet-veza (engl. entity-relationship) i objektni model. Model entitet-veza je još uvijek najpopularniji pristup koncepcijskom modeliranju podataka. Jedan od uzroka je svakako popularnost relacijskog modela baza podataka kojem je model entitetveza blizak, a njegova implementacija korištenjem relacijske baze podataka prirodna. U modelu entitet-veza je promatrani dio stvarnog svijeta podijeljen u entitete (engl. entity) koji su određeni atributima (engl. attribute) i povezani vezama (engl. relation). Objekti s istovrsnom konceptualnom ili fizičkom opstojnošću su entiteti. Označavanjem zajedničkih obilježja skupa entiteta određuje se njihov tip odnosno klasa. Pojedini entiteti jedne klase zovu se pojava entiteta ili instanca (engl. instance). Svaka pojava entiteta ima sve iste atribute, koji su određeni klasom, dok su njihove vrijednosti različite (Matijević 2004). Stvarni svijet je sastavljen od niza objekata stoga je prirodno pri modeliranju stvarnoga svijeta o njemu na taj način i razmišljati. Jednostavnije objekte možemo jednako kvalitetno modelirati modelom entitet-veza, ali kompleksniji objekti (tu spadaju i prostorni objekti) predstavljaju značajnu prepreku. Moguće rješenje je objektni pristup koncepcijskog modeliranja. Objekt je stvarni ili apstraktni predmet koji sadrži neka svojstva (atribute koji ga opisuju) i postupke (engl. method) koji određuju način ponašanja tog objekta. Metodama je određen i način interakcije objekta s ostalim objektima. Skup postupaka koji služe za interakciju s objektom čini sučelje. Osim obilježja i postupaka koje s nekim objektom iz prirode možemo učiniti, on može biti i u različitim stanjima tako da objekt možemo potpuno definirati njegovim: atributima, metodama i stanjem. Skup objekata s istim obilježjima čini klasu objekata. Možemo reći da je klasa definicija objekta, a objekt instanca klase. Glavna svojstva objektno-orijentiranog modeliranja su: enkapsulacija (engl. encapsulation), skrivanje podataka (engl. dana hiding), nasljeđivanje (engl. inheritance) i 12

polimorfizam (engl. polymorphism). 13 Umjesto da imamo operacije koje barataju podacima odvojene od podataka, radimo s objektima koji objedinjavaju operacije i podatke. Pri tome je važno što objekt radi, a ne na koji način on to radi. To omogućava da se pojedini objekt može po potrebi izbaciti i zamijeniti drugim, boljim, ako oba rade istu stvar. Ključ za postizanje takvog cilja jest spajanje operacija i podataka, poznato pod nazivom enkapsulacija. Pritom su podaci privatni za svaki objekt te ne smiju biti dostupni ostalim dijelovima programa. To svojstvo se naziva skrivanje podataka. Svaki objekt svojoj okolini pruža isključivo podatke koji su joj neophodni da bi se objekt mogao iskoristiti. Ti podaci zajedno s operacijama koje ih prihvaćaju ili vraćaju čine sučelje objekta. Važan mehanizam objektnog modeliranja je nasljeđivanje. Ono može biti izvedeno (engl. derived) ili uopćeno (engl. abstracted). Izvedenim nasljeđivanjem iz jedne roditeljske klase izvodimo dječje klase koje nasljeđuju sva svojstva roditeljske klase, ali i sadrže neka specifična svojstva. Uopćeno nasljeđivanje je obrnuti postupak. Traženjem skupa zajedničkih svojstava skupa klasa izvodimo roditeljske klase. Na kraju, ali ništa manje važno svojstvo je polimorfizam odnosno više-obličje. Ono dopušta objektu da postoji u više nego jednoj domeni. Zahvaljujući tom svojstvu, isti objekt može imati više značenja, u ovisnosti o tome u kojem se kontekstu razmatra. Nakon izrade koncepcijskog modela izrađuje se logički ili implementacijski model. Iako je u svijetu definirano još nekoliko logičkih modela, kao što su mrežni i hijerarhijski, oni su zastarjeli i pojavom relacijskog modela su se prestali upotrebljavati stoga ih nećemo ni objašnjavati. U nastavku ćemo objasniti osnovne značajke relacijskog, objektnog i objektno-relacijskog modela. 3.1. Relacijski model Osnovne principe i strukturu relacijskog modela podataka iznio je 1971. godine u knjizi A Relational Model of Data for Large Shared Data Banks matematičar E. F. Codd, u to vrijeme član IBM San Jose Research Laboratory (Vujnović 1995). Ovaj model je s vremenom usavršavan i danas je najrašireniji i općeprihvaćen model podataka. Najveća prednost relacijskog modela podataka jest ta što on u potpunosti počiva na matematičkoj teoriji relacijske algebre. 3.1.1. Osnove relacijskog modela podataka Osnova relacijskog modela jest prikaz podataka pomoću relacija. Osnovni koncepti relacijskog modela preuzeti su iz matematičke teorije skupova. Relacija je pravokutno područje koje se sastoji od stupaca (vrijednosti atributa) i redaka (ntorki) za koje vrijedi: sve vrijednosti unutar jednog atributa su istog tipa, svaka vrijednost za sebe unutar n-torke predstavlja samo određeni broj ili skup znakova i ništa više,

unutar jedne relacije ne smiju postojati dvije n-torke s identičnim vrijednostima svih atributa, redoslijed n-torki unutar relacije je potpuno nebitan, svi atributi unutar relacije moraju imati različite imena. Skup svih atributa, tj. svih imena atributa naziva se relacijska shema. Shema baze podataka je skup svih relacijskih shema u bazi podataka, a baza podataka je skup relacija. Entitet je objekt realnog svijeta o kojemu se informacije skupljaju i obrađuju. Svaki entitet je u bazi podataka predočen jednom relacijom odnosno tablicom (Slika 5). Primjeri relacija su katastarska čestica, građevina i dr. Atribut je svojstvo određenog objekta o kojemu skupljamo podatke u bazi podataka (za katastarsku česticu to mogu biti broj, vlasnik, površina i dr.). Domena atributa je skup svih vrijednosti koje atribut može poprimiti (npr. površina katastarske čestice može biti samo pozitivan broj). 14 atributi n- torka Slika 5: Relacija (tablica) i njeni dijelovi Da bi model bio upotrebljiv potrebno je da ima semantički konzistentne podatke. U svrhu očuvanja konzistencije podataka potrebno je uvesti neka ograničenja: ključ (engl. key), cjelovitost entiteta (engl. entity integrity) i

referencijalna cjelovitost (engl. referential integrity). 15 Ograničenje ključa odnosno primarni ključ je atribut ili skup atributa čije vrijednosti jednoznačno određuju pojavljivanje svake n-torke. U jednoj relaciji ne mogu postojati dvije n-torke sa istim vrijednostima primarnog ključa. Osim primarnog ključa, postoje i strani ključevi (engl. foreign key.) Strani ključ je atribut u jednoj relaciji i koji se u drugoj relaciji pojavljuje kao primarni ključ. Sljedeće ograničenje je cjelovitost entiteta. Ono je određeno tako da primarni ključ svake n-torke bude različit od nule. Veza između pojedinih tablica unutar baze podataka se ostvaruje na logičkoj razini upotrebom primarnih i stranih ključeva. Pravilo referencijalne cjelovitosti glasi: baza podataka ne smije sadržavati vrijednosti stranog ključa za kojeg ne postoje odgovarajuće vrijednosti primarnog ključa u baznoj relaciji. 3.1.2. Structured Query Language (SQL) SQL je najrašireniji jezik za komuniciranje s relacijskim bazama podataka, a izvorno je razvijen u IBM-u. SQL je programski jezik četvrte generacije i sastoji se od tri dijela: Jezik za manipuliranje podacima (Data Manipulation Language DML): Naredbe iz ovog dijela se koriste 90% vremena rada s bazom podataka. One uključuju naredbe za umetanje, brisanje, i dohvaćanje podataka iz baze podataka. Jezik za definiciju podataka (Data Definition Language DDL): Ove naredbe služe za kreiranje baza podataka, tablica, definiranje veza i drugih pojava koje su povezane više sa strukturom baze podataka nego sa samim podacima. Jezik za kontrolu podataka (Data Control Language DCL): U ovu skupinu spadaju naredbe koje definiraju pitanja sigurnosti baze podataka, kao što su ograničenja pristupa podacima. Ovaj skup naredbi se koristi uglavnom kod većih projekata kada je uključen veći broj korisnika s različitim razinama pristupa podacima. SQL je deklarativan programski jezik što znači, umjesto da pišemo naredbu kako da dohvatimo neki podatak, jednostavno pišemo naredbu za dohvat željenih podataka. To možemo vidjeti na sljedećem primjeru. SELECT kc_broj, vlasnik, naziv_ko FROM kat_cestica WHERE kc_broj='123' AND naziv_ko='šuma Striborova' U ovom primjeru nismo nigdje definirali na koji način želimo doći do podataka. O tome brine RDBMS. Razvojem relacijskih baza podataka, različite tvrtke su objavljivale svoje verzije SQL-a. S vremenom pojavilo se dosta dijalekata SQL-a i pojavila se potreba za izradom standarda. Tako je 1986. American National Standards Institute (ANSI), a

1987 i International Organization for Standards (ISO) donio SQL normu čije je ime SQL-86. Iako je ta norma pomogla da se smanje razlike između različitih dijalekata SQL-a, razlike još uvijek postoje. U sljedećoj tablici (Tablica 1)dan je popis SQL normi: Tablica 1: SQL norme 16 Godina Ime Još poznat kao Glavne karakteristike 1986 SQL-86 SQL-87 Prva objava ANSI/ISO SQL norme 1989 SQL-89 Manja izmjena izvorne norme 1992 SQL-92 SQL-2, ISO/IEC 9075:1992 Velika izmjena izvorne norme i još uvijek najraširenija SQL norma. 1999 SQL-99 SQL-3 Izmjena SQL-2 tako da su dodani novi načini odabira podataka, nova pravila integriteta podataka i uvođenje objektne orijentacije. 2003 SQL-2003 ISO/IEC 9075:2003 Uvedena podrška za XML i polja s automatski generiranim vrijednostima. Bez obzira na postojanje gore navedenih normi, razlike u implementaciji tih normi i dalje postoje. 3.2. Objektni model Tradicionalni modeli podataka i sustavi baza podataka, kao što je npr. relacijski model, uspješno se primjenjuju u za tradicionalne poslovne primjene baza podataka. Međutim, ti modeli imaju ozbiljna ograničenja i nedostatke kad je potrebno dizajnirati i implementirati kompleksne aplikacije koje se koriste bazama podataka, odnosno kompleksne informacijske sustave, kao što su geoinformacijski sustavi. Objektni model osigurava potrebnu fleksibilnost koja je potrebna pri modeliranju kompleksnih objekata i nije ograničen unaprijed danim tipovima podataka i upitnim jezikom, kakav je SQL. Jedna od važnih značajki objektnog modela jest mogućnost specifikacije kompleksnih objekata i operacija nad njima. Objektni model, odnosno objektne baze podataka rezultat su integracije tehnologije baza podataka s objektno-orijentiranom paradigmom razvijenom u području programskih jezika. Temeljni princip objektno-orijentiranog pristupa u programskim jezicima je promatranje programa kao kolekcije neovisnih objekata grupiranih u klase, koji uzajamno komuniciraju putem poruka. Intenzivan eksperimentalni i znanstveno-istraživački rad rezultirao je razvojem većeg broja prototipova objektnih baza podataka, koji su se razvili bez

zajedničkoga modela podataka, čije je korištenje bilo uglavnom eksperimentalnog karaktera. Upravo taj nedostatak standarda jedan od glavnih razloga za sporo prihvaćanje i korištenje objektnoga modela. 1991. godine utemeljen je konzorcij ODMG (Object Database Management Group). Cilj tog konzorcija je bio razvoj skupa standarda koji bi korisnicima omogućili razvoj prenosivih aplikacija, odnosno aplikacija koje mogu koristiti različite objektne baze podataka. S obzirom na to da se arhitektura objektnih baza podataka znatno razlikuje od arhitekture relacijskih baza podataka, priroda i struktura standarda je prilično drugačija. Objektni model ne samo da osigurava upitni jezik visoke razine kao što je SQL, već transparentno integrira mogućnost i karakteristike baza podataka s programskim jezicima. Standard ODMG uključuje referentni objektni model (ODMG Object Model), objektni definicijski jezik (ODL Object Definition Language) i objektni upitni jezik (OQL Object Query Language). Osim toga, definirani su standardi za vezivanje s objektnoorijentiranim programskim jezicima (C++, Smalltalk, Java). ODMG objektni model definira standardni model za objektne baze podataka, a ODL je definicijski jezik za definiranje objektne sheme baze podataka, sukladno ovom modelu. OQL je deklarativni upitni jezik, inspiriran SQL jezikom. Vezivanje programskih jezika određuje način na koji se objektni model i koncepti preslikavaju i implementiraju u konkretnom objektno-orijentiranom programskom jeziku, odnosno kako se pristupa i manipulira objektima u bazi korištenjem toga jezika. Ono što je bitno primijetiti kod objektnog modela jest to da se objekti iz prirode, odnosno njihovi modeli ne rastavljaju na dijelove, već oni čine jednu cjelinu u okviru sustava. 3.3. Objektno-relacijski model Objektno-relacijski model i objektno-relacijske baze podataka (ORDBMS) omogućavaju alternativan pristup korištenju objektne paradigme unutar sustava za upravljanje bazama podataka. Objektno-relacijske baze podataka su rezultat želje proizvođača relacijskih baza podataka za zadržavanjem što većeg udjela na tržištu baza podataka. Objektno-relacijski model i objektno-relacijske baze podataka integriraju objektnu paradigmu u relacijski model podataka i proširuju ga objektno-orijentiranim karakteristikama. Temeljna pretpostavka objektno-relacijskog modela i objektno relacijskih baza podataka jest upravljanje objektima i pravilima, uz očuvanje kompatibilnosti s relacijskim modelom i relacijskim bazama podataka. Dakle, osnovni relacijski model je proširen temeljnim objektno-orijentiranim konceptima kao što su: apstraktni tipovi podataka, učahurenje, višeobličje, nasljeđivanje i dr. Na taj način se podupire djelotvornost i funkcionalnost relacijskih baza podataka, uz istodobno proširenje modela podataka objektno-orijentiranim konceptima koji omogućuju upravljanje kompleksnim pa tako i geoprostornim podacima. Konsenzus nad objektno-relacijskim modelom ostvaren je normom SQL-2003 i svi glavni proizvođači nastoje, u što je moguće većem opsegu implementirati taj standard. Primjer objektno-relacijske baze podataka predstavlja Slika 5. Konkretno, u 17

objektno-relacijskoj bazi podataka geometrija prostornog objekta upisana je u jedno polje unutar tablice, ili u binarnom obliku, ili u obliku niza tekstualnih znakova. 3.4. Norme i standardi Normizacija digitalnih prostornih podataka važna je za uspostavu sustava razmjene prostornih informacija među različitim korisnicima, aplikacijama, sustavima i lokacijama (Roić i Zekušić 1999). U današnje vrijeme brzog razvoja IT tehnologija potrebno je normirati postupke i procedure definiranja prostornih podataka, metode za strukturiranje podataka, kao i uniformne postupke za njihovu distribuciju i održavanje. Za početak ćemo objasniti razliku između pojmova norma i standard. Norme su de iure, odnosno odobrene od priznate međunarodne organizacije, a standard je de facto, odnosno rezultat primjene velikog broja korisnika. U zemljama engleskog govornog područja ne postoji riječ norma te se pojam standard koristi kada se govori i o normi i o standardu. U ostalim jezicima postoji razlika u značenju između pojmova standard i norma. Normizacija i stvaranje normi je proces izgradnje i prihvaćanja normi kao službeno definiranih dogovora i sporazuma na razini neke države ili na globalnoj razini. Prema ISO/IEC 2:1966, norma je isprava za opću i višekratnu uporabu, donesena konsenzusom, odobrena od priznate ustanove, sadrži pravila, upute i obilježja djelatnosti kao njihovih rezultata, te jamči najbolji način uređenosti u određenim okolnostima. ISO norme nisu obavezne niti za jednu zemlju u svijetu, bila ona članica ISO-a ili ne. 3.4.1. Organizacije za normizaciju Na globalnoj razini norme iz različitih područja ljudske djelatnosti donosi Međunarodna organizacija za normizaciju (International Organisation for Standardization ISO). Na razini Europe za istu djelatnost zadužen je Europski komitet za normizaciju (Comité Européen de Normalisation CEN). Na regionalnoj razini ovim problemom se bavi niz organizacija od kojih ćemo navesti dvije: Europsko povjerenstvo nadležno za službenu kartografiju (Comité Européen des Responsables de la Cartographie Officielle CERCO) i Radna grupa za digitalne geografske informacije (Digital Geographic Information Working Group DGIWG). Međunarodna organizacija za normizaciju donosi norme iz različitih polja ljudske djelatnosti na globalnoj razini. Ovisno o djelokrugu rada, ISO je podijeljen u 2850 tehničkih odbora u kojima volontira oko 30000 stručnjaka iz cijeloga svijeta. Tehnički odbori su dalje podijeljeni u radne grupe koje se bave određenim dijelovima izrade norme. Tehnički odbor zadužen za donošenje normi iz područja prostornih informacija nosi oznaku ISO/TC211. Osnovan je na prijedlog Kanade u travnju 1994. godine. Jedan od osnovnih zadataka TC 211 jest usklađivanje s već postojećim normama, kao i suradnja sa svjetskim organizacijama koje se bave geografskim informacijama. U svom radu, TC 211 je ostvario suradnju sa sljedećim institucijama: 18

CEN/TC 287 Geographic information, 19 International Hydrographic Beureau (IHB), Digital Geographic Information Working Group (DGIWG), International Cartographic Association (ICA), UN Economic Commission for Europe, Statistical Division, International Federation of Surveyors (FIG), European Petroleum Survey Group (EPSG), International Association of Geodesy (IAG), International Society for Photogrammetry and Remote Sensing (ISPRS), Open Geospatial Consortium (OGC), The Permanent Comittee on GIS Infrastructure for Asia and the Pacific, European Commission, Joint Research Centre, Centre for Earth Observation. U procesu donošenja ISO normi važnu ulogu ima suradnja s ostalim organizacijama koje se bave prostornim informacijama. Jedna od najbitnijih suradnja jest ona između ISO-a i OGC-a. Normizacija više nije kao nekad proces priznavanja stanja tehnologije, već alat za modeliranje potreba i implementacija novih tehnologija. The Open Geospatial Consortium, Inc. (OGC) je internacionalni konzorcij koji se sastoji od kompanija, vladinih udruga i sveučilišta koji sudjeluju u procesu razvoja javno dostupnih specifikacija. Specifikacije podržavaju interoperabilnost rješenja koje šire geoinformacije Internetom, bežičnim i lokalnim servisima te unutar informacijskih tehnologija. Jedna od važnijih plodova zajedničke suradnje ISO-a i OGC-a jest usklađivanje jezgre prostorne sastavnice modela prostornih podataka. Ta suradnja je uslijedila prihvaćanjem norme ISO 19107 Spatial Schema. Isti dokument kod OGC-a nosi naziv Feature Geometry, a dio je dokumenta OpenGIS Abstract Specification. Europski odbor za normizaciju (CEN) je udruga Europskih nacionalnih normizacijskih tijela. Norme koje donese CEN nose oznake EN i automatski postaje nacionalnom normom zemlje članice CEN-a odnosno ta nova Europska norma zamjenjuje svaku nacionalnu normu koja je s njom u suprotnosti. Za normizaciju prostornih informacija zadužen je CEN/TC 287 (Geographic Information). Osnovan je 1991. godine na sjednici u Bruxsellsu. Osim zemalja članica, nekoliko međunarodnih udruženja čini promatrače u CEN-u. To su DGIWG, CERCO i IHB.

Europsko povjerenstvo nadležno za službenu kartografiju (CERCO) uspostavljeno je 1979. godine s ciljem promicanja razmjene informacija, konzultacija i suradnje na području geografskih informacija službene kartografije, s izuzetkom pomorske hidrografije i vojne kartografije. Od 1993. godine članica CERCO-a je i Republika Hrvatska. Radna grupa za digitalne geografske informacije (DGIWG) osnovana je 1983. sa zadatkom stvaranja normi koje će omogućiti razmjenu digitalnih geografskih informacija među zemljama članicama NATO-a. Za pripremanje, izdavanje i objavljivanje normi u Republici Hrvatskoj zadužen je Hrvatski zavod za norme. Hrvatske norme nose oznaku HRN. Za pripremu prijedloga hrvatskih normi osnivaju se tehnički odbori (TO). U siječnju 2003. godine osnovan je TO 211 Geoinformacije/Geomatika. Cilj rada odbora je uspostava niza normi za informacije o objektima ili pojavama koje su izravno ili neizravno povezane s njihovim položajem u odnosu na Zemlju. 3.4.2. Procedura stvaranja normi ISO norme nastaju kao rezultat dogovora između pojedinih ISO tijela. Proces stvaranja norme može se podijeliti u šest faza (Slika 6). 20 Slika 6: Procedura stvaranja ISO normi U prvoj fazi radna grupa izrađuje program rada (WP Work Programme) kada se odluči da je neka norma potrebna. Unutar radne grupe se pristupa izradi prvobitne verzije buduće norme (WGD Working Group Draft). Nakon toga radna grupa prosljeđuje WGD tehničkom odboru na razmatranje i nastaje radna verzija tehničkog odbora (CD Comittee Draft). Druga radna verzija (DIS Draft International Standard) izrađuje se nakon šest mjeseci i prosljeđuje na mišljenje svim članovima ISO-a. Konačna radna verzija (FDIS Final Draft International Standard) se donosi nakon izjašnjavanja svih članova. Posljednji korak je formalno

glasovanje nakon kojeg FDIS, ako je prihvaćen, postaje međunarodnom normom (IS International Standard) (Cetl 2003). Protokol izrade europskih normi sličan je donošenju ISO normi (Slika 7). U početku donošenja europskih normi se izrađuje program rada (WP Working Programme) nakon čega slijedi prva verzija norme (WGD Working Group Draft). WGD se dalje prosljeđuje tehničkom odboru koji je proglašava radnom verzijom (Comittee Draft CD). Ako tehnički odbor pozitivno ocijeni normu ona dobiva status europske prednorme (pren). Nakon toga norma se prosljeđuje na mišljenje svim članovima CEN-a, a na kraju se provodi glasovanje kojim se norma usvaja ili odbacuje. 21 Slika 7: Tijek donošenja europskih normi (EN)

22 4. Web tehnologije U posljednjih nekoliko godina svjedočimo brzom razvoju raznih web tehnologija koje služe za posluživanje prostornih podataka putem weba. Daleko najpoznatiji primjer je Google Maps. Po uzoru na Google i Microsoft i Yahoo! su objavili svoje inačice prostornih servisa. Osim navedenih, objavljen je relativno velik broj web tehnologija (OpenLayers, Geoserver, Mapbuilder i dr.) koje omogućavaju izradu vlastitog prostornog informacijskog sustava. Bitna karakteristika zadnje navedenih tehnologija jest to što su otvorenog koda (engl. open-source). U svijetu opensource web projekata koji se tiču prostornih podataka vrlo važnu ulogu ima konzorcij OsGeo (URL 14). 4.1. PHP PHP je skriptni jezik otvorenog koda. PHP je u početku bio akronim za Personal Home Page, no razvojem jezika PHP je postao skraćenica za Hypertext Preprocessor. Prvu inačicu PHP-a (PHP/FI 1.0) razvio je sredinom 1995. godine Rasmus Lerdorf kao alat za nadziranje posjeta njegovom životopisu na mreži. Ova inačica PHP-a imala je neke osnovne funkcije, prvenstveno mogućnost obrade podataka iz obrazaca i podršku za msql baze podataka. Ovu inačicu slijedila je inačica PHP/FI 2.0. PHP 3.0 je razvijen 1998. godine od strane dva izraelska programera Zeev Suraski i Andi Gutmans. Ova verzija je potpuna prepravka izvorne primjene PHP/FI i uključila je podršku za veći broj baza podataka, uključujući i MySQL i Oracle. Proširiva arhitektura PHP 3.0 ohrabrila je programere da započnu s izradom vlastitih proširenja, što je povećalo popularnost ovog jezika. PHP 4.0 objavljen 2003. godine koristio je novi mehanizam kako bi pružio bolje karakteristike, veću pouzdanost i nadogradivost, podršku za veći broj servera, bolju podršku za objektno orijentirano programiranje i dr. PHP 5.0 nudi potpuno preuređen objektni model, bolju obradu iznimaka, dosljedniji skup alata za XML, unaprijeđenu podršku za MySQL i bolje upravljanje memorijom. U trenutku pisanja ovog rada se razvija PHP 6.0. Predviđena poboljšanja su podrška za Unicode, još bolja podrška za objektno orijentirano programiranje i dr. Činjenica jest da je PHP široko rasprostranjen programski jezik za Web. To potvrđuje i brojka od 20 milijuna domena koje koriste PHP (Slika 8). Neki od najpoznatijih primjera upotrebe PHP-a su Facebook, Wikipedia, Youtube, Yahoo!.

23 Slika 8: Statistika korištenja PHP-a Čista sintaksa, objektno orijentirano programiranje, proširiva arhitektura, podjednaka podrška za postojeće i nadolazeće tehnologije i protokole te izvrsna podrška za rad s bazama podataka su neki od razloga za popularnost PHP-a. 4.2. PostgreSQL i PostGIS PostgreSQL je open-source relacijski sustav za upravljanje bazama podataka (RDBMS). PostGIS je dodatak PostgreSQL-u koji proširuje mogućnosti PostgreSQL-a i omogućuje podršku za kompleksne prostorne podatke, odnosno PostgreSQL+PostGIS zajedno tvore objektno-relacijski sustav za upravljanje bazama podataka (ORDBMS). 4.2.1. Povijest PostgreSQL-a i PostGIS-a Na Sveučilištu California u Berkley-u (UCB) profesor Michlael Stonebraker je 1986. godine počeo raditi na boljem sustavu za upravljanje bazama podataka POSTGRES, nakon što je INGRES, RDBMS koji je razvijao od 1977. 1985. preuzela tvrtka Relational Technologies/Ingres Corporation. Time je INGRES postao jedan od prvih komercijalnih RDBMS-ova. U sljedećih osam godina popularnost POSTGRES-a je značajno porasla. Razvoj POSTGRES-a na UCB-u je prestao 1994. godine kod verzije 4.2. No zahvaljujući distribuciji pod BSD licencom to nije bio kraj razvoja ovog projekta. Razvoj je nastavila grupa programera i 1994. godine objavljuju Postgres95 u kojeg su uključili SQL detalje (do tada je korišten QUEL jezik). Kako Postgres95 više nije bilo prikladno ime, ime se promijenilo u PostgreSQL kako bi se naglasila podrška za SQL normu. PostgreSQL vrlo dobro prati normu SQL-92 (razlika u odnosu na tu normu je u samo nekoliko detalja), a trenutačno se radi na usklađivanju s najnovijom normom SQL-2003. PostgreSQL bazi podataka se može pristupiti bilo kojim programskim jezikom, uključujući C, C++, Perl, Phyton, Java, Tcl, i PHP. Specifikacija OGC-a Simple Feature Specification for SQL (OGC 1999) je pružila neke osnovne koncepte u vezi organizacije i pohranjivanja prostornih podataka.

Kanadska organizacija Refractions Research 2001. godine je objavila prvu verziju PostGIS-a (verzija 0.1). Ta verzija je imala sljedeće karakteristike: mogućnost pohranjivanja i čitanja podataka o geometriji prostornih objekata u OGC Well-known text formatu, neke osnovne funkcije kao što su Length(), Area(), jednostavna JDBC ekstenzija za komunikaciju s programskim jezikom Java, prostorno indeksiranje za brži pristup objektima. Od izlaska prve verzije PostGIS se počeo vrlo brzo razvijati i sve više usklađivati sa specifikacijama koje je OGC donio. U verziji PostGIS 0.8 se pojavio novi modul GEOS koji je sadržavao velik broj operatora i funkcija za ispitivanje topologije između objekata. Ova verzija je bila prva koja je bila potpuno usklađena s OGC specifikacijom Simple Feature Specification for SQL. Trenutačna verzija PostGIS-a je 1.3. i predstavlja daljnje poboljšanje prethodnih verzija u smislu: Uz dokument (OGC 1999), PostGIS se usklađuje s dokumentom ISO SQL/MM, dokumentom koji sadrži veći broj geometrijskih objekata uključujući razne krivulje. usklađivanje s dokumentom ISO SQL/MM uključuje i izmjenu svih naziva postojećih funkcija tako da im se dodaje prefiks ST_, te dodavanje novih funkcija definiranih u ISO SQL/MM. Na kraju bi trebalo napomenuti da PostgreSQL od verzije 8.0 pruža nativnu podršku za operacijski sustav Microsoft Windows. 4.2.2. Arhitektura PostgreSQL-a Jedna od prednosti PostgreSQL-a je njegova arhitektura. Kao i komercijalni RDBMS-ovi i PostgreSQL se može koristiti u klijent/server okruženju. Aplikacije koje trebaju podatke iz baze podataka ne mogu pristupiti podacima direktno, već moraju to učiniti posredno putem procesa baze podataka, čak i ako se pokreću na istom računalu kao proces servera. Podjela na klijent i server dopušta aplikacijama da budu distribuirane. Tako možemo koristiti mrežu kako bismo odvojili klijente od servera i tako razvili aplikacije koje bolje odgovaraju okruženju klijenta. Na primjer, možemo implementirati bazu podataka na Unix sustavu i izraditi klijentske aplikacije koje se pokreću na sustavu Microsoft Windows. Slika 9 prikazuje distribuiranu PostgreSQL aplikaciju. Na toj slici je prikazano kako nekoliko klijenata pristupa serveru putem mreže. Za PostgreSQL to mora biti jedna od sljedećih mreža: TCP/IP, LAN ili Internet. Svaki se klijent spaja na glavni serverski proces baze podataka označen kao Postmaster na sljedećoj slici (Slika 9), koji kreira nove 24

serverske procese koji se onda bave zahtjevima za pristup tih klijenata bazi podataka. 25 Slika 9: Arhitektura PostgreSQL-a Usmjeravanje rukovanja podacima na server dopušta PostgreSQL-u da učinkovito održava integritet podataka, čak i u slučaju mnogo simultanih korisnika. 4.2.3. Alati PostgreSQL-a Komunikacija s PostgreSQL bazom podataka može se ostvariti na više načina. Postoje ugrađeni alati koji su dostupni instalacijom PostgreSQL-a na računalo, a postoje i alati koji se mogu dodatno instalirati. Prvi alat koji nam pruža potpunu slobodu u komuniciranju s bazom podataka jest DOS alat psql (Slika 10), koji s bazom komunicira preko komandne linije. Ovaj alat nam omogućava kreiranje i brisanje baze podataka i tablica, unošenje, ažuriranje i brisanje podataka. Način na koji sve ove akcije obavljamo jest da upisujemo svaku SQL naredbu u komandnu liniju. Postoje dvije grupe naredbi koje možemo upisivati u psql: SQL naredbe, interne naredbe to su narede koje nisu direktno podržane u SQL-u, kao što su listanje svih tablica i slično. Te naredbe počinju s obrnutom kosom crtom (engl. backslash). Prije nego što počnemo raditi s bazom podataka moramo se prijaviti kao korisnik. Zadano (engl. default) korisničko ime i zaporka su postgres. Za korisnike koji imaju pravo koristiti sve naredbe, u komandnoj liniji iza imena baze podataka će biti znakovi =#, a za korisnike koji imaju ograničena prava će biti znakovi => (Slika 10).

Već smo rekli da kod korištenja psql-a svaku naredbu moramo upisati u redak za naredbe. Da bi si olakšali upisivanje naredbi postoji povijest naredbi, odnosno svaka naredba koju upišemo ostaje zabilježena u povijesti naredbi. Tim naredbama možemo pristupiti pritiskom na kursorsku tipku (gore). 26 Slika 10: SQL shell psql pgadmin III (Slika 11) je grafičko sučelje za administriranje i razvoj PostgreSQL baza podataka. pgadmin III pruža širok spektar mogućnosti: kreiranje i brisanje baza podataka, tablica i shema, izvršavanje SQL upita u prozoru za upite, izvoz (engl. export) rezultata upita u razne datoteke, izrada sigurnosnih kopija i obnavljanje baza podataka ili tablica, podešavanje korisnika, grupa korisnika i privilegija, pregledavanje, uređivanje i unos podataka u tablice. Prilikom prvog pokretanja pgadmina moramo podesiti server na kojem se nalaze baze podataka. Zadana vrijednosti imena servera je localhost i zadani priključak (engl. port) kojim se obavlja komunikacija jest 5432. Ti podaci se inače podešavaju prilikom instalacije PostgreSQL-a. Jedna od bitnijih funkcija koje pgadmin sadrži jest izrada kopija i obnavljanje tih kopija baza podataka. Na taj način možemo prenijeti bazu podataka (ili pojedinu tablicu) s jednog računala na drugo.

27 Slika 11: pgadmin III Web alternativa za upravljanje PostgreSQL bazom podataka je phppgadmin (Slika 12). To je aplikacija napisana u PHP-u koja pruža grafičko sučelje za upravljanje bazom podataka. Za pokretanje phppgadmina potrebno je instalirati i web server (npr. Apache). phppgadmin pokrećemo u web pregledniku upisujući URL adresu http://ime_servera/phppgadmin/. Slika 12: phppgadmin 4.2.1 Osim navedenih postoje još neke aplikacije koje se koriste za upravljanje bazama podataka. Primjer je aplikacija Rekall (URL 17). Osim toga, PostgreSQL može komunicirati i s nizom drugih aplikacija kao što su Microsoft Access, Microsoft Excel, kao i s većinom open-source aplikacija (npr. Mapserver, Geoserver itd.).

4.2.4. PostGIS 28 PostGIS je ekstenzija koja PostgreSQL-u omogućuje: korištenje jednostavnih geometrijskih objekata (3D), definiranih od strane OGC-a, velik broj operatora i funkcija za ispitivanje topologije, izmjenu objekata (GEOS modul), transformaciju koordinata i izmjenu velikog broja koordinatnih sustava pomoću proj4 modula, projekcije "u letu", sa velikim brojem podržanih projekcija, također pomoću proj4 modula, indeksiranje prostornih podataka pomoću GiST indexa. Budući da stupanj usklađenosti PostGIS-a s OGC specifikacijama raste sa svakom verzijom, PostgreSQL+PostGIS postaje sustav za upravljanje bazama podataka koji se može mjeriti s najrazvijenijim komercijalnim sustavima koji podržavaju prostorne podatke. PostGIS nije samo dodatak za spremanje geokodiranih prostornih podataka. Njegove mogućnosti implementirane su iz drugih projekata koje omogućuju manipulaciju prostornim podacima unutar same prostorne baze podataka. Upravo to svojstvo ga stavlja ispred mnogih komercijalnih rješenja koje djeluju kao posrednici pri pohrani prostornih podataka. Naprednije funkcije PostGIS-a zasnivaju se na setu biblioteka. Te datoteke su nastale u laboratoriju Refractions Research u okviru projekta nazvanog Geometry Engine Open Source (GEOS). GEOS je biblioteka pisana u C++ programskom jeziku koji podržava OGC-ovu specifikaciju Simple Features for SQL. GEOS instrukcije nisu pisane isključivo za PostGIS te se mogu koristiti u vlastito napisanim aplikacijama. PostGIS omogućuje korištenje SQL izjava za manipulaciju i stvaranje prostornih podataka. No, to je samo dio njegovih mogućnosti. Njime je moguće konvertirati koordinate točaka u veliki broj koordinatnih sustava, vršiti reprojekciju te zadavati prostorne upite unutar baze podataka koja se nalazi na web poslužitelju. PostGIS se sve intenzivnije koristi kao alat za pohranu i manipulaciju prostornih podataka. Idealno je rješenje za situacije u kojima veći broj aplikacija pristupa podacima istovremeno. Podaci su dostupni za prikaz na web stranicama dok istovremeno druga aplikacija može vršiti prostorne upite nad njima.

29 Slika 13: Tablice metapodataka baze podataka Da bismo unutar PostgreSQL-a omogućili dodavanje i manipulaciju prostornim objektima, potrebno je instalirati PostGIS. Prilikom instalacije PostGIS-a napravi se i jedan predložak baze podataka koji se onda kasnije koristi kod kreiranja novih baza podataka. Taj predložak sadrži sve funkcije, operatore i tablice PostGIS-a koje on mora sadržavati da bi bila moguća izrada, manipulacija i analiza prostornih objekata. Slika 13 prikazuje dvije tablice koje PostGIS sam kreira prilikom kreiranja predloška baze podataka. Ta tablica ustvari sadrži metapodatke baze podataka i govori sustavu za upravljanje bazama podataka gdje se nalaze prostorni podaci i u kojem su referentnom sustavu. Ove dvije tablice su obavezni dio prostorne baze podataka po OGC specifikaciji Simple Features for SQL. Tablica spatial_ref_sys sadržava popis referentnih sustava (otprilike 3162). Definicija te meta-tablice glasi: CREATE TABLE spatial_ref_sys ( srid INTEGER auth_name auth_srid NOT NULL PRIMARY KEY, VARCHAR(256), INTEGER, srtext VARCHAR (2048), proj4text VARCHAR(2048)) Definicija stupaca je sljedeća: srid cijeli broj koji predstavlja jedinstveni identifikator referentnog sustava unutar baze podataka. auth_name ime standarda po kojem se imenuje referentni sustav (npr. EPSG)

auth_srid ID referentnog sustava unutar standarda definiranog u prethodnom stupcu. srtext predočenje referentnog sustava u Well-known text formatu. Npr. PROJCS["RH - Gauss-Krueger 5. zona", GEOGCS["",DATUM["",SPHEROID["Bessel 1841", 6377397.155, 299.1528128]], PRIMEM["Greenwich", 0.0],UNIT["degree", 0.017453292519943295], AXIS["Longitude", EAST],AXIS["Latitude", NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["central_meridian", 15.0], PARAMETER["latitude_of_origin", 0.0],PARAMETER["scale_factor", 0.9999], PARAMETER["false_easting", 5500000.0],PARAMETER["false_northing", 0.0], UNIT["m", 1.0],AXIS["y", EAST],AXIS["x", NORTH], AUTHORITY["EPSG","1000001"]] proj4text PostGIS koristi, kao što smo već naveli, modul Proj4 za omogućavanje transformacije koordinata. Ovo polje sadrži znakovni niz koji definira Proj4 definiciju koordinata. Npr. +proj=utm +zone=10 +ellps=clrk66 +datum=nad27 +units=m Druga tablica govori sustavu za upravljanje bazama podataka gdje se točno nalaze prostorni podaci, u koliko su dimenzija zadani, u kojem su referentnom sustavu i kojeg je tipa geometrija tih prostornih podataka. Definicija te meta-tablice glasi: CREATE TABLE geometry_columns ( 30 f_table_catalog f_table_schema f_table_name f_geometry_column coord_dimension srid VARCHAR(256) NOT NULL, VARCHAR(256) NOT NULL, VARCHAR(256) NOT NULL, VARCHAR(256) NOT NULL, INTEGER NOT NULL, INTEGER NOT NULL, type VARCHAR(30) NOT NULL ) Prva tri stupca definiraju tablicu u kojoj se nalaze prostorni podaci. Termin f_table_catalog je specifičan za Oracle te u PostgreSQL-u nema analognog termina. Drugi i treći stupac definiraju ime sheme i tablice unutar baze podataka u kojoj se nalaze prostorni podaci. f_geometry_column predstavlja ime stupca u kojem se nalazi geometrija prostornih objekata. Sljedeći stupac sadrži informacije o tome u koliko je dimenzija napisana geometrija u prethodnom stupcu (to može

biti 2, 3 ili 4). Stupac srid predstavlja identifikator korištenog referentnog sustava. U taj stupac se upisuje jedan od identifikatora navedenih u tablici spatial_ref_sys. Ako ne želimo definirati referentni sustav, tada pišemo -1. Tip geometrije se navodi u posljednjem stupcu. Mogući tipovi geometrije (Slika 3) su određeni dokumentima OGC Simple Features Specification for SQL i ISO SQL/MM. 4.3. OSGeo Open Source Geospatial Foundation (URL 14) neprofitna organizacija osnovana u veljači 2006. godine. Misija ove zaklade je podržati, promovirati suradnički razvoj geoprostornih tehnologija otvorenog koda. Jedan od bitnijih ciljeva ove zaklade jest podupiranje i promoviranje normi i standarda, pa tako i onih standarda koje donosi OGC i omogućavanje interoperabilnosti između projekata unutar zaklade na temelju tih standarda. OSGeo pruža financijsku, organizacijsku i pravnu pomoć velikom broju opensource projekata kao što su: Geoserver, OpenLayers, Grass, QuantumGIS, Mapguide Open Source i još mnogo drugih projekata. Iako se temelji na dobrovoljnom radu, rad zaklade ovisi i o donacijama sponzora. Jedni od najpoznatijih sponzora su Autodesk i Ingres. Struktura zaklade što se tiče osoblja je prikazana na sljedećoj slici (Slika 14). Na vrhu hijerarhije su službenici (engl. officers). U službenike spadaju predsjednik zaklade, blagajnik, tajnik, izvršni direktor i po jedan potpredsjednik po odboru i projektu koji je unutar zaklade. Izvršni direktor (engl. executive director) je jedini zaposlenik zaklade (jedini prima plaću za svoj posao). On pomaže pronaći sponzore, priprema godišnja izvješća o aktivnostima, ukazuje Odboru direktora na teme koje se događaju u svijetu, a o kojima je potrebno raspravljati. 31

32 Slika 14: Struktura zaklade OSGeo Odbor direktora (engl. Board of directors) službeno predstavljaju OSGeo zakladu, imenuju izvršnog direktora, odobravaju proračun, odobravaju politiku djelovanja i procedure, rješavaju situacije koje se ne mogu riješiti unutar odbora. Sve što se događa unutar zaklade, događa se kroz djelatnost različitih odbora. Kao što smo rekli ranije, svi ljudi koji sudjeluju unutar zaklade su volonteri, osim izvršnog direktora. Trenutačno postoji devet odbora, a to su: odbor za inkubaciju odbor koji priprema i preporuča odboru direktora inkubacijske procese pojedinih projekata i kriterije koje projekti moraju zadovoljiti. odbor za konferenciju odbor koji organizira godišnju konferenciju (FOSS4G) OSGeo zaklade. odbor za financije odbor koji se brine o financijama zaklade u svakom smislu, brine o bankovnom računu, planira godišnji proračun, odobravaja financijska izvješća, prima i bilježi donacije itd. odbor za promidžbu odbor koji brine o promidžbi zaklade, kao i o promidžbi svakog pojedinog projekta unutar zaklade, u ovisnosti o dostupnim sredstvima koja su određena godišnjim financijskim planom kojeg donosi odbor za financije. odbor za javne prostorne podatke odbor čiji su glavni ciljevi promoviranje korištenja otvorenih formata za prostorne podatke, prezentiranje i objašnjavanje licenci javnih prostornih podataka i dr.

odbor za edukaciju odbor zadužen za izradu baza podataka edukacijskog materijala povezanih s geoznanostima općenito i posebno open-source geoprostornim softverima. odbor za administraciju računalnih sustava brine o svim aspektima računalnih sustava zaklade, o realizaciji, održavanju, sigurnosti itd. odbor za web stranicu prvi osnovani odbor. Brine o web stranici zaklade (URL 14). Lokalni ogranci (engl. local chapters) su definirani kao grupe ljudi koji se nalaze na određenom geografskom području ili koji govore zajedničkim jezikom. Njihovi zadaci su prevođenje dokumenata, web stranica, softvera i dr., zatim promicanje OSGeo zaklade i FOSS4G konferencije. Svatko može postati član zaklade i trenutačno postoje tri razine članstava: sudionik je ona osoba koja se nalazi na listi elektroničke pošte zaklade, član je ona osoba koja radi u bilo kojem odboru ili na bilo kojem projektu, povlašteni član je član koji je izabran od strane drugih članova i koji može glasovati kada je to potrebno (npr. kod izbora članova za odbor direktora). OSGeo organizira godišnju konferenciju koja se zove FOSS4G na kojoj se može susresti brojni programeri, kompanije i drugi. Prije nego što projekt uđe u zakladu, mora proći kroz proces inkubacije. Svaki projekt u procesu inkubacije ima svog mentora. Mentor prati razvoj projekta i o tome periodički izvršava inkubacijski odbor. Da bi projekt prošao proces inkubacije mora zadovoljiti neke uvjete kao što su otvorenost koda, prihvaćanje otvorenih standarda, interoperabilnost s ostalim OSGeo projektima i dr. Proces inkubacije je završen kada se mentor projekta i inkubacijski odbor slože da je projekt ispunio sve uvjete. Kada projekt uspješno prođe kroz proces inkubacije to znači da je projekt udovoljio svim uvjetima koje je zaklada postavila. Nakon što projekt uđe u zakladu, njegov daljnji razvoj prati odbor za upravljanje projektima. U nastavku su opisana dva open-source projekta koja su ušla u OSGeo zakladu, a koji su korišteni prilikom izrade ovog rada. 4.3.1. Geoserver Geoserver je open-source server napisan pomoću programskog jezika Java od strane široke zajednice programera i organizacija. Osmišljen je tako da bude interoperabilan čime se otvara mogućnost objavljivanja podataka u bilo kojem bitnijem formatu koristeći otvorene standarde. Prva verzija Geoserver-a je objavljena 2001. godine od strane The Open Planning Project (TOPP). TOPP je jedna od najvećih svjetskih organizacija koja proizvodi open source softver. 33

Osnivači Geoservera su predvidjeli Geoprostorni web, analogno World Wide Web-u. S World Wide Web-om možemo pretraživati i preuzimati tekst, a s geoprostornim webom možemo pretraživati i preuzimati rostorne podatke. Otprilike u isto vrijeme kada je objavljena prva verzija Geoservera, OGC je radio na izradi standarda Web Feature Service. WFS definira protokol kako učiniti prostorne podatke direktno dostupne na web-u, koristeći GML (Geography Markup Language), interoperabilni format podataka. Bio je izrađen i standard Web Map Service (WMS), protokol za kreiranje i prikaz karata u obliku slika na temelju prostornih podataka. U isto vrijeme Refractions Research je objavio i open-source bazu podataka Postgis tako da je Geoserver dobio još jedno moguće spremište prostornih podataka. Zatim, tvrtka MetaCarta je izradila OpenLayers, alat otvorenog koda za pregledavanje karata od strane klijenta. Svi ovi alati daju Geoserver-u dodatnu funkcionalnost. Geoserver sada može isporučiti podatke u mnoge druge preglednike prostornih podataka kao što je Google Earth. Geoserver trenutačno pregovara s Google-om kako bi ostvarili da se podaci koje poslužuje Geoserver mogu pretraživati putem servisa Google Maps. Time Geoserver nastavlja svoju misiju da učini prostorne podatke svima dostupnijima. Geoserver je dosljedno implementirao OGC standarde Web Feature Service (WFS), Web Coverage Service (WCS) i Web Map Service (WMS) i predstavlja referentnu implementaciju tih standarda. Geoserver čini temeljnu komponentu Geoprostornog weba. Slika 15 prikazuje arhitekturu Geoservera. Geoserver je, kao što se može vidjeti sa slike, sastavljen od niza modula. Ovakva proširiva arhitektura omogućuje vrlo lako dodavanje novih modula. 34 Slika 15: Arhitektura Geoserver-a

Sav rad s Geoserver-om se vrši putem administracijskih stranica koje predstavljaju jednostavno grafičko sučelje. Nakon pokretanja Geoserver-a možemo otvoriti administracijske stranice (Slika 16). 35 Slika 16: Početno sučelje Geoserver-a Kod dodavanja novog izvora podataka u Geoserver potrebno je podesiti nekoliko stvari, sljedećim redoslijedom: podešavanje GML imenika (engl. namespace) (Slika 17), podešavanje izvora podataka (Slika 18), podešavanje objektnih klasa (Slika 19). Podešavanjem GML imenika definiramo koja će se GML shema koristiti prilikom generiranja GML datoteka. Imenik ćemo definirati tako da upišemo URI na kojoj se nalazi shema (npr. http://www.opengis.net/gml). Ime koje ćemo dodijeliti imeniku je proizvoljno. Slika 17: Podešavanje GML imenika Sljedeće što moramo podesiti jest definirati gdje se nalaze podaci i u kojem su obliku. Geoserver podržava mnoge izvore podataka kao što su PostGIS, Shape datoteke, WFS (iz GML datoteka) i dr. Slika 18 pokazuje podešavanje izvora podataka kada su podaci smješteni u PostGIS bazu podataka. U procesu podešavanja moramo definirati imenik (zato smo njega morali prvoga definirati), naziv servera, sheme, baze podataka, korisničko ime, lozinku i još neke parametre.

36 Slika 18: Podešavanje izvora podataka Podešavanjem objektnih klasa (Slika 19) razlažemo prethodno definirani skup podataka na objektne klase (možemo reći i slojeve). U ovom trenutku definiramo na koji će se način prikazati prostorni objekti i u kojem će se referentnom sustavu podaci prikazati. Slika 19: Podešavanje objektnih klasa Navedeni postupak dodavanja izvora prostornih podataka je više-manje isti za sve izvore prostornih podataka u vektorskom obliku.

4.3.2. OpenLayers 37 OpenLayers je sučelje za razvoj aplikacija (API Application Programming Interface), napisano kompletno u JavaScript-u. Njegova svrha je kreiranje web aplikacija za prikaz i manipuliranje kartama. OpenLayers također pruža podršku za korištenje brojnih (standardiziranih) izvora podataka kao što su: OGC WMS, OGC WFS, GeoRSS, ka-map i mnogi drugi. Svi ti formati su integrirani u OpenLayers kao zasebni slojevi. U veljači 2005. godine je objavljen prostorni servis Google Maps, a u lipnju iste godine je objavljen Google Maps API. Mogućnost komercijalne implementacije Google Maps API nije postojala. Svjesni tog nedostatka, američka tvrtka MetaCarta je razvila prvi prototip OpenLayers-a koji je predstavljen krajem lipnja 2005. godine. Godinu dana kasnije je objavljena prva verzija (1.0) OpenLayers-a. U kolovozu 2006. je objavljena druga verzija. Ta verzija je ušla u inkubacijski proces OSGeo zaklade i uspješno je ušla u tu zakladu u studenom 2007. godine. Paralelno s tim procesom se radilo na integraciji OpenLayers-a u druge besplatne prostorne web aplikacije kao što su ka-map, Mapbuilder i Mapbender. Osnovni elementi karte generirane pomoću OpenLayers-a jesu (Slika 20): glavna karta (engl. main map): osnovna komponenta aplikacije. Prikazuje prostorne podatke, bilo u vektorskom ili rasterskom obliku. pregledna karta (engl. overview map): prikazuje glavnu kartu i trenutačno zumirani dio prikazuje crvenim pravokutnikom. Služi za lakšu navigaciju na karti. traka za pomicanje i promjenu razine uvećanja (engl. pan/zoom bar): prikazuje strelice za pomicanje po karti i klizač za mijenjanje razine uvećanja. pregled slojeva (engl. layer overview): prikazuje sve dostupne slojeve i prikazuje koji su slojevi isključeni, odnosno uključeni.

38 Slika 20: Komponente karte generirane pomoću OpenLayers-a (Schütze 2007) Zbog objektne orijentiranosti OpenLayers-a, čitavo sučelje je smješteno u jednu datoteku koja se prilikom korištenja mora uključiti u zaglavlju web stranica. Ta datoteka je podijeljena u mnoštvo klasa. Glavne klase će biti objašnjene u nastavku. OpenLayers.Map (Slika 21) je glavna klasa OpenLayers API-ja. Ona generira glavnu kartu aplikacije i pruža brojne metode za upravljanje prikazom karte, uključujući prikaz slojeva, zumiranje, pomicanje i dr. OpenLayers.Layer (Slika 21): Sloj predstavlja najznačajniju komponentu OpenLayers-a. Svi prikazi karte su zasnovani na klasi Layer. Već smo spomenuli da je svaki izvor podataka prikazan kao zaseban sloj. Klasa Layer ima nekoliko potklasa od kojih su neke: Mapserver, KaMap, TMS, WMS, Google, Yahoo i dr. OpenLayers.Control: Upravljački elementi OpenLayers-a su elementi povezani s navigacijom karte, kao i oni za prikaz informacija (npr. mjerilo). Klasa Control je roditeljska klasa svim drugim upravljačkim potklasama. o OpenLayers.Control.PanZoomBar: generira traku za zumiranje i pomicanje po karti. o OpenLayers.Control.OverviewMap: generira malu preglednu kartu. OpenLayers.Bounds: Generira pravokutno područje (engl. bounding box) koje definira krajnje koordinate karte.

39 Slika 21: Dio UML dijagrama OpenLayers-a Objasnit ćemo sada postupak implementacije OpenLayers-a u web stranicu. Preduvjet je da imamo već definirane izvore podataka iz kojih ćemo generirati kartu. Zatim u zaglavlju web stranice učitamo OpenLayers i definiramo funkciju koja će prikazivati kartu. U tijelu web stranice pozovemo tu funkciju i karta će biti prikazana na web stranici. U nastavku je dana struktura jedne html datoteke, bez konkretnih parametara. <html> <head> <script src="http://naziv_servera/openlayers.js" type="text/javascript"></script> <script type="text/javascript"> var map; function init() { map = new OpenLayers.Map('map', options); // definicija slojeva kc = new OpenLayers.Layer.WMS( ); map.addcontrol(new OpenLayers.Control.Navigation()); } </script> </head>

<!-- karta se učitava kada se učita stranica --> 40 <body onload="init()"> <div id=map></div> </body> </html>

41 5. Izrada web sučelja za preuzimanje podataka katastra Konačni rezultat praktičnog dijela ovog diplomskog rada je web sučelje za preuzimanje podataka katastra (Slika 22). Ovo sučelje omogućava pregled i preuzimanje podataka o katastarskim česticama i građevinama koje se nalaze u tri katastarske općine: Glembajevi (9996) Šuma Striborova Stara (9997), Šuma Striborova (9998). Ove katastarske općine su imaginarne općine koje se koriste na Katedri za upravljanje prostornim informacijama Geodetskog fakulteta u Zagrebu za primjere kod izvođenja nastave. Imenima katastarskih općina pridruženi su i njihovi matični brojevi (to su brojevi u zagradi pokraj imena katastarske općine). Slika 22: Početna stranica web sučelja Inicijalni podaci koji su bili zadani kod preuzimanja teme diplomskog rada su bili tri shape datoteke, odnosno za svaku katastarsku općinu jedna shape datoteka.

Te podatke je bilo potrebno na neki način uvesti (engl. import) u PostgreSQL bazu podataka. Aplikacija pomoću koje je to ostvareno je Quantum GIS ili skraćeno QGIS (Slika 23). QGIS je open-source aplikacija koja sadrži mnogo GIS detalja i operacija. Jedna od glavnih karakteristika QGIS-a jest mogućnost konverzije između različitih, uglavnom otvorenih formata datoteka. QGIS sadrži dodatak SPIT (Shapefile to PostgreSQL/PostGIS Import Tool) koji je korišten pri izradi ovog rada. Taj dodatak služi za konverziju informacija koje sadrži shape datoteka u PostgreSQL/PostGIS bazu podataka. 42 5.1. Model podataka Slika 23: Quantum GIS Osnovu za izradu ovog projekta predstavlja model podataka. Korišteni model je objektno-relacijski model. Model podataka (Slika 24) se sastoji od dvije tablice. Svaka tablica sadrži informacije o jednom entitetu, katastarskoj čestici i građevini.

43 Slika 24: Model podataka Prilikom definiranja metapodataka za bazu podataka u tablici geometry_columns nismo definirali referentni sustav (u stupac srid smo upisali -1). Razlog tome leži u činjenici da je bilo kasnije određenih problema kod prikaza karte pomoću Geoserver-a, odnosno OpenLayers-a. Zato smo definirali referentni sustav u Geoserveru kod podešavanja objektnih klasa. 5.2. Web sučelje Postupkom opisanim u poglavlju 4.3.1 smo podesili Geoserver kako bi mogao posluživati podatke te izradili web sučelje pomoću PHP-a i OpenLayers-a. Boje u kojima su prikazani slojevi katastarska čestica i izgrađeno zemljište su usklađene sa specifikacijama Državne geodetske uprave Verzije programskih jezika i programskih paketa koji su korišteni prilikom izrade ovog web sučelja su: XHTML 1.0/CSS 2.1 PHP 5.2.6, Apache 2.2.10, PostgreSQL 8.3, PostGIS 1.3.4, Geoserver 1.7.4, OpenLayers 2.7. Web sučelje je izrađeno na način da se na početnoj stranici, početni prikaz svih katastarskih općina generira dinamički. Prije nego se stranica učita, PHP skripta šalje upit bazi podataka i kao rezultat dobijemo minimalne i maksimalne koordinate, drugim riječima tražili smo bounding box. Popis katastarskih općina se također generira dinamički tako da se isto šalje upit bazi podataka i traže se svi različiti nazivi katastarskih općina. Time je omogućeno da se prikažu i neki podaci koji se kasnije budu dodavali, pod pretpostavkom da model podatka ostane isti.

Katastarske čestice možemo pretraživati samo po broju čestice. Postupak pretraživanja je sljedeći: upišemo broj katastarske čestice, odaberemo katastarsku općinu, odaberemo koje slojeve želimo prikazati i pritisnemo tipku Potvrdi (Slika 25). Tipka Osvježi uzrokuje da se resetira prikaz na karti, odnosno dobijemo prikaz svih katastarskih općina (Slika 22). 44 Slika 25: Rezultati upita za katastarsku česticu Podaci o katastarskoj čestici koje možemo pročitati su: ime katastarske općine, broj tražene katastarske čestice, broj zemljišnoknjižnog uloška, službena površina koja piše u bazi podataka, tehnička površina izračunata iz koordinata lomnih točaka katastarske čestice i razlika tih dviju površina.

Osim toga, mogu se preuzeti i neke datoteke za traženu katastarsku česticu: 45 Geography Markup Language (GML), Shapefile (zip arhiva): Shapefile je u zip arhivi zbog toga što ga ne čini samo jedna datoteka. Datoteka s ekstenzijom shp sadrži informacije o geometriji objekta,.dbf datoteka sadrži opisne podatke,.idx datoteka sadrži indeks dbf datoteke i shx datoteka sadrži indeks shp datoteke, Portable Network Graphics (PNG), Portable Document Format (PDF), Geographic Javascript Object Notation (GeoJSON): relativno novi format. Sadrži informacije o prostornim objektima napisane JavaScript sintaksom, u obliku polja i objekata. Kada postavimo upit bazi podataka za katastarsku česticu koja ne postoji, tada se izvršava novi upit koji koristi umjesto operatora =, operator LIKE (Slika 26). Pogledajmo primjer. Prvi upit se izvršava kada pritisnemo tipku Potvrdi. SELECT broj, zkul, povrsina, naziv_ko, ST_Area(kc_geom) as geom FROM katastarska_cestica WHERE broj = '1000' AND naziv_ko = 'Glembajevi (9996)' Ako ne postoji niti jedna katastarska čestica s tim brojem u odabranoj općini, izvršava se sljedeći upit i ispisuju se mogući prijedlozi. SELECT broj, naziv_ko FROM katastarska_cestica WHERE broj LIKE '1000%' ORDER BY broj ASC

46 Slika 26: Katastarska čestica ne postoji u bazi podataka Ako prilikom postavljanja upita u popisu slojeva odaberemo prikaz izgrađenog zemljišta dobit ćemo ispis podataka i za katastarsku česticu i za izgrađeno zemljište ukoliko ono postoji na toj katastarskoj čestici. Osim toga, na karti će biti prikazan sloj izgrađeno zemljište (Slika 27). Podaci koje možemo pročitati za izgrađeno zemljište jesu: vrsta građevine, broj katastarske čestice na kojoj se nalazi i u kojoj katastarskoj općini. I za izgrađeno zemljište možemo preuzeti datoteke u već prije navedenim formatima.

47 Slika 27: Prikaz katastarske čestice i izgrađenog zemljišta Ukoliko odaberemo prilikom postavljanja upita sloj izgrađeno zemljište, a na katastarskoj čestici ne postoji izgrađeno zemljište ispisuje se poruka koja nas upozorava da na traženoj katastarskoj čestici nema izgrađenog zemljišta (Slika 28).

48 Slika 28: Na katastarskoj čestici ne postoji građevina 5.3. Sadržaj priloženog medija (CD-a, DVD-a) Na priloženom mediju pohranjeni su podaci korišteni pri izradi diplomskog rada i svi postignuti rezultati. Logički su organizirani prema smislu (Tablica 2). Tablica 2: Sadržaj priloženog medija RB. Mapa/ Datoteka Sadržaj 1 2 3 1. svranic_diplomski.doc Tekst diplomskog rada 2. podaci/shapefiles/katastarska_cestica.dbf 3. podaci/shapefiles/katastarska_cestica.idx 4. podaci/shapefiles/katastarska_cestica.shp Datoteka s atributnim podacima za objekt katastarska_cestica. Indeks gore navedene datoteke. Shape format koji sadrži samu geometriju objekta katastarska_cestica.