VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS
GIS SYSTÉM PRO OBEC
BAKALÁŘSKÁ PRÁCE BACHELOR´S THESIS
AUTOR PRÁCE AUTHOR
BRNO 2008
Hana Vrzáková
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS
GIS SYSTÉM PRO OBEC GIS SYSTEM FOR CITY
BAKALÁŘSKÁ PRÁCE BACHELOR´S THESIS
AUTOR PRÁCE
Hana Vrzáková
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR
BRNO 2008
Ing. Martin Hrubý, Ph.D.
Abstrakt Tato bakalářská práce se zabývá studiem geografických informačních systémů, jejich používaných standardů a možností využití. Dále se zaměřuje na požadavky a návrhy ze strany městské části BrnoJundrov, ve snaze definovat a zobecnit je na libovolnou obec. Výsledný produkt by měl pak představovat návrh univerzálního řešení prezentace obce s dalšími možnostmi rozšíření. K těmto účelům a realizaci byla zvolena cesta volně šiřitelných nástrojů, především pak pomocí aplikací UMN Mapserver, GRASS a PostGIS.
Klíčová slova GIS, UMN Mapserver, GRASS, PostGIS
Abstract The bachelor thesis contains the study of geographical information systems, their standard usage and opportunities of technology. The city presentation's requirement and suggestion were investigated in order to make the generale definition of city's needs. The final application should present a universal solution for cities with extention's possibilities. The open-source tools were used for realisation, particularly the UMN Mapserver, GRASS and PostGIS.
Keywords GIS, UMN Mapserver, GRASS, PostGIS
Citace Hana Vrzáková: GIS systém pro obec, bakalářská práce, Brno, FIT VUT v Brně, 2008
GIS pro obec Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracovala samostatně pod vedením Ing. M. Hrubého, Ph. D. Další informace mi poskytli H. Fasurová - Obor územního plánování, D. Glossová a V. Jágerová Obor informatiky magistrátu města Brna. Uvedla jsem všechny literární prameny a publikace, ze kterých jsem čerpala.
…………………… Hana Vrzáková 14.5.2008
Poděkování Vedoucímu bakalářské práce, starostovi městské části Brno - Jundrov a Magistrátu města Brna za poskytnutí vstupních dat.
© Hana Vrzáková, 2008. Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.
Obsah Obsah..................................................................................................................................................... 1 1 Úvod.................................................................................................................................................... 3 2 Geografické informační systémy......................................................................................................... 4 2.1 Vymezení základních pojmů........................................................................................................ 4 2.1.1 Geoobjekt a geodata.............................................................................................................. 4 2.1.2 S-JTSK.................................................................................................................................. 4 2.2 Základní principy......................................................................................................................... 5 2.2.1 Mapové vrstvy...................................................................................................................... 5 2.2.2 Absolutní a relativní prostor................................................................................................. 5 3 Použité nástroje................................................................................................................................... 6 3.1 UMN Mapserver.......................................................................................................................... 6 3.2 GRASS........................................................................................................................................ 6 3.3 PostGIS........................................................................................................................................ 6 3.4 PHP/Mapscript............................................................................................................................. 7 4 Zpracování dat .................................................................................................................................... 8 4.1 OgrInfo......................................................................................................................................... 8 4.2 Ogr2Ogr....................................................................................................................................... 9 4.3 Shp2Pgsql.................................................................................................................................... 9 5 Návrh systému................................................................................................................................... 10 5.1 Studie existujících GIS............................................................................................................... 10 5.2 Studie potřeb obce...................................................................................................................... 11 5.3 Use-case diagram....................................................................................................................... 12 5.4 ER-diagram................................................................................................................................ 13 6 Popis implementace........................................................................................................................... 14 6.1 Mapfile....................................................................................................................................... 14 6.1.1 MAP.................................................................................................................................... 14 6.1.2 WEB a režimy zobrazení.................................................................................................... 14 6.1.3 LAYER............................................................................................................................... 15 6.1.4 SYMBOL............................................................................................................................ 16 6.1.5 SCALEBAR, LEGEND, REFERENCE............................................................................. 17 6.1.6 Databázové dotazy.............................................................................................................. 19 6.2 Popis rozhraní............................................................................................................................. 20 6.2.1 Generování mapového výstupu a ovládací prvky............................................................... 21 1
6.2.2 Uživatelská sekce................................................................................................................ 21 6.2.3 Administrátorská sekce....................................................................................................... 22 7 Popis instalace................................................................................................................................... 23 7.1 UMN Mapserver........................................................................................................................ 23 7.2 PostGIS...................................................................................................................................... 23 7.3 Webová aplikace........................................................................................................................ 24 8 Závěr.................................................................................................................................................. 25 Literatura............................................................................................................................................. 26 Seznam příloh...................................................................................................................................... 27 Obrázky............................................................................................................................................... 28
2
1
Úvod
Touha člověka vyjádřit své myšlenky prodělala od počátku rozvoje lidské inteligence strastiplnou cestu, která zdaleka ještě neskončila. Mezi její dílčí úspěchy lze s jistotou zařadit kresby v jeskyni Lascaux a následně rozvoj písma, což ve spojení s lidskou zvědavostí a snahou vrátit se domů dává solidní základ a motivaci pro tvorbu map. Základní funkcí mapy bylo poskytnout člověku zmenšený prostorový náhled a představu o jeho pozici ve světě kolem něj. Společně s rozvojem obchodu, který prolíná lidskou zvědavost a snahu neztratit se po cestě, zaznamenala rozvoj také kartografie. Mapy se stávají propracovanější nejenom po stránce grafického zobrazení reality, ale také i z pohledu atributů, tedy potřebných údajů vztažených k dané lokalitě, například Hīc sunt leōnēs. V průběhu staletí se kartografický um zdokonaloval až do střetu se světem technologie počítačů, jenž minimalizoval omezení daná lidským faktorem a zavedl do světa map strojovou přesnost. Naskytla se logická otázka: "A co bude dál?" a stejně tak se vynořila logická odpověď: "Budiž GIS." Geografický informační systém, neboli GIS, vrhá uživatel zpět do pravěkých jeskyní s tím zásadním rozdílem, že do rukou se mu vkládá nástroje pro tvorbu daleko přesnějších mapových náhledů a zároveň mu dovoluje realizovat své vize o důležitosti informace. Vzniká tak kompromis mezi kartografem, tedy odborníkem s uměleckým cítěním pro věc, a člověkem Cromagnonským. Výsledný produkt snažení sice nebude mít dokonalost, jíž by dosáhl tvůrce mapy, na druhou stranu však nižší propracovanost v detailech umožňuje dát vyniknout jevům v oblasti zájmu daného jedince. Podobně jako počítače prošly vývojem od velkých sálových strojů směrem ke člověku v podobě osobních technických hraček, udělaly také mapy krok blíže k člověku. Cílem této práce je studie GISů z pohledu obecného, tedy na jakým principech funguje, stejně tak jako z pohledu praktického, tedy již existujících a funkčních systémů. Oblast zájmu se zaměřuje na obce, jakožto potenciální klienty, jež by volili GIS pro nápaditější prezentaci své vesnice, městské čtvrti či města. Na základě studie obvyklých požadavků a potřeb ze strany obce je snahou práce zobecnit takové požadavky pod společné jmenovatele a vytvořit systém, který by se blížil jejich splnění. Následují kapitoly popisují mimo jiné také prostředky určené k těmto záměrům, speciální pozornost je věnována volně šiřitelným nástrojům Minessota Mapserver a PostGIS. Dále je rozebrána problematika standardů a zpracování vstupních dat a samotná implementace jednotlivých částí systému.
3
2
Geografické informační systémy
Přestože GISy spadají mezi elektronické informační systémy a jejich návrh a vývoj podléhá podobným použitým technikám, můžeme u nich najít několik propastných rozdílů, nejvíce ze všeho v zobrazení informací a vstupních datech. Z tohoto důvodu se tato kapitola zabývá teoretickým základem GISů.
2.1
Vymezení základních pojmů
Streit, 1997: GIS je na počítačích založený informační systém pro získávání, obhospodařování, analýzu, modelování a vizualizaci geoinformací. Geodata, která využívá, popisují geometrii, topologii, tématiku (atributy) a dynamiku (změny v čase) geoobjektů.
2.1.1
Geoobjekt a geodata
Za základní kámen GISu se považuje geoobjekt, což se na první pohled může jevit jako jakýkoliv objekt reálného světa, který obsahuje souřadnice v daném souřadnicovém systému. Tento předpoklad je sice správný ale ne zcela úplný. Mezi geoobjekty řadíme i objekty "pro člověka nehmatatelné", statistky vztažené k lokalitě jako například míra hluku a prašnosti, záplavová území či úhyn veverek popelavých za posledních pět let. Ze Streitovi definice vyplývá, že geoobjekt nutně musí zahrnovat prostorovou informaci o poloze objektu, dále neprostorovou informaci, která blíže určuje vlastnosti a typ daného objektu a v neposlední řadě jednoznačnou identifikaci, protože jedna souřadnice může zobrazovat několik jevů a geoobjektů, nelze tedy předpokládat, že budou jedinečné v rámci množiny geoobjektů. Dle definice by měl geoobjekt zahrnovat i časový údaj o objektu, což má využití a smysl, v případě že systém je určen ke sledování změn a vývoje v dané lokalitě. Pro potřeby obce tento údaj nemá upotřebení, omezíme se tedy na konstatování času, ke kterému byl systém implementován.
2.1.2
S-JTSK
Každý geoobjekt, má-li zobrazovat realitu ve dvou dimenzionálním mapovém náhledu co nejvěrněji, musí nutně podlehnout projekci do souřadného systému. Existuje nemalý počet takových systémů, leč jejich základní dělení rozlišuje souřadné systémy globální a národní. Souřadnicový systém Jednotné trigonometrické sítě katastrální, neboli S-JTSK, je systémem národním a v rámci území České a Slovenské republiky umožňuje velmi přesné zobrazení, z tohoto důvodu je použito také 4
v této práci. S-JTSK je definovaný ve vlastním zobrazení - Křovákově zobrazením, které navrhl za první republiky Ing. Josef Křovák v rámci geodetických prací.
2.2
Základní principy
Jak již bylo řečeno, GIS se od klasických informačních systémů (například internetový obchod, podnikový systém a jiné) liší ve vstupních datech a jejich zobrazení. Tato kapitola se zabývá principem zobrazení dat v GISech.
2.2.1
Mapové vrstvy
Způsob fungování GISu lze zajisté exaktně a vědecky definovat, každopádně princip lze naprosto jednoduše pochopit při pohledu na takřka historický nástroj - meotar. GIS podobně jako meotar vytváří celkový obraz z oddělených částí - mapových vrstev, které skládá na sebe a následně zobrazí. Rozdělení dat na tématické celky, například. vodstvo, silnice, lesy a obydlí, se může jevit na první pohled zbytečné, když ve výsledku stejně vznikne komplexní náhled, na druhý pohled však se nám do rukou dostává nástroj pro tvorbu a prolínání libovolných mapových náhledů (například úhyn již zmíněných veverek v závislosti na výskytu silnic a dálnic)
2.2.2
Absolutní a relativní prostor
Při práci s mapovými vrstvami dále uvažujeme způsob náhledu na lokalitu, kterou chceme zobrazit. První přístup nahlíží na zobrazovaný prostor absolutně, tedy jasně vymezuje ohraničení zobrazovaného prostoru. Na tomto principu pracují rastrové vrstvy, kdy se obraz skládá z mozaiky buněk, často velikostně identických, nesoucích hodnotu atributu. Rastrové vrstvy se obvykle používají při modelování spojitých jevů jako například výškového modelu či míry prašnosti a jejich představitelem mezi formáty může být například GeoTIFF, PNG nebo GIF. Druhý přístup představuje pravý opak, tedy prostor vnímáme jako množinu objektů s prostorovou polohou, které jsou v jisté závislosti. Tento přístup podporují vektorové vrstvy a typickým představitelem formátu může být ESRI Shapefile nebo DGN. Základním vektorovým elementem je bod, který obsahuje pouze svou souřadnici. Spojením dvou bodů vzniká objekt linie a ohraničením plochy kolem bodu (centroidu) vzniká objekt polygon. Tyto 3 základní typy objektů určují typ vektorové vrstvy a způsob uložení informace. Intuitivně jsou pak například řeky uloženy jako linie, pouliční osvětlení jako body a parcely pozemků jako vrstva polygonů.
5
3
Použité nástroje
3.1
UMN Map Server
UMN Map Server je volně šiřitelné propracované prostředí pro vývoj webových aplikací, které pracují s prostorovými daty. Program vznikl jako školní projekt minessotské university, který se uchytil a dále rozšiřuje. Vytváří se tak úctyhodný soupeř komerčním produktům. Map Server pracuje s konfiguračním souborem, který specifikuje vlastnosti vložené mapové vrstvy a dále umožňuje několik přístupů jak s tímto konfiguračním souborem pracovat. Server poskytuje CGI-proměnné, za které dosadí potřebné parametry vrstev a vygeneruje mapový náhled. Jedná se o jednoduchý a rychlý způsob vytvoření mapového výstupu společně s dalšími prvky jako je legenda, měřítko a referenční mapa. Druhým přístup využívá Mapscript - skriptovací doplněk Map Serveru, který je založen na skriptovacích jazycích - v této práci bude použit společně s jazykem PHP. Díky Mapscriptu je možné dynamicky měnit konfigurační soubor, různě editovat jednotlivé vrstvy a ukládat. Dynamické generování stránek se pak postará o aktualizaci seznamu vrstev, legendy a výstupu všeobecně.
3.2
GRASS
GRASS představuje alma mater otevřených GIS projektů. Tento produkt byl vyvíjen v rámci armádního programu a v 80. letech uvolněn pro širší veřejnost. Jelikož licence umožňuje přístup a manipulaci se zdrojovými soubory programu, zastřešuje GRASS velké množství doplňků, jejichž počet se neustále vzrůstá. Nástroj zahrnuje základní funkcionalitu pro správu mapových vrstev, jako je editace, vytváření a další datové manipulace, a rozšířené funkce pro transport výstupů do grafických formátů, nastavení pro webové aplikace či prezentaci dat. GRASS sice obsahuje grafické rozhraní, ale to není hlavním cílem vývoje, proto alternativou může být použití "prohlížečky map" nástroje QGIS, který uživatelsky přívětivější a pro rychlé náhledy naprosto postačující.
3.3
PostGIS
Způsob uložení v GISu může znamenat různou schopnost přístupu a manipulace s daty. Mapserver podporuje jak uložení v souborech tak uložení v databázi, takže je pouze na tvůrci který způsob
6
použije. V případě, že vstupní mapové vrstvy pouze zobrazujeme a případně mezi nimi přepínáme, stojí za úvahu ponechat mapové vrstvy v souborech. Pokud však mapové vrstvy tvoří pouze základ a cílem systému je zobrazení výběrů dle vstupních podmínek, pak lze využít schopnosti databázových systémů. PostGIS je nástavbou nad objektově orientovaným databázovým systémem PosgreSQL a díky vestavěným funkcím umožňuje práci nad prostorovými daty. PostGIS představuje volně dostupné prostředí oproti komerčním konkurentům ESRI SDE nebo Oracle s prostorovým rozšířením.
3.4
PHP/Mapscript
Jazyk PHP je volně šiřitelný skriptovací jazyk určený především pro tvorbu webových aplikací, jehož účelem je především realizace programů na straně serveru. Syntaxe se inspirovala jazyky C, Java a Perl, což značně zjednodušuje počáteční seznámení s jazykem a chápání kódu. Jazyk se vyvíjí od roku 1996, kdy jeho původní název znamenal "Personal Home Page", a od té doby prošel značnými změnami vedoucími k bezpečnějšímu psaní kódu. Pro tuto práci je PHP základním kamenem, protože v kombinaci s Mapscriptem (skriptovací nástavbou zprostředkovanou Mapserverem) zpracovává stránky s mapovým výstupem, realizuje základní operace pro pohyb po mapě a umožňuje dynamické generování seznamu vrstev. Dále umožňuje přístup k databázi a operace nad ní, což realizuje jak veškeré dotazy na mapové atributy tak věci prosté jako je přihlášení do administrační sekce systému.
7
4
Zpracování dat
Vstupní data pro bakalářskou práci byly předány ve formátu DGN ( Microstation Design Files), což je cadovský formát zapouzdřující všechny datové vrstvy v jednom elementu. Mapserver díky knihovně GDAL/OGR umí zobrazit tento typ formátu, leč pro rozdělení dat do tématických vrstev to není zrovna nejšťastnějším řešením. Z tohoto důvodu vznikla potřeba vyseparovat složky obsažené v jednotlivých souborech. Tato kapitola popisuje volně šiřitelné nástroje pro konverzi dat a následně jejich uložení v databázi.
4.1
OgrInfo
Již bylo řečeno, že formát DGN zapouzdřuje všechna data do jednoho elementu, který je potřeba rozdělit na více vrstev. Pro zjištění typu obsažených vrstev nám slouží další z řady nástrojů knihovny GDAL/OGR - OgrInfo, což je konzolová aplikace s možností volby přepínačů, z nichž jeden z nich se dotazuje právě na typy vektorových objektů uvnitř elementu. Příklad použití: % ogrinfo -ro input.dgn -sql 'select distinct ogr_geometry from elements' INFO: Open of `input.dgn' using driver `DGN' successful. Layer name: elements Geometry: Unknown (any) Feature Count: 1
Layer SRS WKT: (unknown) ogr_geometry: String (0.0) OGRFeature(elements):0 ogr_geometry (String) = LINESTRING OGRFeature(elements):1 ogr_geometry (String) = POLYGON OGRFeature(elements):2 ogr_geometry (String) = POINT
8
Z tohoto výstupu je dobře patrné, že zadaný element obsahuje vrstvu linií, polygonů a bodů, což bude dále využito při samotné konverzi.
4.2
Ogr2Ogr
Pro převod jednoho vektorového formátu na druhý se naskýtá použití Ogr2Ogr sloužící pro konverzi dat mezi formáty. Při základním užití je nutná specifikace vstupu, uložení výstupu a výstupní formát, další parametry určují například námi požadovaný typ objektu, který má výsledná vrstva obsahovat. Příklad použití: % ogr2ogr output_point.shp input.dgn -where 'ogr_geometry = "POINT"' % ogr2ogr output_line.shp input.dgn -where 'ogr_geometry = "LINESTRING"' % ogr2ogr output_poly.shp input.dgn -where 'ogr_geometry = "POLYGON"'
Krom rychlého zpracování nástroj Ogr2Ogr přenese i veškeré atributy, které obsahoval původní DGN soubor, takže není potřeba dalších zásahů do atributové tabulky.
4.3
Shp2pgsql
Shp2pgsql uzavírá trojici konzolových nástrojů použitých při převodech formátů. Tento nástroj uživateli umožňuje elegantní a jednoduchý převod a transport mapové vrstvy ve formátu shapefile do SQL tabulky. Krom přímého uložení také disponuje možností vytvořit sql skript, který je vhodný při inicializaci databáze a náplni tabulek. Díky přepínačům lze oddělit vytvoření tabulek, což je časově krátký proces, od jejich náplně, které vzhledem k množství dat může spotřebovat daleko více času. Příklad použití: shp2pgsql -p center_line.shp umps_line > umps_line_templ.sql shp2pgsql -a center_line.shp umps_line > center_line_cont.sql shp2pgsql -a sur_linestring.shp umps_line> sur_line_cont.sql
Na příkladě je demonstrováno vytvoření tabulky umps_line obsahujících informace ze dvou shapefilů, které tématicky popisovaly stejný jev na dvou územích, jež spolu sousedily. Vznikla tak jedna celistvá vrstva.
9
5
Návrh systému
Návrh systému zahrnuje studium již existujících systémů měst a obcí, dále potřeb obce, následně návrh tématických vrstev a volbu jejich uložení a v neposlední řadě také návrh funkcionality uživatelského rozhraní v podobě use-case diagramu.
5.1
Studium existujících GISů
Geografické informační systémy jsou relativně mladou technologií, jež se dostává do obecného povědomí pozvolna, leč i přes tento fakt si nemálo měst nechalo vytvořit svůj GIS. Právě díky počínajícímu zájmu a experimentování na straně uživatele představují GISy vhodný materiál k prostudování, jelikož v sobě snoubí požadavky zákazníka a určitý standard aplikace, který se stihl za tu krátkou dobu vytvořit. V rámci průzkumu různých systémů jsem se potkala se škálou projektů na různé úrovni propracovanosti. Velmi komplexní řešení GISu zvolilo město Plzeň, jenž uživateli poskytuje systém rozdělený do čtyř tématických celků - doprava, turistika, státní správa a služby. Každý z "podGISů" se zaměřuje na svou oblast zájmu s patřičnými podklady. Krom standardní funkce zobrazení různých vrstev nabízí GIS také aplikaci pro plánování tras výletů po městě s využitím cyklostezek a naučných stezek a také zobrazení aktualit (slavností) vztažených k místům konání. Cenou za velké množství informací ke spokojenosti klienta bývá (k jeho věčné nespokojenosti) přenos velkého množství dat, které za normálních okolností trvá trochu déle, v případě pomalejšího přípojení může čekací doba připomínat věčnost. Město Český Těšín, které si nechalo zpracovat GIS pro město a přilehlé okolí, ukazuje základní "balíček" funkcí zprostředkovávaných GISem. Tento systém si klade za cíl zobrazení základních informací, jako jsou hranice okresů, měst a vesnic, názvy ulic a čísel popisných - to vše s možností zobrazení na podkladu ortofotomapy nebo bloků parcel. Vzniká tak mapa, jejíž hlavním užitkem je interaktivní přístup k náhledu do katastrální mapy a vyhledávání adres, každopádně z pohledu možností, jimiž GISy disponují, má toto řešení ještě rezervy a je připraveno na další rozšiřování. Kompromisem mezi uvedenými dvěma stavy představuje GIS města Třebíč, který sice prezentuje obsahově stejné mapové vrstvy jako město Těšín, každopádně přibývá několik informačně odlišných vrstev - mapa veřejné zeleně, mapa výběhů pro psy a místa výskytů kontejnerů. Tyto mapové výstupy se mohou jevit pro nezaujatého pozorovatele možná humorně až zbytečně, leč na pohled druhý představuj zrcadlový odraz potřeb a požadavků klienta a pro danou lokalitu obvykle nesou patřičný význam.
10
5.2
Studium potřeb obce
Jak bylo zmíněno, GIS spadá pod relativně novou a veřejnosti neznámou technologii, která navíc trpí na již existující a fungující aplikace elektronických map. Není divu, že si potenciální zákazník velmi těžko dovede představit, co by jeho GIS o jeho městě nebo obci měl zobrazovat, když už přece na "internetových mapách" dávno je . Velkým přínosem pro tento projekt byla možnost spolupráce se starostou městské části BrnoJundrov, který věnoval svůj čas a vžil se do role klienta, jakožto zadavatele práce. Společným úsilím tak vznikl návrh tématických mapových vrstev zajímavých jak pro obec a její obyvatele, tak i pro potenciálního turistu. Návrh předpokládá 4 tématické skupiny vrstev - důležité budovy, rekreace, doprava a služby. Skupina "důležité budovy" představuje základní informační tabuli obce a graficky znázorňuje polohu městského úřadu, pošty, lékárny, stejně jako škol a školek. Atributy těchto míst by měly zahrnovat telefonní kontakty, odkazy na internetové stránky, případně otevírací dobu. Skupina "rekreace" jak už název napovídá seznamuje uživatele s možnostmi volnočasových aktivit v dané obci. V případě Jundrova do tohoto tématu spadají různá sportoviště, jako jsou tenisové kurty, kluziště či bazén. Mezi těmito vrstvami by se měla objevit i mapa turistických stezek případně cyklostezek, či historických památek, pokud jimi obec disponuje. Po dlouhé úvaze byly hospody a ostatní gastronomická zařízení přesunuty do skupiny "služby", protože ač splňují myšlenku rekreačních účelů, jejich princip se blíží více druhému tématu. Vrstvy "dopravy" zahrnují mapové náhledy tras a zastávek městské hromadné dopravy, potenciálně volné parkovací plochy, což může být v době přemíry aut atraktivní informací, a dále také nestandardní rychlostní omezení, například v okolí škol, kde se rychlost snížila na 30km/hod. Poslední tématickou skupinu tvoří služby, kam spadají již zmiňovaná gastronomická zařízení, ale také představitelé různých cechů, například instalatéři, holiči, ševci či zvěrolékaři. Cílem experimentu je přenést tento typ informací do grafické člověku lépe pochopitelné podoby. Dalším možná rozšíření pro obec mohou představovat mapové vrstvy záplavových území, pakliže do něj obec spadá, nebo vrstvy prašnosti a hluku jakožto výsledek polohy blízko pozemní komunikace. Rozhodně zajímavým rozšířením by byla vrstva barevně odlišující vznik nových budov v průběhu let jakožto pohled, kterak se obec rozrůstá.
11
5.3
Use - case diagram
12
5.4
Návrh databáze
Databáze v této práci představuje především úložný prostor pro zpracování a manipulaci s prostorovými daty prostřednictvím funkcí PostGIS. Další využití skýtá tabulka s údaji uživatelů, jež se podílí na modifikaci neprostorových údajů daných vrstev, a následně tabulky atributů jednotlivých vrstev, které se liší v parametru "další údaje" v závislosti na typu vrstvy. Tomuto návrhu odpovídá jednoduchý ER diagram.
13
6
Popis implementace
6.1
Mapfile
Mapfile, neboli konfigurační soubor Mapserveru, je základním kamenem celé aplikace. V tomto souboru se definují veškeré prvky celkového mapového výstupu, tedy jednotlivé vrstvy, legenda, referenční mapa či měřítko. Každému prvku mapfile definuje objekt s jasnou strukturou parametrů, které umožňují měnit vzhled a povahu daného prvku. Tato kapitola popisuje základní objekty mapfilu a jejich parametry.
6.1.1
MAP
Objekt MAP představuje obálku pro všechny ostatní objekty mapfilu, v celém konfiguračním souboru se může nacházet pouze jeden a představuje funkci main() v klasickém programu. Parametry definované v tomto objektu jsou vzorem pro všechny ostatní a není nutno je nadále definovat v nastavení vrstev, pokud to explicitně nevyžadujeme. V tomto objektu jsou krom jména mapy (NAME) definovány souřadnice zobrazované oblasti (EXTENT), rozlišení (SIZE), formát (IMAGETYPE) a barva pozadí mapového výstupu (IMAGECOLOR). Dále je potřeba uvést cesty k souborům mapových vrstev (SHAPEFILE), nepovinně i k souborům s použitými fonty a symboly (FONTSET, SYMBOLSET). MAP NAME
MAPA
EXTENT
16.5246 49.1975 16.569 49.2217
SIZE
800 600
IMAGETYPE
PNG
IMAGECOLOR
000
SHAPEPATH
"/var/mapservdata/data/"
FONTSET
"/var/mapservdata/font.list"
SYMBOLSET
"/var/mapservdata/symbol.sym"
END
6.1.2
WEB a režimy zobrazení
Mapserver po zpracování mapfilu umožňuje několik režimů zobrazení, za zmínku stojí výchozí tři, tedy "map", "browse" a "query". Každý z těchto módů určuje jiný způsob chování mapového výstupu.
14
V případě režimu "map" je výstupem statický obrázek mapy, který na další akce ze strany uživatele nereaguje. Mód "browse" umožňuje prohlížení mapového výřezu a další operace nad tímto výstupem, například pohyb po mapě, zvětšení a zmenšení oblasti. Tyto úkony již probíhají nad uživatelským rozhraním, které specifikuje tzv. šablona. Šablona představuje stránku, do které Mapserver vždy doplní mapu zpracovanou podle požadavku uživatele. Objekt WEB uvádí cestu k této šabloně (TEMPLATE), cestu k adresáři s dočasnými soubory vytvářených při výpočtech, ( IMAGEPATH) a URL, ze které bude Mapserver načítat mapové výstupy (IMAGEURL). Režim "query" pak rozšiřuje funkcionalitu předchozího módu o schopnost výpisu informací a atributů. Pokud tedy zobrazovaná vrstva umožňuje dotazování na její parametry, vytváří se při požadavku nová stránka s patřičnými informacemi. Vzhled této stránku lze opět definovat šablonově, tentokrát se definuje "všechno kolem" daných informací - tedy šablona pro hlavičku (HEADER) a patičku (FOOTER). Příklad: WEB TEMPLATE
"/var/www/mapserver/template_index.php"
HEADER
"/var/www/mapserver/template_header.php"
FOOTER
"/var/www/mapserver/template_footer.php"
IMAGEPATH
"/var/www/mapserver/temp/"
IMAGEURL
"/mapserver/temp/"
END
6.1.3
LAYER
Jak už název napovídá, objekt LAYER definuje nastavení jednotlivých vrstev obsažených v mapovém výstupu. Ještě před popisem parametrů a jejich vlastností je nutno zmínit způsob zpracování vrstev v mapfilu. V tomto případě se zobrazuji jednotlivé vrstvy v opacnem pořadí, nez v jakém jsou uvedeny v konfiguračním souboru. Z tohoto důvodu se rastrové a polygonové vrstvy definují jako první, protože tvoří pozadí mapy, na které se následně vykreslují obrysy (vrstvy typy LINE) a body (vrstvy typy POINT), jako poslední se definují vrstvy popisků. Při nedodržení tohoto pravidla by jinak vrstvy překryly požadované detaily. Mezi základní parametry vrstvy patří její název (NAME), neboli uživatelem zvolené pojmenování, dále název souboru s obsaženou vrstvou (DATA) a typ (TYPE). V případě vektorových vrstev obsahuje proměnná TYPE hodnotu dle objektů vrstvy (POINT, LINE, POLYOGON), rastrové vrstvy žádné takové dělení nezahrnují, proto proměnná nabývá hodnoty RASTER. Další hodnoty parametru dovolují definovat vrstvy popisků vložených do mapy (ANNOTATION), grafů (CHARTS) případně výsledků dotazu (QUERY). 15
V rámci obecných informací o vrstvě se obvykle dále uvádí její projekce, do které byla vrstva promítnuta (PROJECTION), a status vrstvy (STATUS), což lze chápat jako výčet vrstev zapnutých při startu aplikace. Každý objekt vrstvy musí zahrnovat alespoň jeden podobjekt CLASS, protože právě zde se udává uživatelsky přívětivější název vrstvy, který se dále zobrazuje například v legendě mapy. Jinak je CLASS obecně použitelný prvek s různorodým využitím. Nejčastěji se v něm definují vizuální vlastnosti vrstvy, kam spadá definice barvy obrysů, výplně a pozadí vrstvy či její průhlednost. Mnohem zajímavější využití objektu CLASS zprostředkovává element EXPRESSION, jenž se využívá při výběru a zdůraznění určitého jevu, daného specifickou hodnotou atributu. Podobnou funkčnost plní například SELECT nad tabulkami databáze. V rámci jedné vrstvy lze rozlišit různé údaje již na úrovni mapfile, což může ušetřit několik dotazů na úrovni uživatelského prostředí. Nepatrnou vadou na kráse se může jevit pořadí vykreslování jednotlivých dotazů, které je přesně obrácené vůči pořadí vykreslování vrstev, což může a je na začátcích lehce matoucí. Příklad: LAYER NAME
mesto
DATA
citycenter_layer
TYPE
POINT
STATUS
DEFAULT
CLASS NAME
"Kláštery Brna"
EXPRESSION ('[NAME]' eq 'klášter']) STYLE COLOR 255 0 0
# klášterní budovy se zobrazí červeně
END END END
6.1.4
SYMBOL
Kartografické značky představují výrazový prostředek, díky kterému se mapa stává čitelnou nezávisle na jazykové vybavenosti uživatele. Toto obrázkové písmo obecně zahrnuje značky bodové, čárové a plošné, dále diagramy a další prostorové vyjadřovací prostředky. V mapfilu lze toto značení nastavit prostřednictvím objektu SYMBOL, který je součástí objektu LAYER. Podle typu objektů obsažených
16
ve vrstvě se pak přizpůsobuje chování symbolů, reps. jejich rozgenerování na ploše daného prostorového objektu. Obecně se bodové značky dělí na geometrické, symbolické, obrázkové a písmenové, zde bude ukázáno vytvoření geometrického symbolu čtverce. Při vkládání symbolu do vrstvy se určuje jeho velikost, obrysová a výplňová barva, což je základní nastavení, které lze rozšířit i o samotnou definici symbolu, každopádně standardem zůstává zahrnout je do externího souboru jehož cestu pak specifikuje objekt MAP-SYMBOLSET. Příklad: STYLE SYMBOL
"ctverec"
SIZE
6
COLOR
255 0 0
OUTLINECOLOR
255 204 0
END
Specifikace symbolu rozlišuje značky vektorové a rastrové, kdy v případě rastrových představuje symbol explicitně zadaný obrázek, jenž dle nastavení vytváří opakující se vzorek nebo je vložen samostatně. Vektorové symboly umožňují vytvořit svůj vzhled pomocí souřadnic vrcholů a nastavením výplně. Příklad: SYMBOL NAME
"ctverec"
TYPE
VECTOR
POINTS 00 01 11 10 00 END FILLED
TRUE
END
V této práci jsou využity geometrické symboly pro základní znázornění bodů, rastrové značení se využilo u významově výrazných objektů jako je například lékárna, rychlostní omezení, či sportoviště.
6.1.5
SCALEBAR, LEGEND, REFERENCE MAP
Poslední zmínka o mapfilu patří objektům pro měřítko, legendu a referenční mapu. Přestože ve výsledku tyto objekty představují takřka kosmetické doplňky ve srovnání s objekty vrstev, jejich 17
existence ve výsledné aplikaci je nezbytná, protože až díky těmto prvkům získává produkt Mapserveru status mapového výstupu. Měřítko mapy umožňuje přepočet vzdáleností na mapě do vzdáleností reálného světa, z tohoto důvodu je nezbytný pro mapový výstup. Objekt SCALEBAR pak definuje nastavení jednotlivých parametrů měřítka, především jednotky (UNITS), intervaly mezi ukázkovými jednotkami (INTERVALS) a samozřejmě rozvržení barev. Zajímavou vlastností disponuje prvek STATUS, jenž rozšiřuje funkčnost o volbu "embedded", kdy výstup prvku bude Mapserverem automaticky zakomponován do výsledné mapy. Příklad: SCALEBAR UNITS KILOMETERS INTERVALS 2 COLOR 255 215 0 IMAGECOLOR 255 255 255 SIZE 200 8 TRANSPARENT TRUE STATUS EMBED LABEL COLOR 255 215 0 SIZE TINY END END
Legenda v klasické mapě plní funkci informační tabule či vysvětlivek, v GISech tomu nebude jinak. Objekt LEGEND obsažený v mapfile dovoluje pouze specifikovat grafický vzhled popisků, průsvitnost legendy a její případně vložení do mapy. Veškeré další informace se přejímají z nastavení vrstev a jejich CLASS. Příklad: LEGEND KEYSIZE 12 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 255 215 0 END STATUS ON TRANSPARENT TRUE END
18
Referenční mapa patří mezi méně známé pojmy, respektive její (ne)existence nemusí být životně důležitá oproti předchozím dvě prvkům. Pro klasickou papírovou mapu plní funkci zmenšeného náhledu na oblast zachycenou v mapě, v GISu je tato funkcionalita rozšířená o příjemnou schopnost pohybovat se po mapě prostřednictvím tohoto náhledu. Objekt REFERENCE definuje cestu ke zmenšenému mapovému náhledu (IMAGE), jež použije jako základ pro referenční mapu, následně jeho rozměry v pixelech (SIZE) a souřadnice které území ohraničují (EXTENT). Parametry MINBOXSIZE a MAXBOXSIZE definují interval tolerance při kliku. Uživatelskou ozdůbkou je pak nastavení značky aktuální pozice na mapě (MARKER). Příklad: REFERENCE IMAGE '/var/www/mapserver/graphics/reference.png' SIZE 150 119 EXTENT 16.5246 49.1975 16.569 49.2217 MINBOXSIZE 10 MAXBOXSIZE 150 COLOR -1 -1 -1 OUTLINECOLOR 255 0 0 MARKERSIZE 8 MARKER 'star' STATUS ON END
6.1.6
Databázové dotazy
Databáze v této práci plní dvojí funkci. Krom uložení a zpracování informací o uživatelích, jež bude popsána v následující kapitole, se do tabulek databáze také načetly prostorová data. Jejich zobrazení v podobně mapových vrstev je součástí nastavení mapfilu a rozdíly oproti klasickým shapefilům jsou nepatrné. Základním rozdílem oproti klasickému přístupu k souborům je typ spojení (CONNECTION) a ustanovení spojení s databází (CONNECTIONTYPE). Jelikož tento proces není nenáročný, tak lze v případě ustáleného přístupu vynutit neukončování spojení s databází (PROCESSING). Zásadní změnou je určení cesty k datům (DATA), kdy se odkazujeme na danou tabulku, konkrétně na sloupec obsahující souřadnice. Právě pod touto položkou lze realizovat konkrétní databázové dotazy s tím, že jejich výsledkem bude mapová vrstva. V rámci výsledné vrstvy lze dále pracovat s výběrem dle hodnot atributů ( EXPRESSION), tak jak tomu je u mapových vrstev obsažených v souborech.
19
Příklad: LAYER NAME
umps_polygon
CONNECTIONTYPE
postgis
CONNECTION
"host=localhost user=postgres password=postgres dbname=gis"
DATA
"the_geom from jundrov_poly USING UNIQUE gid"
TYPE
POLYGON
STATUS
DEFAULT
PROCESSING
"CLOSE_CONNECTION=DEFER"
CLASS NAME
"lavicky"
EXPRESSION
([type]=6)
COLOR
255 0 0
END CLASS NAME
"vsechny polygony"
STYLE COLOR
0 255 0
END END END
6.2
Popis rozhraní
V kapitole zabývající se použitými nástroji byly zmíněny dva přístupy ke generování stránek s mapovým náhledem. CGI proměnné v podobě předpřipravených maker sice tvoří skvělý základ pro tvorbu, leč v případě dynamického systému, který předpokládá zásah ze strany uživatele, je nepříliš silným prostředím. Opačně je tomu u Mapscriptu. Mapscript představuje zrcadlo k mapfilu, jelikož obsahuje objekty a metody adekvátní jednotlivým objektům konfiguračního souboru a de facto umožňuje rozšířit funkčnost již zmíněných CGI maker.
20
6.2.1
Generování mapového výstupu a ovládací prvky
Základním předpokladem rozhraní je zobrazení mapového náhledu společně se základními ovládacími prvky, mezi které patří volba vrstev, pohyb po mapě s možností přiblížení na detail či schopnost dotazování se na atributy vrstev. Objekt konfiguračního parametru MAP (objMap) zpřístupňuje obsah mapfilu a pomocí dalších podobjektů umožňuje načítání jednotlivých parametrů, dále jejich zpracování a vykreslení na výstup. Mezi základní nastavení se řadí konfigurace mapového výstupu z pohledu obrázku, tedy souřadnic daných v pixelech, a z pohledu reálného světa a tedy klasických souřadnic. Oba pohledy jsou využívány, leč každý v jiném směru. Klasickým příkladem může být funkce pro posun a pohyb po mapě, jež buď pomocí postranních tlačítek nebo pomocí clicku na mapě centruje mapový náhled. V tomto případě se využívají pixelové souřadnice a mapový náhled nepředstavuje nic víc než obrázek. Opačně tomu je v případě funkce pro přihlížení a oddálení mapy, která pro tyto úkony přepočítává reálné souřadnice a při vykreslení tyto souřadnice přepisuje. Vhodnou ukázkou tohoto zásadního rozdílu je implementovaná funkce latlon(), která přepočítává souřadnice clicku na souřadnice reálného světa ve formátu šířka-délka a vypisuje je na výstup. Generování seznamu vrstev a jejich statutu pak dovoluje dynamické přidávání a odebírání vrstev, jelikož v cyklu se prochází celý mapfile a přes objekty vrstvy (objLayer) se vytváří menu a ukládají příznaky statusu viditelnosti vrstvy. Poslední základní funkcionalitou je dotazování se na atributy vrstvy v případě, že je tomu vrstva přizpůsobená, což je realizováno pomocí metody objLayer::queryByPoint. Tato metoda porovná souřadnici zadaného vstupu s existujícími souřadnicemi objektů a v případě úspěchu vrací referenci na tento objekt. Pomocí metod lze snadno dolovat potřebné atributy a následně zobrazovat na výstup.
6.2.2
Uživatelská část systému
Tato sekce systému představuje běžné rozhraní informačního systému, jež umožňuje registraci, přihlašování a odhlašování, stejně tak jako editaci osobních údajů uživatele. Tato funkcionalita byla rozšířena o správu pomocí SESSION, jež realizuje automatické odhlášení uživatele po uplynuté době a také rozdílné možnosti role správce a běžného přihlášeného uživatele GISu. V případě klasického uživatele obsahuje toto rozhraní možnost editovat atributy mapové vrstvy. Tato funkcionalita staví na podobném principu jako v případě dotazování se na atributy vrstvy s tím rozdílem, že objekt získaný dotazem přihlášeného uživatele je zobrazen v editovatelném poli
21
s možností uložení této změny do databáze. Záměrem je vkládání neprostorových atributů, například kontaktní údaje nebo fotky míst, čemuž je uzpůsoben seznam měnitelných parametrů.
6.2.3
Administrátorská část systému
Poslední implementovanou částí systému je administrátorské rozhraní, jenž krom výše popsaných dovedností, umožňuje také editace, přidávání a odebírání uživatelů, což je realizováno klasickými dotazy nad tabulkou uživatelů. Rozšíření pro správce GISu představuje možnost editace, přidávání a odebírání mapové vrstvy. V rámci editace načte příslušný skript seznam všech dostupných vrstev konfiguračního souboru, zobrazí je v nabídce k editaci a po zvolení dané vrstvy přejde do režimu změn. Jelikož i administrátor se může dopustit chyby způsobené lidským faktorem, v rámci editačního režimu je možné přepisovat a měnit pouze hodnoty týkající se nastavení barev, popisků a symbolů, tedy převážně parametry objektu CLASS. Ostatní nastavení lze považovat za potenciálně kritická, jako je například neuvážené přetypování vektorové vrstvy na rastrovou, proto je tento způsob editace začleněn pod složitější postup, tedy vytvoření nové vrstvy, testování funkčnosti a případně smazání vrstvy původní. Na podobném principu funguje funkce pro smazání mapové vrstvy, která po načtení mapfilu vyparsuje konfiguraci zvolené vrstvy a následně ji smaže. Tato funkce je značně destruktivní, proto byla svěřena do rukou administrátora jakožto osoby zodpovědné. V případě potřeby vložení nové vrstvy do systému slouží k tomuto účelu volba pro přidání mapové vrstvy. Základní prerekvizitou pro fungování jsou data v projekci S-JTSK, což je klíčové pro korektní zobrazení a naopak při zanedbání způsobí, že se data na první pohled nelogicky nezobrazí. Jak již bylo popsáno v kapitole zabývající se konfiguračním souborem, každá vrstva obsahuje základní nastavení bez nichž není naděje na správné fungování celého mapfilu. Za tímto účelem implementovaná funkce pro vložení nové vrstvy kontroluje tyto parametry a v případě chybějící definice hlásí chybu. Další potenciální úskalí pro vložení nové vrstvy může představovat samotný princip vykreslování posloupnosti vrstev. Nepřipadá v úvahu, aby se nové vrstvy kladly na konec mapfilu, jelikož by tak nová polygonová vrstva mohla překrýt stávající vrstvy bodů, linií a popisků. Z tohoto důvodu se při samotném vložení nová vrstva uloží za poslední vrstvu svého typu, což představuje pouze parciální řešení, ale předchází zaručené katastrofě. K realizaci těchto funkcí se využívá kombinace Mapscriptu, v případě snažšího přístupu k parametrům vrstev, a klasického zpracování souboru na úrovni PHP.
22
7
Popis instalace
Aplikace byla vyvíjena v prostředí UNIX/Linux bez použití nějakého komplexního prostředí, které by zahrnovalo všechny potřebné nástroje v jedné instalaci. Z tohoto důvodu je možná vhodné zmínit instalace a některé nastavení jednotlivých nástrojů, jenž by potenciálně mohla způsobit různá úskalí.
7.1
UMN Mapserver
Jelikož hosting mapserveru není v této době služba až tak samozřejmá a otevřená, bylo logické vyvinout projekt na lokálním stroji. K tomuto účelu posloužila volně přístupná instalace, která krom standardní aplikace dovoluje zvolit mezi přístupem CGI a PHP/Mapscriptu. Jediné drobné uskali mohou představovat práva přístupu ke složce, kam si Mapserver zapisuje dočasné mapové výstupy, a v případě, že nemá patřičná práva, při zpracování výstupu hlásí chyby různého druhu.
7.2
PostgreSQL a PostGIS
Použité soubory: postgresql, postgresql-8.3, postgresql-client-common, postgresql-client-8.3, php5-pgsql, postgis, postgresql-8.3-postgis, Nástroj PostGIS je nástavba nad PostgresSQL, takže krom instalace obou nástrojů bylo potřeba nastavit role uživatele a vytvořit databázi. Po instalaci je implicitně nastaven uživatel "postgres", jehož heslo je nutno nejdříve specifikovat na úrovni databáze a následně i v rámci systému, pokud je aplikace spouštěna na lokálním stroji. Příklad změny hesla pro uživatele "postgres" v rámci databáze: $sudo su postgres -c psql template1 template1=# ALTER USER postgres WITH PASSWORD ‘postgres’; template1=# \q
Příklad změny hesla pro uživatele "postgres" v rámci systému: $sudo passwd -d postgres $sudo su postgres -c passwd
V mapfilu je přednastaveno heslo "postgres" nad databází "gis", kterou je potřeba vytvořit, přizpůsobit pro práci s prostorovými daty a následně inicializovat. Jelikož klientů pro tyto úkony je nepřeberné množství, ukázka představuje konzolový přístup pomocí postgresql-client. Příklad vytvoření databáze "gis" uživatelem "postgres": $sudo -u postgres createdb -O postgres gis -E 'LATIN2'
23
Pro práci s prostorovými daty musí obsahovat databáze dvě základní tabulky, jež zajišťují manipulaci se souřadnicemi, obě jsou předpřipavené v souborech dodaných PosGISem. K jejich použití je nutné doplnit do databáze jazyk plpgsql. $ su potsgres $ psql postgres postgres=> CREATE LANGUAGE plpgsql $ psql -d gis -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql $ psql -d gis -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql
Tímto způsobem lze do databáze nahrát i tabulky aplikace, protože data jsou uschována ve sql skriptech.
7.3
Webová aplikace
Samotná aplikace se nachází v adresáři ./src, který dále obsahuje podadresáře graphics s uloženými komponentami prostředí, tmp jakožto odkladový prostor Mapserveru, a dále adresář data, ze kterého se načítají další mapové vrstvy, pokud jsou v souborech Shapefile. Adresář mapfile pak obsahuje zálohované konfigurační soubory, stejně jako adresář sql zahrnuje skripty pro inicializaci a náplň databáze. Informace o adresářové struktuře a základním použití se nalézají v souboru Readme, samotná aplikace je dostupná pod adresou http://../src/gis_jundrov.php.
24
8
Závěr
Snahou této práce bylo proniknout do problematiky geografických informačních systémů, navrhnout potenciální řešení takového systému pro malou obec, v tomto případě městskou část, a systém implementovat. Krom studia základních principů, existujících systémů a používaných nástrojů zahrnovala práce také setkání s modelovým klientem, starostou městské části, a konzultace ze strany administrátorů takových systémů, kteří se tímto tématem nad různými technologiemi zabývají delší dobu. Tento faktor dává školnímu projektu lehký nádech praktické zkušenosti a přispívá tak k jeho atraktivitě. Velkým přínosem pro práci byla problematika samotná, protože ačkoliv je výsledným produktem informační systém, jeho obsah se značně vymyká střednímu proudu elektronických obchodů a klasických informačních portálů. Tento typ systémů sice také nabízí rozsáhlé možnosti pro studium kvalitního návrhu a inovativní realizaci, každopádně se zabývá především formou systému a na poli předávaných informací již nemá takové možnosti ve srovnání s GISy. Implementovaný systém představuje pouze základní řešení. Především z pohledu uživatelského rozhraní skýtá rezervy co do uživatelské přívětivosti, stejně tak nevyužívá naplno veškeré možnosti nabízených technologií. Navržená databázová struktura nakonec představuje jednodušší řešení, kdy neprostorové atributy jsou součástí tabulky mapové vrstvy, což v případě menšího množství dat může být snesitelné, leč v případě očekávaného rozvoje je zcela nepřípustné a skýtá prostor pro další rozšíření. V případě zpracování a zobrazení dat spatřuji další motivaci v prostorových prezentacích, což by mohly představovat například pohledy na turistické trasy či cyklostezky. Hlavní výhodou GISů je jejich rozmanitost a schopnost propojovat různé technologie a obory, což z nich činí i do budoucna velmi perspektivní téma.
25
Literatura [1]
Čapek R., Miškovský M., Mucha L. Geografická kartografie
[2]
Hrubý, M. Učební texty předmětu Geografické Informační Systémy [online]. Dostupné na: http://perchta.fit.vutbr.cz:8000/vyuka-gis
[3]
The University of Minnesota: Documentation for the MapServer project [online]. Dostupné na: http://mapserver.gis.umn.edu/docs
[4]
PostGIS: Documentation for PostGIS [online]. Dostupné na: http://www.postgis.org/documentation/
[5]
GRASS: Prakticka rukovet [online]. Dostupné na: http://gama.fsv.cvut.cz/data/grasswikicz/grass_prirucka/grass_prirucka_0.4.pdf
[6]
PHP/Mapscript: Documentation for Mapscript [online]. Dostupné na: http://www.maptools.org/php_mapscript/
26
Seznam příloh Příloha 1. Obrázky Příloha 2. CD/DVD
27
Obrázky
Obrázek 1. Mapový náhled nepřihlášeného uživatele
Obrázek 2. Mapový náhled přihlášeného uživatele.
28
Obrázek 3. Uživatelské rozhraní s menším rozlišením
Obrázek 4. Přihlášení do systému
29
Obrázek 5. Administrátorské rozhraní pro editaci uživatelů.
Obrázek 6. Administrátorské rozhraní pro založení nového uživatele. 30
Obrázek 7. Administrátorské rozhraní pro odebrání vrstvy.
Obrázek 8. Administrátorské rozhraní pro odebrání mapové vrstvy.
31