ˇ ´ vysoke ´ uc ˇen´ı technicke ´ v Praze Cesk e Fakulta stavebn´ı
´r ˇska ´ pra ´ ce Bakala
Praha 2011
Anna Kratochv´ılov´a
ˇ ´ vysoke ´ uc ˇen´ı technicke ´ v Praze Cesk e Fakulta stavebn´ı Obor geoinformatika
´r ˇska ´ pra ´ ce Bakala ´ uˇ ´ rozhran´ı pro tvorbu Graficke zivatelske ´ ch vy ´ stup˚ ´mu GRASS mapovy u v syste Graphical User Interface for composing hardcopy map outputs in GRASS GIS
Vedouc´ı pr´ace: Ing. Martin Landa Katedra mapov´an´ı a kartografie Praha 2011
Anna Kratochv´ılov´a
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta stavební Thákurova 7, 166 29 Praha 6
ZADÁNÍ
BAKALÁŘSKÉ PRÁCE
studijní program:
Geodézie a kartografie
studijní obor:
Geoinformatika
akademický rok:
2010/2011
Jméno a příjmení studenta: Anna Kratochvílová Zadávající katedra:
Mapování a kartografie
Vedoucí bakalářské práce:
Ing. Martin Landa
Název bakalářské práce:
Grafické uživatelské rozhraní pro tvorbu mapových výstupů v systému GRASS
Název bakalářské práce v anglickém jazyce
Graphical User Interface for composing hardcopy map outputs in GRASS GIS
Rámcový obsah bakalářské práce: Cílem bakalářské práce je návrh a implementace grafického uživatelského rozhraní (GUI) určeného pro tvorbu mapových výstupů v systému GRASS. GRASS obsahuje nástroje pro tvorbu mapových výstupů (např. modul ps.map), které jsou však určeny pro příkazovou řádku a neumožňují interaktivní tvorbu mapových výstupů. Navržené GUI bude podporovat základní funkcionalitu modulu ps.map a bude integrováno v GUI GRASSu. Hlavním přínosem práce je rozšíření celosvětově používaného desktopového open-source GISu GRASS o možnost interaktivní tvorby mapových výstupů, což je jedna ze základních funkcionalit, které v tomto systému chybí a uživatelskou komunitou GRASSu je vysoce žádaná. Datum zadání bakalářské práce:
18.1.2011
Termín odevzdání:
13.5.2011 (vyplňte poslední den výuky příslušného semestru)
Pokud student neodevzdal bakalářskou práci v určeném termínu, tuto skutečnost předem písemně zdůvodnil a omluva byla děkanem uznána, stanoví děkan studentovi náhradní termín odevzdání bakalářské práce. Pokud se však student řádně neomluvil nebo omluva nebyla děkanem uznána, může si student zapsat bakalářskou práci podruhé. Studentovi, který při opakovaném zápisu bakalářskou práci neodevzdal v určeném termínu a tuto skutečnost řádně neomluvil nebo omluva nebyla děkanem uznána, se ukončuje studium podle § 56 zákona o VŠ č. 111/1998. (SZŘ ČVUT čl. 21, odst. 4) Student bere na vědomí, že je povinen vypracovat bakalářskou práci samostatně, bez cizí pomoci, s výjimkou poskytnutých konzultací. Seznam použité literatury, jiných pramenů a jmen konzultantů je třeba uvést v bakalářské práci.
ˇ ORIGINALN ´ ´I ZADAN ´ ´I ZDE VLOZIT
........................................................ vedoucí bakalářské práce
....................................................... vedoucí katedry
Zadání bakalářské práce převzal dne: 18.1.2011 ....................................................... student
Abstract C´ılem t´eto bakal´ aˇrsk´e pr´ace je vytvoˇren´ı grafick´eho uˇzivatelsk´eho rozhran´ı (GUI) pro tvorbu mapov´ ych v´ ystup˚ u v syst´emu GRASS. Mapov´e v´ ystupy jsou vytv´ aˇreny modulem ps.map na z´akladˇe textov´eho souboru s instrukcemi. Nov´e GUI umoˇzn ˇuje interaktivn´ı tvorbu mapov´ ych v´ ystup˚ u a t´ım ji uˇzivatel˚ um usnadˇ nuje. GUI implementuje vˇetˇs´ı ˇc´ast funkcionality modulu ps.map a je naps´ ano pomoc´ı grafick´e knihovny wxPython. Text bakal´ aˇrsk´e pr´ ace se d´ale vˇenuje problematick´ ym ˇc´astem ps.map a z´ aroveˇ n obsahuje i porovn´an´ı vybran´ ych program˚ u pro tvorbu mapov´ ych v´ ystup˚ u z hlediska jejich funkcionality a GUI. Kl´ıˇ cov´ a slova: GIS, GRASS GIS, ps.map, GUI, wxPython, mapov´ y v´ ystup
Abstract The aim of this bachelor thesis was to develop a graphical user interface (GUI) for composing hardcopy map outputs in the GRASS GIS. Hardcopy maps GUI allows to compose maps interactively to make it more comfortable for users. GUI implements most of the ps.map functionality and it is developed with the GUI toolkit wxPython. Additionally, this thesis deals with the problematic features of the module ps.map and it also includes the comparison of selected software for creating hardcopy map outputs in terms of their functionality and graphical interface. Keywords: GIS, GRASS GIS, ps.map, GUI, wxPython, hardcopy map output
Prohl´aˇsen´ı Prohlaˇsuji, ˇze bakal´aˇrskou pr´aci na t´ema Grafick´e uˇzivatelsk´e rozhran´ı pro ” tvorbu mapov´ ych v´ ystup˚ u v syst´emu GRASS“ jsem vypracovala samostatnˇe. Pouˇzitou literaturu a podkladov´e materi´aly uv´ad´ım v seznamu zdroj˚ u. V Praze dne .................
.................................. (podpis autora)
Podˇekov´an´ı R´ada bych podˇekovala pˇredevˇs´ım vedouc´ımu m´e bakal´aˇrsk´e pr´ace, Ing. Martinu Landovi, za v´ ybˇer zaj´ımav´eho t´ematu a za pomoc pˇri jeho zpracov´an´ı. D´ale dˇekuji ostatn´ım ˇclen˚ um GRASS Development Teamu, jmenovitˇe R. Szczepankovi za ikonky a H. Bowmanovi za u ´pravy modulu ps.map. V neposledn´ı ˇradˇe jsem vdˇeˇcn´a sv´e rodinˇe a bl´ızk´ ym za podporu, kterou mi poskytli.
Obsah ´ Uvod
9
1 Programy pro tvorbu mapov´ ych v´ ystup˚ u 1.1
1.2
1.3
10
Porovn´an´ı program˚ u z hlediska funkcionality . . . . . . . . . . . . . . 10 1.1.1
ArcGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.2
gvSIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.3
QGIS
1.1.4
GMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.5
GRASS GIS – ps.map . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Porovn´an´ı program˚ u z hlediska uˇzivatelsk´eho rozhran´ı . . . . . . . . . 17 1.2.1
Obecn´e z´asady GUI . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.2
ArcGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.3
gvSIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2.4
QGIS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Shrnut´ı porovn´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.3.1
Uk´azky mapov´ ych v´ ystup˚ u . . . . . . . . . . . . . . . . . . . . 27
2 Syst´ em GRASS GIS
28
2.1
Z´akladn´ı pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2
GUI syst´emu GRASS . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3
Modul ps.map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.1
Konfiguraˇcn´ı soubor . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.2
Volba rozsahu zobrazovan´eho u ´zem´ı . . . . . . . . . . . . . . . 32
2.3.3
Nekonzistence a chyby v modulu ps.map . . . . . . . . . . . . 33
3 GUI wx.psmap pro modul ps.map
37
3.1
Instalace wx.psmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2
Podklady a pouˇzit´e knihovny . . . . . . . . . . . . . . . . . . . . . . 37
3.3
Funkcionalita aplikace wx.psmap . . . . . . . . . . . . . . . . . . . . 38
3.4
Vzhled a ovl´ad´an´ı wx.psmap . . . . . . . . . . . . . . . . . . . . . . . 40
3.5
Probl´emy pˇri tvorbˇe wx.psmap
3.6
Budouc´ı v´ yvoj aplikace wx.psmap . . . . . . . . . . . . . . . . . . . . 44
Z´ avˇ er
44
Seznam pouˇ zit´ ych zkratek
46
Pouˇ zit´ e zdroje
47
A Instalace syst´ emu GRASS
49
B Instalace wx.psmap
50
C Screenshoty aplikace wx.psmap
52
D Testovac´ı mapov´ e v´ ystupy
53
. . . . . . . . . . . . . . . . . . . . . 41
D.1 Uk´azka 1: ArcGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 D.2 Uk´azka 1: QGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 D.3 Uk´azka 1: wx.psmap . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 D.4 Uk´azka 2: ArcGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 D.5 Uk´azka 2: wx.psmap . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ˇ CVUT v Praze
´ UVOD
´ Uvod Tvorba map v dneˇsn´ı dobˇe nen´ı pouze vˇec´ı specializovan´ ych pracoviˇst’. Rozvoj geografick´ ych informaˇcn´ıch syst´em˚ u (GIS) natolik zjednoduˇsil tvorbu mapov´ ych v´ ystup˚ u, ˇze mapy, at’ uˇz jak´ekoli kvality, potk´av´ame na kaˇzd´em kroku. R˚ uzn´e formy map se staly modern´ım doplˇ nkem v novin´ach, televizn´ıch zpr´av´ach, let´ac´ıch a pˇredevˇs´ım na internetu; t´emˇeˇr kaˇzd´a informace m´a totiˇz vazbu na geografickou polohu. Definic geografick´eho informaˇcn´ıho syst´emu existuje mnoho a dalˇs´ı ˇcasem pravdˇepodobnˇe jeˇstˇe vzniknou, jak se bude tato oblast vyv´ıjet. Nˇekteˇr´ı odborn´ıci v definic´ıch vyzdvihuj´ı v´ yznam sloˇzky datov´e, jin´ı zas analytick´e, v souvislosti s t´ematem t´eto pr´ace je ale d˚ uleˇzit´e pˇredevˇs´ım kartografick´e zn´azornˇen´ı dat. GRASS GIS1 patˇr´ı mezi nejpouˇz´ıvanˇejˇs´ı geografick´e informaˇcn´ı syst´emy v kategorii svobodn´eho softwaru. Je to mimo jin´e v´ yborn´ y n´astroj pro zpracov´an´ı geografick´ ych dat a jejich anal´ yzu, nicm´enˇe v tvorbˇe mapov´ ych v´ ystup˚ u nevyhovuje dneˇsn´ım poˇzadavk˚ um. GRASS disponuje modulem ps.map 2 , kter´ y vytv´aˇr´ı mapov´e v´ ystupy ve form´atu PostScript 3 (PS ), nicm´enˇe nen´ı uˇzivatelsky pˇr´ıvˇetiv´ y z d˚ uvodu ´ absence grafick´eho uˇzivatelsk´eho rozhran´ı (GUI ). Ukolem t´eto pr´ace bylo tento nedostatek alespoˇ n z ˇc´asti napravit poskytnut´ım komfortnˇejˇs´ıho ovl´ad´an´ı tohoto modulu pˇres GUI. Nov´e GUI wx.psmap je napsan´e za pomoci grafick´e knihovny wxPython 4 a t´ım navazuje na modern´ı wxGUI [7] syst´emu GRASS. Souˇc´ast´ı pr´ace bylo i studium funkcionality nˇekolika komerˇcn´ıch i nekomerˇcn´ıch program˚ u z hlediska jejich kartografick´ ych v´ ystup˚ u. Soustˇredila jsem se sp´ıˇse na konkr´etn´ı vlastnosti, kter´e mne urˇcit´ ym zp˚ usobem zaujaly, neˇz na kompletn´ı rozbor funkcionality. N´asleduje i porovn´an´ı jejich GUI, kter´a z´asadnˇe ovlivˇ nuj´ı pouˇzitelnost program˚ u a tak´e jejich obl´ıbenost. Vyˇsla jsem z obecn´ ych z´asad tvorby GUI, doplnˇen´ ych jasn´ ymi pˇr´ıklady jejich nerespektov´an´ı. Vˇeˇr´ım, ˇze v´ ysledky t´eto pr´ace pˇrispˇej´ı ke zv´ yˇsen´ı konkurenceschopnosti GRASSu v oblasti kartografick´ ych v´ ystup˚ u a usnadn´ı pr´aci nov´ ym i dosavadn´ım uˇzivatel˚ um modulu ps.map. 1
http://grass.osgeo.org http://grass.osgeo.org/grass70/manuals/html70_user/ps.map.html 3 http://partners.adobe.com/public/developer/ps/index_specs.html 4 http://www.wxpython.org 2
9
ˇ CVUT v Praze
1
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Programy pro tvorbu mapov´ ych v´ ystup˚ u
Existuje pomˇernˇe velk´e mnoˇzstv´ı program˚ u umoˇzn ˇuj´ıc´ıch tvorbu mapov´ ych v´ ystup˚ u. Vˇetˇsinou tato funkcionalita nestoj´ı samostatnˇe, ale je souˇca´st´ı vˇetˇs´ıho GIS softwaru. Existuj´ıc´ı programy lze rozdˇelit podle mnoha krit´eri´ı, jedno z nejd˚ uleˇzitˇejˇs´ıch krit´eri´ı je urˇcitˇe finanˇcn´ı dostupnost. Naˇstˇest´ı v oblasti GIS existuje velk´ y v´ ybˇer open source program˚ u, tedy program˚ u, kter´e maj´ı mimo jin´e tu vlastnost, ˇze jejich pouˇzit´ı nen´ı zpoplatnˇeno. Zdaleka zde neplat´ı myˇslenka, ˇze co je zdarma, je podezˇrel´e a nefunguje. Propriet´arn´ı software sice ˇcasto m´a v nˇekter´ ych oblastech ˇsirˇs´ı funkcionalitu, ale ta m˚ uˇze b´ yt samostatnˇe zpoplatnˇena, pˇr´ıpadnˇe m˚ uˇze b´ yt implementov´ana m´enˇe efektivn´ım zp˚ usobem (napˇr´ıklad u algoritm˚ u). Dalˇs´ı v´ yhodou open source projekt˚ u je dostupnost zdrojov´ ych k´od˚ u, coˇz sice bˇeˇzn´e uˇzivatele nezaj´ım´a, ale pro odbornou veˇrejnost to znamen´a moˇznost si postr´adanou funkˇcnost vlastn´ımi silami dopsat. Jedn´ım z dalˇs´ıch argument˚ u mluv´ıc´ıch pro open source software je rychl´a odezva v pˇr´ıpadˇe jak´ ychkoli probl´em˚ u. Pˇri volbˇe vhodn´eho softwaru je tedy tˇreba zv´aˇzit mnoho faktor˚ u. Pro velk´e projekty je ˇcasto vhodnˇejˇs´ı si zakoupit propriet´arn´ı software, kter´ y pokryje vˇsechnu potˇrebnou funkcionalitu. Bohuˇzel se dnes ˇcasto st´av´a, ˇze se takov´ y software pouˇz´ıv´a i tam, kde by plnˇe postaˇcila open source varianta, a to jen kv˚ uli neznalosti.
1.1
Porovn´ an´ı program˚ u z hlediska funkcionality
V r´amci pr´ace na GUI pro modul ps.map bylo vhodn´e se sezn´amit s funkcionalitou aspoˇ n nˇekter´ ych program˚ u, kter´e se pouˇz´ıvaj´ı pro mapov´e v´ ystupy. Vzhledem k dostupnosti softwaru byl pro porovn´an´ı vybr´an propriet´arn´ı software ArcGIS 10.0 a open source programy gvSIG 1.10, Quantum GIS verze 1.6.0-Copiapo, GMT verze 4.5.1 a jiˇz zm´ınˇen´ y modul ps.map syst´emu GRASS. Toto porovn´an´ı si neklade za c´ıl vytvoˇrit kompletn´ı seznam funkcionality program˚ u, coˇz by bylo t´ema pro samostatnou pr´aci, c´ılem je pouze zd˚ uraznit nˇekter´e zaj´ımav´e moˇznosti, kter´e programy nab´ız´ı. Detailnˇeji je pak pops´an modul ps.map, jehoˇz moˇznosti bylo tˇreba prozkoumat do nejmenˇs´ıch podrobnost´ı.
10
ˇ CVUT v Praze
1.1.1
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
ArcGIS
ˇ e republice. ArcTento software od firmy ESRI 5 je jeden z nejpouˇz´ıvanˇejˇs´ıch v Cesk´ GIS
6
se skl´ad´a z nˇekolika z´akladn´ıch aplikac´ı, pro tvorbu mapov´ ych v´ ystup˚ u slouˇz´ı
aplikace ArcMap. Pˇri pr´aci v programu je tˇreba rozliˇsit dva m´ody – Data View a Layout View. Data View slouˇz´ı pro bˇeˇznou pr´aci s daty, zat´ımco Layout View je pouˇzit pro vytvoˇren´ı mapov´eho v´ ystupu, zobrazuje v´ yˇrez mapy na str´ance. Tyto dva m´ody jsou propojen´e a zmˇeny se projevuj´ı v obou. ArcGIS podporuje pokroˇcil´e nastaven´ı symbologie a vytv´aˇren´ı kartogram˚ u ˇci kartodiagram˚ u. Tato nastaven´ı se pak prom´ıtaj´ı v legendˇe. V Layout View lze zobrazit vod´ıc´ı linky a mˇr´ıˇzku pro pˇresnˇejˇs´ı pozicov´an´ı a pˇrid´avat mapov´e elementy: legenda, mˇeˇr´ıtko grafick´e a ˇc´ıseln´e, smˇerovou r˚ uˇzici, titulek, text, dynamick´ y text, r´ameˇcek, obr´azek, jin´ y objekt (tabulku, graf). Moˇznosti nastaven´ı vlastnost´ı pro jednotliv´e prvky je velice ˇsirok´e, coˇz umoˇzn ˇuje uzp˚ usobit mapov´ y v´ ystup sv´ ym pˇredstav´am. Pˇri velk´em mnoˇzstv´ı dat je pro urychlen´ı pr´ace vhodn´e nevykreslovat objekty, ale zobrazovat je pouze jako ˇsed´e obd´eln´ıky s popisem (Draft mode), toto ˇreˇsen´ı je dostupn´e i v jin´ ych programech. ArcMap dovoluje pomˇernˇe pokroˇcilou pr´aci s vektorovou grafikou, lze kreslit z´akladn´ı tvary, seskupovat je, zarovn´avat, rotovat ˇci mˇenit jejich hladinu. Vˇetˇsinu v´ yˇse jmenovan´ ych funkcionalit maj´ı i jin´e takto specializovan´e programy. Co jiˇz tak bˇeˇzn´e nen´ı, je pouˇzit´ı v´ıce datov´ ych r´amc˚ u (Data Frame), napˇr´ıklad QGIS tuto funkcionalitu neposkytuje. D˚ usledkem je moˇznost um´ıstit na str´anku v´ıce mapov´ ych r´amc˚ u (v´ yˇrez˚ u) zobrazuj´ıc´ıch r˚ uzn´a data. Tato vlastnost se vyˇz´ıv´a, chceme-li napˇr´ıklad zobrazit centrum mˇesta ve vˇetˇs´ım mˇeˇr´ıtku a m´enˇe generalizovan´e neˇz je zbytek mapy. Dalˇs´ı zaj´ımavou vlastnost´ı je tvorba ˇsablon pro mapov´e v´ ystupy a s t´ım souvis´ı ˇ ızen´e mapov´e listy neboli Data Driven Pages. T´ımto n´astrojem lze najednou i tzv. R´ ˇ lze vygenerovat sadu mapov´ ych v´ ystup˚ u. Napˇr´ıklad pro data obsahuj´ıc´ı okresy CR velice jednoduˇse vytvoˇrit sadu stejnˇe vypadaj´ıc´ıch mapov´ ych v´ ystup˚ u zobrazuj´ıc´ıch jednotliv´e okresy. 5 6
http://www.esri.com/ http://www.esri.com/software/arcgis/index.html
11
ˇ CVUT v Praze
1.1.2
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
gvSIG
GIS gvSIG7 je open source software ˇs´ıˇren´ y pod licenc´ı GNU General Public License 8 (GNU GPL). Je lokalizovan´ y do mnoha jazyk˚ u vˇcetnˇe ˇceˇstiny a dostupn´ y na vˇsech bˇeˇzn´ ych platform´ach (GNU/Linux, MS Windows, Mac OS X). Existuje i produkt gvSIG Mobile urˇcen´ y pro pouˇzit´ı v mobiln´ıch zaˇr´ızen´ıch. gvSIG je naps´an v programovac´ım jazyce Java, d´ıky ˇcemuˇz m´a mnoho aktivn´ıch v´ yvoj´aˇr˚ u. Projekt programu gvSIG se skl´ad´a ze tˇr´ı hlavn´ıch ˇca´st´ı – View, Table a Map, v posledn´ı jmenovan´e pak prob´ıh´a tvorba mapov´ ych v´ ystup˚ u. View je obdobou datov´eho r´amce v ArcGISu. Na str´anku lze tedy um´ıstit v´ıce mapov´ ych r´amc˚ u, u kaˇzd´eho se pak zvol´ı, kter´ y View bude zobrazovat. Podporovan´e mapov´e elementy a moˇznosti symbologie jsou obdobn´e jako u ArcGISu, nav´ıc um´ı gvSIG pˇr´ımo vloˇzit lokalizaˇcn´ı mapku, to je sice u ArcGISu tak´e moˇzn´e, ale tato funkce nen´ı tak jednoduˇse pˇr´ıstupn´a. Drobn´e rozd´ıly oproti ArcGISu najdete v moˇznostech nastaven´ı vzhledu jednotliv´ ych element˚ u, kter´e nejsou tak ˇsirok´e. Nicm´enˇe pro uˇzivatele vˇetˇsinou nen´ı podstatn´e, jestli m´a na v´ ybˇer mezi 50 nebo 100 r˚ uzn´ ymi smˇerov´ ymi r˚ uˇzicemi, kdyˇz se nav´ıc vˇetˇsina z nich pro bˇeˇzn´e mapov´e v´ ystupy nehod´ı. Co mne trochu zklamalo, byla legenda, jej´ıˇz vlastnosti se pomˇernˇe ˇspatnˇe nastavovaly. Pro v´ıce sloupc˚ u je potˇreba ji nejprve rozloˇzit na jednotliv´e grafick´e elementy a pak s n´ı pracovat jako s vektorovou grafikou. Co se t´ yˇce exportn´ıch form´at˚ u, gvSIG podporuje pouze PS a PDF 9 , zat´ımco ArcGIS m´a daleko ˇsirˇs´ı v´ ybˇer. To ale dnes nen´ı tak d˚ uleˇzit´e vzhledem k existuj´ıc´ım grafick´ ym editor˚ um, kter´e jsou schopn´e naˇc´ıst a konvertovat velk´e mnoˇzstv´ı form´at˚ u. 1.1.3
QGIS
Quantum GIS10 je rychle rostouc´ı GIS projekt psan´ y v C++/Qt, je opˇet ˇs´ıˇren´ y pod licenc´ı GNU GPL. Pro tvorbu mapov´ ych v´ ystup˚ u slouˇz´ı Map Composer, jehoˇz funkcionalita plnˇe nedosahuje u ´rovnˇe program˚ u ArcGIS ani gvSIG, nicm´enˇe pro ne pˇr´ıliˇs sofistikovan´e mapov´e v´ ystupy je to v´ yborn´ y prostˇredek. 7
http://www.gvsig.org http://www.gnu.org/licenses/gpl.html 9 http://www.adobe.com/devnet/pdf/pdf_reference.html 10 http://www.qgis.org 8
12
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Map Composer umoˇzn ˇuje sice vloˇzit v´ıce mapov´ ych r´amc˚ u, ale zobrazuj´ı pouze stejn´a data. Lze pˇridat standardn´ı mapov´e elementy jako mˇeˇr´ıtko, legenda, text, atributovou tabulku, obr´azek, jednoduch´e tvary. Smˇerov´a r˚ uˇzice se pˇrid´av´a v r´amci obr´azk˚ u. QGIS nab´ız´ı podobn´e volby symbologie a vytv´aˇren´ı kartodiagram˚ u, a i kdyˇz jeˇstˇe nen´ı v t´eto oblasti na takov´e u ´rovni jako pˇredchoz´ı dva programy, v´ yraznˇe v tomto smˇeru od pˇredchoz´ıch verz´ıch pokroˇcil. Legenda pro vektorov´e vrstvy se chov´a v QGISu standardnˇe, ale pro rastr v podstatˇe nefunguje. Pro pozicov´an´ı objekt˚ u je k dispozici mˇr´ıˇzka s nastaviteln´ ymi parametry a voliteln´ ym pˇrichyt´av´an´ım. Dobˇre funguje i zobrazen´ı souˇradnicov´e s´ıtˇe s popisky. Zaj´ımavou vlastnost´ı je pˇrid´an´ı atributov´e tabulky pro zvolenou mapovou vrstvu, z tabulky se daj´ı vybrat pouze nˇekter´e atributy a tak´e lze vhodnˇe z´aznamy seˇradit. Podobnou funkcionalitu z porovn´avan´ ych program˚ u poskytuje pouze ArcGIS. 1.1.4
GMT
GMT neboli Generic Mapping Tools 11 je software specializovan´ y na zobrazen´ı dvourozmˇern´ ych a tˇr´ırozmˇern´ ych dat v mnoha kartografick´ ych projekc´ıch, jejich anal´ yzu a dalˇs´ı zpracov´an´ı (vzorkov´an´ı, fitov´an´ı, triangulace a jin´e). Software GMT vznikal od roku 1998 pod licenc´ı GNU GPL, skl´ad´a se z v´ıce podprogram˚ u (pˇres 60), kter´e jsou naps´any v jazyce C. Je pˇredevˇs´ım urˇcen pro unixov´e syst´emy, i kdyˇz na operaˇcn´ım syst´emu Windows jej lze za urˇcit´ ych podm´ınek tak´e pouˇz´ıvat. Oproti v´ yˇse zm´ınˇen´ ym program˚ um se GMT odliˇsuje jednak vysokou specializac´ı na mapov´e v´ ystupy a tak´e zp˚ usobem ovl´ad´an´ı. GMT je totiˇz ovl´ad´an pomoc´ı pˇr´ıkazov´e ˇra´dky, kdy jednotliv´e programy jsou typicky vol´any ve skriptu, coˇz umoˇzn ˇuje automatizaci u ´kon˚ u a zvyˇsuje efektivitu. Vzhledem k mnoˇzstv´ı r˚ uzn´ ych nastaven´ı by bylo velice obt´ıˇzn´e vytvoˇrit pouˇziteln´e GUI, kter´e by nab´ızelo stejnou funkcionalitu. Existuje sice nˇekolik m´alo GUI, napˇr´ıklad iGMT 12 , nicm´enˇe tyto projekty se pˇr´ıliˇs nerozv´ıj´ı. GMT je proto urˇcen pˇredevˇs´ım pro inˇzen´ yry a vˇedeck´e pracovn´ıky, vyuˇz´ıv´an je nejen v geografii, ale i v matematick´ ych, fyzik´aln´ıch ˇci medic´ınsk´ ych v´ yzkumech a tak´e v komerˇcn´ı sf´eˇre. Nauˇcit se ovl´adat tento software je relativnˇe n´aroˇcn´e, odmˇenou jsou ale efektn´ı a origin´aln´ı mapov´e v´ ystupy. Na str´ank´ach GMT [19] je dostupn´ y manu´al, tutori´al a mnoho pˇr´ıklad˚ u i s potˇrebn´ ymi daty. 11 12
http://www.soest.hawaii.edu/gmt http://geodynamics.usc.edu/~becker/igmt
13
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Popisovat veˇskerou funkcionalitu GMT je jiˇz nad r´amec tohoto textu, variabilita mapov´ ych v´ ystup˚ u je tak vysok´a, ˇze zkuˇsen´ y uˇzivatel dok´aˇze s GMT vykreslit t´emˇeˇr cokoliv. Z nejˇcastˇeji pouˇz´ıvan´ ych pˇr´ıkaz˚ u, kter´e slouˇz´ı pˇr´ımo k vykreslov´an´ı map a mapov´ ych element˚ u, zm´ın´ım napˇr´ıklad grdimage pro zobrazen´ı rastrov´ ych dat, psbasemap pro mapov´ y r´amec a existuj´ı dalˇs´ı jako pslegend, psscale, pstext. Jak n´azvy program˚ u naznaˇcuj´ı, hlavn´ım v´ ystupem z GMT je PostScript. V porovn´an´ı s mapov´ ymi v´ ystupy z ostatn´ıch program˚ u jsou v´ ystupy z GMT zaj´ımavˇejˇs´ı, obzvl´aˇst’ znateln´e je to napˇr´ıklad pro legendu. Legenda v ArcGISu si bude i pˇres r˚ uzn´a nastaven´ı poˇr´ad podobn´a, s GMT tomu tak b´ yt nemus´ı (i kdyˇz za cenu vˇetˇs´ı n´amahy). Na uk´azku zde uv´ad´ım zkr´acen´ y pˇr´ıklad pˇrevzat´ y z [19, pˇr´ıklad ˇc. 2].13 Jak je z uk´azky patrn´e, nastaven´ı parametr˚ u pˇr´ıkaz˚ u nen´ı pˇr´ıliˇs ˇciteln´e. V´ ysledn´ y mapov´ y v´ ystup je na obr´azku ˇc. 1. # !/ bin / bash ps =./ example_2 . ps makecpt - Crainbow -T -2/14/2 > g . cpt grdimage HI_geoid2 . nc - R160 /20/220/30 r - JOc190 /25.5/292/69/4.5 i \ - E50 -K -P - B10 - Cg . cpt - X1 .5 i - Y1 .25 i > $ps psscale - Cg . cpt - D5 .1 i /1.35 i /2.88 i /0.4 i -O -K - Ac \ - B2 : GEOID :/: m : -E >> $ps
0˚ −15
0˚ −16
0˚ −17
˚ 180
30˚
m 14 12 10
40˚
20˚
8 6
30˚
10˚
4 2
G E O I D
0
0˚ −16
0˚ −17
˚ 180
˚ 170
160˚
−2
Obr´azek 1: Uk´azka mapov´eho v´ ystupu GMT 13
Pro spuˇstˇen´ı skriptu (na unixov´ ych syst´emech) pˇredpokl´ad´am, ˇze cesta k pˇr´ıkaz˚ um GMT je
v promˇenn´e PATH (vyhled´ avac´ı cesty spustiteln´ ych soubor˚ u) a ˇze je pˇr´ıtomn´ y soubor HI geoid2.nc v adres´ aˇri se skriptem.
14
ˇ CVUT v Praze
1.1.5
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
GRASS GIS – ps.map
GRASS GIS14 (v´ıce v ˇca´sti 2 na stranˇe 28) jakoˇzto v´ yznamn´ y pˇredstavitel open source geografick´ ych informaˇcn´ıch syst´em˚ u m´a v tvorbˇe mapov´ ych v´ ystup˚ u znaˇcn´e rezervy. Prakticky jedin´ ym vhodn´ ym n´astrojem, kter´ ym GRASS GIS v souˇcasnosti disponuje, je modul ps.map.15 Pro uˇzivatele je z´akladn´ım rozd´ılem mezi ps.map a ostatn´ımi programy pro tvorbu mapov´ ych v´ ystup˚ u absence GUI. To je pro vˇetˇsinu uˇzivatel˚ u velk´ y probl´em, ˇca´steˇcnˇe proto nen´ı tento modul pˇr´ıliˇs vyuˇz´ıvan´ y. Mapov´ y v´ ystup je ovl´ad´an konfiguraˇcn´ım souborem, coˇz je obyˇcejn´ y textov´ y soubor s instrukcemi, co se m´a kam vykreslit. Po technick´e str´ance je tento modul podrobnˇeji pops´an v ˇca´sti 2.3. Dalˇs´ım v´ yrazn´ ym rozd´ılem je oddˇelenost tvorby mapov´eho v´ ystupu od zbytku programu. To se projevuje t´ım, ˇze je nutn´e explicitnˇe uv´est vˇsechny mapov´e vrstvy, kter´e se maj´ı zobrazit, a tak´e nastavit jejich vzhled, nehledˇe na mapov´e vrstvy aktu´alnˇe zobrazovan´e v GUI GRASSu. Modul ps.map nevytv´aˇr´ı tematick´e mapy pˇr´ımo, lze si ale pomoci modulem d.vect.thematic, kter´ y um´ı vygenerovat pˇr´ısluˇsnou ˇca´st konfiguraˇcn´ıho souboru. Mapov´ y v´ ystup ps.map obsahuje vˇetˇsinu bˇeˇzn´ ych prvk˚ u jako legenda, mˇeˇr´ıtko apod. Moˇznosti nastaven´ı jejich vzhledu nejsou tak ˇsirok´e jako u jin´ ych podobn´ ych program˚ u, coˇz v nˇekter´ ych pˇr´ıpadech nen´ı na z´avadu. Od ostatn´ıch program˚ u se odliˇsuj´ı tak´e t´ım, ˇze se v jednom mapov´em v´ ystupu m˚ uˇze dan´ y mapov´ y prvek objevit pouze jednou.16 Toto omezen´ı vad´ı pˇredevˇs´ım u mapov´eho r´amce (viz n´asleduj´ıc´ı ˇca´st). Mapov´ y r´ amec Nev´ yhodou modulu ps.map je chybˇej´ıc´ı podpora pro v´ıce mapov´ ych r´amc˚ u. V jednom mapov´em v´ ystupu lze tak zobrazit pouze jednu oblast.17 Dalˇs´ım omezen´ım je vykreslen´ı maxim´alnˇe jedn´e rastrov´e mapy (pˇr´ıpadnˇe sloˇzen´e 3 14 15
http://grass.osgeo.org V souˇcasn´e dobˇe je vyv´ıjen modul ps.output, kter´ y rozˇsiˇruje moˇznosti ps.map a moˇzn´a jej
v budoucnu nahrad´ı, nicm´enˇe zat´ım je k dispozici jen v GRASS AddOns (http://grass.osgeo. org/wiki/GRASS_AddOns#ps.output). 16 V´ yjimkou jsou napˇr´ıklad instrukce text , point , line a rectangle . 17 Toto omezen´ı se d´ a obej´ıt vloˇzen´ım EPS souboru s mapou, ale to nen´ı dostateˇcnˇe komfortn´ı ˇreˇsen´ı.
15
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
vrstvy jako RGB). Vektorov´ ych map lze nicm´enˇe pˇridat libovoln´ y poˇcet. Lze u nich nastavit vzhled (symboly, styl ˇc´ary, barevnost, v´ yplˇ n, ...) a tak´e napˇr´ıklad omezit zobrazen´e prvky atributov´ ym dotazem. V mapov´em r´amci lze d´ale zobrazit zemˇepisnou s´ıt’ (grid ), popisky (labels) nebo zv´ yraznit uloˇzen´ y region s menˇs´ım rozsahem. Legenda Vzhled legendy ps.map se v z´asadˇe pˇr´ıliˇs neliˇs´ı od ostatn´ıch program˚ u pro mapov´e v´ ystupy. V podstatˇe jedin´ ym podstatnˇejˇs´ım rozd´ılem je fakt, ˇze ps.map striktnˇe rozliˇsuje rastrovou a vektorovou legendu. Jde o dva oddˇelen´e objekty, coˇz nen´ı obvykl´e a asi ani ˇza´douc´ı ˇreˇsen´ı. Vzhled rastrov´e legendy z´avis´ı na typu dat, je bud’ spojit´a, nebo rozdˇelen´a podle kategori´ı, to je bˇeˇzn´e i v ostatn´ıch programech. Mˇ eˇ r´ıtko Je tˇreba odliˇsit grafick´e a ˇc´ıseln´e mˇeˇr´ıtko, opˇet jde o dva odliˇsn´e objekty. U grafick´eho mˇeˇr´ıtka sice modul nab´ız´ı pouze dva r˚ uzn´e styly, coˇz nen´ı takov´e mnoˇzstv´ı jako napˇr. u programu ArcGIS, nicm´enˇe stoj´ı za zm´ınku zp˚ usob, jak´ ym se urˇcuje velikost mˇeˇr´ıtka. Jeho d´elka je totiˇz urˇcena d´elkou zadanou v mapov´ ych jednotk´ach. Obdobn´ y zp˚ usob sice ArcGIS, QGIS i gvSIG umoˇzn ˇuj´ı tak´e, ale zvl´aˇstˇe v pˇr´ıpadˇe ArcGISu je pro uˇzivatele tˇeˇzk´e se v nastaven´ı vyznat a vybrat to spr´avn´e. U ps.map proto m˚ uˇzeme povaˇzovat jednoduchost nastaven´ı za v´ yhodu, pro vˇetˇsinu mapov´ ych v´ ystup˚ u nav´ıc jednoduch´ y vzhled grafick´eho mˇeˇr´ıtka postaˇcuje. Samostatn´e ˇc´ıseln´e mˇeˇr´ıtko modul nenab´ız´ı. Je totiˇz souˇca´st´ı prvku mapinfo, kter´ y obsahuje informace o aktu´aln´ım zobrazovan´em regionu, zobrazovan´e zemˇepisn´e s´ıti a mˇeˇr´ıtku, viz obr. ˇc. 2. Mapinfo nem´a v ostatn´ıch programech obdobu, snad kromˇe ArcGISu, kde lze podobnˇe zobrazit informace o souˇradnicov´em syst´emu pomoc´ı automaticky generovan´eho textu (Dynamic text). SCALE: GRID:
1 : 103030 10000 meters 4928010 REGION: 589980 609000 4913700
Obr´azek 2: Mapinfo
Smˇ erov´ a r˚ uˇ zice Smˇerov´a r˚ uˇzice v modulu ps.map nen´ı k dispozici, coˇz je velkou nev´ yhodou, jelikoˇz urˇcen´ı severu je v mapov´ ych v´ ystupech obvykl´e. Tento probl´em 16
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
lze ˇreˇsit bud’ pˇrid´an´ım obr´azku ve form´atu EPS 18 , nebo lze ˇsipku vytvoˇrit sloˇzen´ım z jin´ ych grafick´ ych objekt˚ u (postup lze naj´ıt na webov´e str´ance [8]). Dalˇ s´ı moˇ znosti Modul d´ale umoˇzn ˇuje kreslit z´akladn´ı tvary jako obd´eln´ık, linii a bod. K mapov´emu v´ ystupu lze pˇripojit hlaviˇcku, kde jsou uvedeny z´akladn´ı informace o mapˇe. Text hlaviˇcky je uloˇzen v extern´ım souboru, pouˇz´ıv´a speci´aln´ı form´atovac´ı znaˇcky pro vloˇzen´ı aktu´aln´ıho data, n´azvu rastru, lokace (viz ˇc´ast 2.1) apod. Jinak mapov´ y v´ ystup m˚ uˇze samozˇrejmˇe obsahovat jak´ekoli mnoˇzstv´ı textu, ten lze r˚ uznˇe barevnˇe zv´ yrazˇ novat. Texty lze modulem ps.map umist’ovat na konkr´etn´ı pozici zad´an´ım mapov´ ych souˇradnic, coˇz ostatn´ı programy nepodporuj´ı.
1.2
Porovn´ an´ı program˚ u z hlediska uˇ zivatelsk´ eho rozhran´ı
Uˇzivatel´e komunikuj´ı s programem vˇzdy pˇres urˇcit´e rozhran´ı. V dˇr´ıvˇejˇs´ıch dob´ach komunikace prob´ıhala pˇres pˇr´ıkazovou ˇra´dku (CLI – Command Line Interface) nebo pˇres textov´e uˇzivatelsk´e rozhran´ı (TUI ), dnes tento zp˚ usob ustupuje ve prospˇech grafick´eho uˇzivatelsk´eho rozhran´ı (GUI ). Kaˇzd´ y zp˚ usob m´a sv´a pro a proti, napˇr´ıklad pouˇz´ıv´an´ı pˇr´ıkazov´e ˇra´dky m˚ uˇze b´ yt velice efektivn´ı, ale pouze pro odborn´ıky. Naopak GUI umoˇzn ˇuje pouˇz´ıvan´ı programu bˇeˇzn´ ym uˇzivatel˚ um a pokud je dobˇre navrˇzen´e, rychle si program osvoj´ı a r´adi ho pouˇz´ıvaj´ı. Pro nˇekter´e oblasti, jakou je napˇr´ıklad i GIS, je GUI velice potˇrebn´e, protoˇze je tˇreba zobrazovat data a manipulovat s nimi interaktivnˇe. 1.2.1
Obecn´ e z´ asady GUI
GUI je dnes natolik samozˇrejmou souˇca´st´ı aplikace, ˇze jej mnoho uˇzivatel˚ u povaˇzuje za program samotn´ y a neuvˇedomuje si, ˇze jde pouze o rozhran´ı. Pokud je GUI navrˇzeno ˇspatnˇe, m˚ uˇze b´ yt samotn´ y program sebelepˇs´ı a pˇresto jej nebude cht´ıt nikdo pouˇz´ıvat.19 Navrhnout dobˇre vypadaj´ıc´ı a funkˇcn´ı GUI nen´ı v˚ ubec jednoduch´e a to pˇredevˇs´ım u rozs´ahl´ ych program˚ u se ˇsirokou funkcionalitou. N´asleduje nˇekolik obecn´ ych z´asad, kter´e by se pˇri tvorbˇe GUI mˇely dodrˇzet, obzvl´aˇstˇe jde-li o vˇetˇs´ı projekt. Tyto z´asady jsou pˇrevzaty z knihy [2] a okomentov´any. 18 19
http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf Naopak to samozˇrejmˇe plat´ı tak´e.
17
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Zamˇ eˇ rit se na uˇ zivatele, jejich znalosti a potˇ reby. Pˇri n´avrhu GUI se mus´ı br´at v u ´vahu, jak´a je c´ılov´a skupina uˇzivatel˚ u, jejich poˇc´ıtaˇcov´a gramotnost a znalost oblasti, kter´e se program t´ yk´a. D´ale je tˇreba porozumˇet ˇcinnostem, kter´e uˇzivatel´e v souˇcasnosti prov´ad´ı a vˇedˇet, jak ˇcasto jsou vykon´av´any. Nejprve si rozmyslet celkov´ e uspoˇ r´ ad´ an´ı. Nem´a smysl navrhovat GUI, kdyˇz nen´ı jasn´e, jakou funkcionalitu bude uˇzivatel˚ um nab´ızet. U vˇetˇs´ıch projekt˚ u je vhodn´e zaˇc´ıt s konceptu´aln´ım modelem popisuj´ıc´ım uspoˇra´d´an´ı dat, manipulace s nimi, interakce s uˇzivatelem, a aˇz n´aslednˇe pˇrem´ yˇslet, jak´ y vzhled m´a aplikace m´ıt. Vˇ z´ıt se do role uˇ zivatele. Software by nemˇel nutit uˇzivatele, aby pˇrem´ yˇslel, jak to v´ yvoj´aˇr programu myslel. Je tˇreba pouˇz´ıvat term´ıny, kter´ ym uˇzivatel´e rozum´ı a ne na nˇe mluvit v´ yrazy bˇeˇzn´ ymi mezi program´atory. Vˇz´ıt se do role uˇzivatele znamen´a i zvolit rozumnou hranici mezi zpˇr´ıstupnˇen´ı veˇsker´e funkcionality programu a sloˇzitost´ı jeho ovl´ad´an´ı. I velice obs´ahl´ y software m˚ uˇze b´ yt ovladateln´ y, pokud se pouˇzij´ı vhodn´e prostˇredky: pr˚ uvodce nastaven´ım, zakryt´ı pokroˇcil´ ych nastaven´ı, pouˇzit´ı vhodn´ ych implicitn´ıch hodnot ˇci nab´ıdka vzorov´ ych ˇreˇsen´ı (ˇsablon). Bˇ eˇ zn´ eˇ cinnosti mus´ı b´ yt jednoduˇ se dostupn´ e. Je d˚ uleˇzit´e rozliˇsit, kolik uˇzivatel˚ u danou ˇcinnost prov´ad´ı a jak ˇcasto. Obecnˇe plat´ı, ˇze ˇc´ım ˇcastˇeji je dan´a funkcionalita potˇrebn´a, t´ım m´enˇe kliknut´ı myˇsi by mˇel uˇzivatel vykonat. Z´aroveˇ n ˇc´ım v´ıce uˇzivatel˚ u danou funkcionalitu pouˇz´ıv´a, t´ım n´apadnˇejˇs´ı by mˇela b´ yt, aby ji vˇsichni uˇzivatel´e byli schopni nal´ezt. Proto je potˇreba se v n´avrhu GUI daleko v´ıce zab´ yvat bˇeˇzn´ ym pracovn´ım u ´kon˚ um neˇz okrajov´e funkcionalitˇe. ˇ Neodv´ adˇ et pozornost uˇ zivatele od sv´ ych vlastn´ıch u ´ kol˚ u. Spatnˇ e navrˇzen´a GUI uˇzivatele nut´ı pˇrem´ yˇslet, jak je ovl´adat, m´ısto toho, aby se vˇenovali sv´e pr´aci. Smysl jednotliv´ ych ovl´adac´ıch prvk˚ u a nastaven´ı by proto mˇel b´ yt zˇrejm´ y. Ulehˇ cit uˇ zivatel˚ um osvojov´ an´ı nov´ eho softwaru. Mimo jin´e to znamen´a nekl´ast uˇzivatel˚ um pˇrek´aˇzky, napˇr´ıklad v podobˇe nejednoznaˇcn´ ych popisk˚ u a
18
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
symbol˚ u. Tv˚ urci softwaru by mˇeli v rozumn´e m´ıˇre db´at na jednotnost a konzistenci ovl´ad´an´ı programu, t´ım se uˇcen´ı usnadn´ı. Dalˇs´ı potˇrebnou vlastnost´ı je bezpeˇcnost, tedy pokud uˇzivatel udˇel´a chybu, mˇelo by b´ yt snadn´e situaci napravit. Uˇzivatel´e tak mohou s klidem zkoumat dalˇs´ı funkcionalitu a nemus´ı se b´at, ˇze nˇeco zkaz´ı. Podstatn´ e je dod´ avat informace a ne pouze data. Pokud program zobrazuje data, kter´ ych si kv˚ uli ˇspatn´emu um´ıstˇen´ı nebo nedostateˇcn´emu zv´ yraznˇen´ı nikdo nevˇsimne, nepˇrin´aˇs´ı uˇzivatel˚ um vlastnˇe ˇz´adn´e informace. Z´aroveˇ n nen´ı vhodn´e pˇri zobrazen´ı nov´ ych informac´ı v´ yraznˇe mˇenit st´avaj´ıc´ı situaci na obrazovce poˇc´ıtaˇce, jako napˇr´ıklad pozici kurzoru ˇci oken. To uˇzivatele pouze dezorientuje a znejist´ı. Reagovat a informovat. Pokud aplikaci trv´a vykon´an´ı nˇekter´eho pˇr´ıkazu delˇs´ı dobu, je nutn´e uˇzivatele informovat, ˇze skuteˇcnˇe vykon´av´a jeho pˇr´ıkaz, a tak´e pˇr´ıpadnˇe sdˇelit, jak dlouho to jeˇstˇe potrv´a. U delˇs´ıch proces˚ u je vhodn´e nab´ıdnout jejich pˇredˇcasn´e ukonˇcen´ı. Pokud uˇzivatel nev´ı, co se s programem dˇeje, zkouˇs´ı klikat na vˇsechna moˇzn´a tlaˇc´ıtka, coˇz zanepr´azdnˇen´e aplikaci nepom˚ uˇze. I kdyˇz je aplikace pomˇernˇe pomal´a, m˚ uˇze b´ yt vn´ıman´a jako rychl´a, pokud d´av´a uˇzivateli vˇedˇet, co se pr´avˇe dˇeje. Testovat, vyhodnotit, opravit. Nˇekter´e chyby se daj´ı zjistit, aˇz kdyˇz s programem zaˇcnou uˇzivatel´e pracovat. Testov´an´ı je tˇreba prov´est samozˇrejmˇe pˇred uvolnˇen´ım softwaru. Pokud je tedy v´ yvoj programu ˇcasovˇe omezen, je nutn´e poˇc´ıtat i s ˇcasem str´aven´ ym nad vyhodnocen´ım testov´an´ı a n´asledn´ ymi opravami. N´asleduj´ıc´ı porovn´an´ı GUI v´ yˇse zm´ınˇen´ ych GIS program˚ u shrnuje jejich celkovou ovladatelnost a vzhled. Kromˇe toho upozorˇ nuji na nˇekolik chyb v GUI, na kter´e jsem pˇri testov´an´ı softwaru narazila, abych mohla uv´est konkr´etn´ı pˇr´ıpady poruˇsen´ı obecn´ ych z´asad. Snaˇzila jsem se hodnotit nez´avisle na tom, ˇze s nˇekter´ ymi z program˚ u m´am zkuˇsenosti, nicm´enˇe vˇzdy tak´e chci vyj´adˇrit sv˚ uj osobn´ı n´azor.
19
ˇ CVUT v Praze
1.2.2
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
ArcGIS
ArcGIS je software se ˇsirokou funkcionalitou, jeho GUI tedy muselo b´ yt ˇreˇseno velice peˇclivˇe, aby byl program ovladateln´ y. Tento nelehk´ yu ´kol se v´ıcem´enˇe zdaˇril, tomu napov´ıd´a i obrovsk´ y poˇcet uˇzivatel˚ u ArcGISu. Typick´ ymi prvky GUI jsou mod´aln´ı dialogy (nelze pracovat s programem, dokud s dialogov´e okno neukonˇc´ı), panely n´astroj˚ u (toolbar ), z´aloˇzky pro navigaci v dialogu (tab) a m´ıstn´ı nab´ıdka na prav´e tlaˇc´ıtko myˇsi (context menu). ArcGIS zvolil pro sv´e GUI uspoˇr´ad´an´ı oznaˇcovan´e jako SDI (Single Document Interface). To znamen´a, ˇze operaˇcn´ı syst´em s jednotliv´ ymi okny aplikace zach´az´ı samostatnˇe, okna pouˇz´ıvaj´ı vlastn´ı panely n´astroj˚ u a nemaj´ı sv´e rodiˇce“, v´ıce viz [16]. ” GUI ArcGISu celkovˇe trp´ı probl´emem vypl´ yvaj´ıc´ım z jeho ˇsirok´e funkcionality. Nezkuˇsen´emu uˇzivateli asi bude chv´ıli trvat, neˇz se jej nauˇc´ı ovl´adat, protoˇze bude pˇrehlcen vˇsemi moˇzn´ ymi nastaven´ımi. Osobnˇe jsem se pˇri porovn´av´an´ı funkcionality v kapitole 1.1.1 pot´ ykala s probl´emem, ˇze jsem se domn´ıvala, ˇze ArcGIS urˇcitou funkcionalitu nepodporuje, protoˇze jsem ji nenalezla. Aˇz v n´avodu na internetu [18] jsem zjistila opak. Zde je uvedeno nˇekolik probl´em˚ u, na kter´e jsem pˇri testov´an´ı narazila: Mnoho u ´ rovn´ı dialogov´ ych oken Z nˇekter´ ych dialogov´ ych oken lze vyvolat dalˇs´ı a t´ımto zp˚ usobem se lze dostat v jejich hierarchii velice hluboko, zejm´ena pˇri nastavov´an´ı vzhledu symbol˚ u. Uˇzivatel m˚ uˇze b´ yt dezorientov´an nˇekolika u ´rovnˇemi dialogov´ ych oken, proto by zanoˇren´ı nemˇelo pˇres´ahnout dvˇe u ´rovnˇe. Dvˇ e ˇ rady z´ aloˇ zek Nˇekter´a dialogov´a okna (napˇr´ıklad Data Frame Properties) maj´ı dvˇe ˇrady z´aloˇzek, coˇz nen´ı vhodn´e ˇreˇsen´ı. Pˇri oznaˇcen´ı z´aloˇzky z horn´ı ˇrady se cel´a ˇrada pˇresune dol˚ u, coˇz uˇzivatele m˚ uˇze pˇrekvapit a t´ım odv´est jeho pozornost od p˚ uvodn´ıho z´amˇeru. Pokud je z´aloˇzek tolik, ˇze se nevejdou do jedn´e ˇrady, je tˇreba zamyslet se nad pouˇzit´ım jin´eho ovl´adac´ıho prvku. Implicitn´ı chov´ an´ı koleˇ cka myˇ si Pˇribliˇzov´an´ı a oddalov´an´ı mapy lze ovl´adat koleˇckem myˇsi, nicm´enˇe ot´aˇcen´ı koleˇcka od sebe vyvol´a odd´alen´ı, coˇz u vˇetˇsiny podobn´ ych program˚ u funguje pˇresnˇe opaˇcnˇe. To je nepˇr´ıjemn´a vlastnost, zvl´aˇst’ 20
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
kdyˇz vykreslov´an´ı trv´a pomˇernˇe dlouho. Jak jsem zjistila, toto nastaven´ı lze zmˇenit, mnoh´e uˇzivatele ale moˇzn´a nenapadne toto nastaven´ı hledat. Sloˇ zit´ e nastaven´ı p´ısma Typick´ ym pˇr´ıkladem poruˇsen´ı z´asady, ˇze bˇeˇzn´e ˇcinnosti mus´ı b´ yt jednoduˇse dostupn´e je dialogov´e okno pro nastaven´ı vlastnosti p´ısma u vkl´adan´eho textu, viz obr´azek ˇc. 3. Obvykl´ ym poˇzadavkem je nastaven´ı fontu a jeho velikosti, naopak volba u ´hlu rotace a velikosti mezer mezi znaky se ˇcasto nepouˇz´ıv´a. Tyto poˇzadavky dialog v˚ ubec nerespektuje, pokud uˇzivatel chce zmˇenit velikost fontu (a to chce t´emˇeˇr pokaˇzd´e), mus´ı kliknout na tlaˇc´ıtko Change Symbol . . . , kter´e otevˇre dalˇs´ı dialogov´e okno s nastaven´ım. Popisek tlaˇc´ıtka je matouc´ı, protoˇze uˇzivatel nechce mˇenit symbol, ale font. Toto d˚ uleˇzit´e tlaˇc´ıtko nav´ıc ponˇekud zanik´a v celkov´em rozvrˇzen´ı, je ve stejn´e u ´rovni jako ne pˇr´ıliˇs d˚ uleˇzit´e tlaˇc´ıtko n´apovˇedy. Tv˚ urci si tohoto probl´emu evidentnˇe byli vˇedomi, jelikoˇz se snaˇz´ı situaci napravit jemn´ ym zv´ yraznˇen´ım d˚ uleˇzit´eho tlaˇc´ıtka. Na tomto dialogu lze demonstrovat jeˇstˇe jednu drobnou chybu, a tou je nespr´avn´e pouˇzit´ı textov´eho pole (text box, edit field ) m´ısto popisku (label ). Vyvol´av´a totiˇz dojem, ˇze font lze takto editovat. ˇ sen´ı probl´emu sloˇzit´eho nastaven´ı fontu nemus´ı b´ Reˇ yt obt´ıˇzn´e, staˇcilo by d´at uˇzivateli moˇznost nastavit font a velikost pˇr´ımo v tomto dialogu a tlaˇc´ıtko Change Symbol . . . nahradit Advanced settings . . .
Obr´azek 3: ArcGIS: Pˇr´ıklad ˇspatnˇe navrˇzen´eho dialogu
21
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Pr˚ uvodce nastaven´ım legendy Nastaven´ı legendy je pomˇernˇe sloˇzit´e, proto ArcGIS pˇri vkl´ad´an´ı legendy spust´ı pr˚ uvodce nastaven´ım, coˇz je urˇcitˇe vhodn´e ˇreˇsen´ı. M´a ale nˇekter´e chyby. Pokud v kter´emkoli kroku zm´aˇcknete tlaˇc´ıtko N´ahled (Preview ), zobraz´ı se legenda a kromˇe toho se tak´e zmˇen´ı tlaˇc´ıtko Dalˇs´ı na Dokonˇcit. Uˇzivatel si pak klade ot´azku, proˇc mus´ı nejprve zm´aˇcknout nesouvisej´ıc´ı tlaˇc´ıtko N´ahled, aby mohl zbytek pr˚ uvodce nastaven´ım pˇreskoˇcit. Proˇc nem˚ uˇze b´ yt tlaˇc´ıtko Dokonˇcit pˇr´ıtomn´e neust´ale? Koncept pr˚ uvodce nastaven´ım m´a jeˇstˇe jednu chybu. Pokud chcete vytvoˇrenou legendu vz´apˇet´ı mˇenit, otevˇre se dialog se z´aloˇzkami, kter´e ovˇsem strukturou a pouˇzit´ ymi n´azvy pˇr´ıliˇs neodpov´ıdaj´ı pr˚ uvodci nastaven´ım, coˇz vede ke zmaten´ı uˇzivatele.
Obr´azek 4: ArcGIS: Neoˇcek´avan´e chov´an´ı pr˚ uvodce nastaven´ım legendy
Pr˚ uvodce nastaven´ım zemˇ episn´ e s´ıtˇ e U pr˚ uvodce nastaven´ım zemˇepisn´e s´ıtˇe jsem narazila na chybu, kter´a se projev´ı, kdyˇz se chce uˇzivatel vr´atit k pˇredchoz´ım krok˚ um. Pr˚ uvodce totiˇz obnov´ı implicitn´ı hodnoty, takˇze uˇzivatel, kter´ y se chtˇel jen pod´ıvat o krok zpˇet, aby se ujistil o spr´avn´em nastaven´ı, mus´ı vˇse nastavovat znovu. Na tento probl´em jsem v ostatn´ıch pr˚ uvodc´ıch nenarazila. ArcGIS m´a GUI velice propracovan´e, proto bych chtˇela nˇekolik detail˚ u vyzdvihnout: M´ıstn´ı nab´ıdka (Context Menu) Nab´ıdka vyvolan´a zm´aˇcknut´ım prav´eho tlaˇc´ıtka myˇsi, kter´a je v ArcGISu hojnˇe vyuˇz´ıvan´a, je efektivn´ım n´astrojem, d´ıky 22
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
kter´emu se uˇzivatel rychle dostane, kam potˇrebuje. Nav´ıc orientaci v nab´ıdce usnadn ˇuj´ı postrann´ı ikonky, d´ıky kter´ ym uˇzivatel hned pochop´ı, co funkce znamen´a. Rozvrˇ zen´ı ovl´ adac´ıch prvk˚ u Vˇetˇsina dialogov´ ych oken m´a uspokojiv´e rozvrˇzen´ı jednotliv´ ych ovl´adac´ıch prvk˚ u a z´aroveˇ n je i spr´avnˇe pouˇz´ıv´a. Obecnˇe plat´ı, ˇze rozvrˇzen´ı mus´ı respektovat, zda prvky spolu souvis´ı ˇci ne. Pˇr´ıklad na obr´azku ˇc. 5 ukazuje jedno z moˇzn´ ych spr´avn´ ych ˇreˇsen´ı, kter´e m´a n´asleduj´ıc´ı v´ yhody: 1) obr´azek zobrazuje vliv r˚ uzn´ ych pˇrep´ınaˇc˚ u a t´ım usnadˇ nuje uˇzivateli volbu; 2) vhodn´e rozdˇelen´ı a popis textov´ ych pol´ı jasnˇe uˇzivateli sdˇeluje, v jak´em form´atu m´a co kam zadat; 3) vhodnˇe pouˇzit´e r´ameˇcky vizu´alnˇe sdruˇzuj´ı souvisej´ıc´ı ovl´adac´ı prvky.
Obr´azek 5: ArcGIS: Pˇr´ıklad vhodn´eho rozvrˇzen´ı a pouˇzit´ı ovl´adac´ıch prvk˚ u
Pouˇ zit´ı panel˚ u n´ astroj˚ u Funkcionalita ArcGISu je pˇr´ıstupn´a nejl´epe pomoc´ı r˚ uzn´ ych panel˚ u n´astroj˚ u (toolbar ). V´ yhoda je, ˇze pokud uˇzivatel urˇcitou funkcionalitu nepotˇrebuje, m˚ uˇze panel zavˇr´ıt a ten pak zbyteˇcnˇe nepˇrek´aˇz´ı. Z´aroveˇ n se panely daj´ı r˚ uznˇe posouvat, jsou souˇc´ast´ı liˇsty nebo mohou st´at samostatnˇe. 1.2.3
gvSIG
Na rozd´ıl od ArcGISu zvolil gvSIG typ rozhran´ı MDI (Multiple Document Interface), vyznaˇcuj´ıc´ı se jedn´ım rodiˇcovsk´ ym oknem. To vlastn´ı jednotliv´e dokumenty (v prostˇred´ı gvSIGu v´ yˇse zmiˇ novan´e Map, View, Table) jako sv´e potomky, kteˇr´ı sd´ıl´ı spoleˇcn´ y panel n´astroj˚ u. MDI m˚ uˇze b´ yt obt´ıˇznˇejˇs´ı na ovl´ad´an´ı, z´aleˇz´ı na konkr´etn´ı
23
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
implementaci, v´ıce viz [17]. V pˇr´ıpadˇe gvSIGu je probl´emem napˇr´ıklad mˇen´ıc´ı se panel n´astroj˚ u v z´avislosti na aktivn´ım oknˇe, coˇz je znaˇcnˇe matouc´ı. U GUI programu gvSIG je patrn´a m´ırn´a nekonzistentnost ve vzhledu dialogov´ ych oken. Nˇekter´a dialogov´a okna se n´apadnˇe podobaj´ı tˇem v ArcGISu. Na prvn´ı pohled je to patrn´e v dialogu nastavuj´ıc´ım vlastnosti vrstev, v z´aloˇzce symbologie. Tato podoba ale nen´ı na z´avadu, uˇzivatel se tak pˇri pouˇzit´ı nov´eho programu nemus´ı nic uˇcit. Vˇetˇsina ostatn´ıch dialogov´ ych oken uˇz ale podobn´a nen´ı. Na obr´azku ˇc. 6 jsou patrn´e nˇekter´e drobn´e chyby, kter´e vysvˇetl´ım: 1) nekonzistence v popisu tlaˇc´ıtek – stejn´a funkce ale jin´ y popis; 2) pˇri otevˇren´ı dialogov´eho okna je sice uvedena nab´ıdka moˇznost´ı, ale ˇza´dn´a nen´ı vybr´ana, uˇzivatel si toho nevˇsimne; 3) uk´azka nevhodn´eho rozloˇzen´ı ovl´adac´ıch prvk˚ u, lze jen tˇeˇzko pˇredpokl´adat, ˇze tlaˇc´ıtko Configure patˇr´ı k zaˇskrt´avac´ımu poli Show grid ; 4) uˇzivatel netuˇs´ı, co si m´a za tˇri teˇcky doplnit; 5) opˇet nevhodn´e rozloˇzen´ı ovl´adac´ıch prvk˚ u, nastaven´ı fontu nesouvis´ı s ostatn´ımi tlaˇc´ıtky v ˇradˇe.
Obr´azek 6: gvSIG: Nekonzistence a chyby ve vzhledu dialogov´ ych oken Dalˇs´ı vˇec´ı, se kterou jsem nebyla pˇr´ıliˇs spokojen´a, je panel n´astroj˚ u. Pˇri pˇresouv´an´ı jednotliv´ ych ˇca´st´ı nereagoval, jak bych ˇcekala. Nav´ıc ovl´ad´an´ım pohledu ( zoomov´an´ım“) se zab´ yvalo tolik podobn´ ych tlaˇc´ıtek, ˇze ve v´ ysledku jsem netuˇsila, ” kter´e zvolit. To by nevadilo, kdyby ˇslo pˇribliˇzovat koleˇckem myˇsi, coˇz ale nefunguje. Jak je vidˇet na obr´azku ˇc. 7, dvˇe naprosto stejn´e ikonky maj´ı r˚ uzn´e v´ yznamy (prvn´ı ruˇciˇcka pohybuje se zobrazovan´ ymi daty ve v´ yˇrezu, druh´a pohybuje celou str´ankou). Nav´ıc zobrazen´a kontextov´a n´apovˇeda je evidentnˇe chybn´a.
ˇ ast panelu n´astroj˚ Obr´azek 7: gvSIG: C´ u
24
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Celkovˇe nen´ı GUI navrˇzeno ˇspatnˇe, na druhou stranu mne nenapad´a, co bych na nˇem vyzdvihla. Drobn´e nedostatky a dokonce i pˇreklepy bohuˇzel trochu kaz´ı celkov´ y dojem. Z estetick´eho hlediska nen´ı GUI silnou str´ankou programu, nicm´enˇe to je pouze m˚ uj osobn´ı n´azor. 1.2.4
QGIS
GUI programu QGIS nep˚ usob´ı sloˇzitˇe i d´ıky tomu, ˇze QGIS nenab´ız´ı takov´e mnoˇzstv´ı r˚ uzn´ ych nastaven´ı. Stejnˇe jako ArcGIS pouˇz´ıv´a uspoˇr´ad´an´ı SDI, coˇz zlepˇsuje pˇrehlednost. V r´amci porovn´an´ı se zamˇeˇr´ım pˇrev´aˇznˇe na GUI pro tvorbu mapov´eho v´ ystupu – Map Composer. Je tvoˇren samostatn´ ym oknem a m´a vlastn´ı panel n´astroj˚ u, sd´ıl´ı ale data a jejich symbologii. T´ım se liˇs´ı od ArcGISu i gvSIGu, kter´e ˇ asteˇcn´e oddˇelen´ı maj´ı tvorbu map v r˚ uzn´e m´ıˇre integrovanou v oknˇe aplikace. C´ od zbytku programu m´a sv´e v´ yhody a nev´ yhody, mne osobnˇe vyhovuje v´ıce neˇz pln´a integrace, protoˇze zjednoduˇsuje ovl´ad´an´ı. Kdyˇz chce uˇzivatel vytv´aˇret mapov´ y v´ ystup, nezaj´ım´a ho vˇetˇsinou jin´a funkcionalita a sp´ıˇse mu ostatn´ı panely n´astroj˚ u pˇrek´aˇz´ı. Zat´ımco u program˚ u ArcGIS a gvSIG se vlastnosti jednotliv´ ych mapov´ ych element˚ u nastavuj´ı v samostatn´ ych dialogov´ ych oknech, QGIS soustˇred’uje nastaven´ı do dvou z´aloˇzek, v prvn´ı je obecn´e nastaven´ı a obsah druh´e se dynamicky mˇen´ı podle vybran´eho mapov´eho elementu. Aby se vˇsechny volby do z´aloˇzky veˇsly, jsou volby rozˇclenˇeny do jednotliv´ ych panel˚ u, kter´e se podle potˇreby odkr´ yvaj´ı a zakr´ yvaj´ı, viz obr´azek ˇc. 8. Tento ovl´adac´ı prvek nem´a ust´alen´ y n´azev a pro nˇekter´e uˇzivatele m˚ uˇze b´ yt nezvykl´ y. Mne osobnˇe pˇrijde velice uˇziteˇcn´ y, protoˇze uˇsetˇr´ı mnoho m´ısta a z´aroveˇ n jsou volby dostupn´e a pˇrehlednˇe uspoˇra´dan´e pod sebou. Neuˇskodilo by vˇsak vˇetˇs´ı zv´ yraznˇen´ı jednotliv´ ych poloˇzek. Map Composer pouˇz´ıv´a k ovl´ad´an´ı pohledu na mapu pouze tˇri tlaˇc´ıtka na panelu n´astroj˚ u a postrann´ı liˇsty. I kdyˇz je ovl´ad´an´ı m´enˇe komfortn´ı, m´a tu v´ yhodu, ˇze se uˇzivatel nemus´ı dlouze zam´ yˇslet nad t´ım, kter´e z mnoha podobn´ ych tlaˇc´ıtek s lupou je to spr´avn´e. GUI QGISu je pomˇernˇe jednoduch´e i proto, ˇze program neposkytuje tak ˇsirok´e moˇznosti. Pro mnoho uˇzivatel˚ u to vˇsak m˚ uˇze znamenat i v´ yhodu, jelikoˇz nen´ı tˇreba prov´adˇet tolik voleb. Z estetick´eho hlediska mi GUI QGISu vyhovuje ze vˇsech v´ yˇse 25
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
Obr´azek 8: QGIS: Hlavn´ı ovl´adac´ı prvek jmenovan´ ych program˚ u asi nejv´ıce, coˇz je sice nepodstatn´e krit´erium pˇri volbˇe softwaru, ale hezk´e GUI dok´aˇze zpˇr´ıjemnit jeho pouˇz´ıv´an´ı.
1.3
Shrnut´ı porovn´ an´ı
Je d˚ uleˇzit´e, aby software pro mapov´e v´ ystupy splˇ noval pomˇernˇe konzervativn´ı kartografick´e z´asady, a na to nejsou potˇreba des´ıtky r˚ uzn´ ych nastaven´ı. Pˇr´ıliˇs ˇsirok´e moˇznosti v nastaven´ı maj´ı nˇekolik d˚ usledk˚ u. GUI mus´ı b´ yt nutnˇe sloˇzitˇejˇs´ı, aby pokrylo veˇskerou funkcionalitu, je tedy n´aroˇcnˇejˇs´ı ho navrhnout. Napˇr´ıklad v pˇr´ıpadˇe ArcGISu, kter´ y je z vybran´ ych program˚ u s GUI nejrozs´ahlejˇs´ı, se GUI d´a povaˇzovat za pomˇernˇe dobˇre navrˇzen´e. Dalˇs´ım d˚ usledkem rozs´ahl´ ych nastaven´ı je fakt, ˇze podnˇecuj´ı nezkuˇsen´e uˇzivatele, aby vyzkouˇseli a pouˇzili vˇsechna dostupn´a nastaven´ı, coˇz posl´eze vede k pˇrekombinovan´emu a nevkusn´emu v´ ysledku. To hroz´ı hlavnˇe u program˚ u s GUI, nastavov´an´ı pˇres pˇr´ıkazovou ˇra´dku u GMT totiˇz vyˇzaduje vˇetˇs´ı soustˇredˇen´ı. Pˇri rozhodov´an´ı, kter´ y software zvolit, je dobr´e se zamyslet nad t´ım, jak´a funkcionalita je potˇrebn´a a kolik financ´ı a ˇcasu lze investovat. Nˇekter´e programy jako GMT (ˇci propriet´arn´ı software OCAD 20 ) jsou specializovan´e na tvorbu mapov´ ych v´ ystup˚ u, v nˇekter´ ych jin´ ych oblastech GISu by ale pravdˇepodobnˇe nedostaˇcovaly. Tak´e je 20
http://www.ocad.com/en/index.htm
26
ˇ CVUT v Praze
´ ´ ˚ 1 PROGRAMY PRO TVORBU MAPOVYCH VYSTUP U
nutn´e zv´aˇzit, v jak´em form´atu jsou dostupn´a data, programy pracuj´ı s daty v r˚ uzn´ ych form´atech a konverze jsou sice bˇeˇznou souˇca´st´ı funkcionality program˚ u, ale ne vˇzdy probˇehnou bez probl´em˚ u. Jedn´ım z dalˇs´ıch faktor˚ u je kvalifikovanost uˇzivatel˚ u – pr´aci s ArcGISem zvl´adne i m´enˇe zkuˇsen´ y uˇzivatel, naopak u GRASSu a GMT je vhodn´a alespoˇ n ˇca´steˇcn´a znalost z oblasti GIS a informaˇcn´ıch technologi´ı. 1.3.1
Uk´ azky mapov´ ych v´ ystup˚ u
V pˇr´ıloze D, v ˇc´astech D.1 aˇz D.3 jsou k nahl´ednut´ı mapov´e v´ ystupy vytvoˇren´e v programech ArcGIS, QGIS a ps.map (prostˇrednictv´ım nov´eho GUI wx.psmap). V´ ystupy jsou vytvoˇreny s podobnou kompozic´ı a ze stejn´ ych dat (uk´azkov´a data ˇ 500 dostupn´a z [13]). V´ z digit´aln´ı vektorov´e geografick´e datab´aze ArcCR ystupy jsou vytv´aˇreny tak, aby si byly co nejv´ıce podobn´e, ale z´aroveˇ n, aby uk´azaly alespoˇ n nˇekter´e rozd´ıly mezi programy. Tyto mapov´e v´ ystupy jsou velice jednoduch´e a maj´ı za c´ıl pouze demonstrovat vzhled z´akladn´ıch mapov´ ych prvk˚ u jako legenda, mˇeˇr´ıtko a textov´ y popis. V´ ystupy obsahuj´ı jednu rastrovou a nˇekolik vektorov´ ych vrstev. Jejich zobrazen´ı se v podstatˇe neliˇs´ı. Nejvˇetˇs´ı rozd´ıl lze pozorovat u legendy. Jak bylo jiˇz zm´ınˇeno v ˇc´asti 1.1.3, QGIS se nedok´aˇze vypoˇra´dat s rastrovou legendou. Grafick´e mˇeˇr´ıtko je u vˇsech v´ ystup˚ u podobn´e, pouze QGIS neumoˇzn ˇuje vynechat ˇ ıseln´e mˇeˇr´ıtko u modulu ps.map bylo nahrazeno popisky nad segmenty mˇeˇr´ıtka. C´ objektem mapinfo (viz 1.1.5). Smˇer na sever nen´ı ve v´ ystupu z wx.psmap dostupn´ y. U v´ ystupu z programu ArcGIS je pˇrid´ana orientaˇcn´ı mapka, ta u ostatn´ıch v´ ystup˚ u nelze jednoduˇse vytvoˇrit a tud´ıˇz chyb´ı. Text je z´amˇernˇe uveden v anglick´em jazyce, protoˇze ps.map ˇceˇstinu nepodporuje. V pˇr´ıloze D.4 a D.5 je uk´azka vizualizace dat ZABAGED, laskavˇe poskytnut´ ych 21 ˇ ˇ UZK ´ C (Cesk´y u ´ˇrad zemˇemˇeˇrick´y a katastr´aln´ı). Pouˇzila jsem jiˇz hotov´ y mapov´ y v´ ystup vypracovan´ y v r´amci pˇredmˇetu Topografick´a a tematick´a kartografie [15] v programu ArcGIS a podobn´ y v´ ystup jsem vytvoˇrila prostˇrednictv´ım wx.psmap. Bylo vynech´ano nˇekolik vrstev, kter´e bud’ nebyly podstatn´e, nebo je neˇslo adekv´atnˇe zobrazit (lanovka), a tak´e ˇc´ıseln´e mˇeˇr´ıtko z v´ yˇse zm´ınˇen´ ych d˚ uvod˚ u. Legendu jsem nevyhotovovala, jej´ı vzhled by byl podobn´ y jako v uk´azce D.3. Titulek a tir´aˇz jsou v anglick´em jazyce, viz v´ yˇse. V´ ysledek ukazuje, ˇze s pomoc´ı modulu ps.map 21
http://www.cuzk.cz
27
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
(prostˇrednictv´ım wx.psmap) lze dos´ahnout mapov´ ych v´ ystup˚ u kvalitativnˇe srovnateln´ ych s ArcGISem.
2
Syst´ em GRASS GIS
GRASS GIS (Geographical Resources Analysis Support System) je jedn´ım z nejrozs´ahlejˇs´ıch Free Software 22 geografick´ ych informaˇcn´ıch syst´em˚ u, publikovan´ ych pod licenc´ı GNU GPL. Obsahuje v´ıce neˇz 400 program˚ u pro spr´avu prostorov´ ych dat, zpracov´an´ı obrazov´ ych dat leteck´ ych a druˇzicov´ ych sn´ımk˚ u, anal´ yzu a vizualizaci dat rastrov´ ych a vektorov´ ych. Mnoho dalˇs´ıch modul˚ u je aktivnˇe vyv´ıjeno v r´amci GRASS AddOns 23 , aby mohly b´ yt v budoucnu souˇc´ast´ı hlavn´ı distribuce GRASSu. GRASS GIS je naps´an v jazyce C/C++ a je multiplatformn´ı. GRASS GIS je projektem s dlouhou histori´ı [1]. Byl vyv´ıjen od roku 1982 laboratoˇremi v USA (USA-CERL24 ) pro vojensk´e u ´ˇcely. Koncem 80. let poskytl CERL zdrojov´e k´ody veˇrejnosti a GRASS se bˇehem nˇekolika let rozˇs´ıˇril po cel´em svˇetˇe. V´ yvoj pˇrevzaly Baylor University v Texasu, Universt¨at Hannover a dalˇs´ı instituce pod souhrnn´ ym n´azvem GRASS Development Team. V roce 1998 byla uvolnˇena verze GRASS 4.2.1 a v souˇcasnosti je posledn´ı uvolnˇenou verz´ı GRASS 6.4.125 . V´ yvoj nyn´ı prob´ıh´a na nejnovˇejˇs´ı verzi GRASS 7, kter´a sice jeˇstˇe nen´ı plnˇe pˇripraven´a k uvolnˇen´ı, ale je funkˇcn´ı. Pro v´ıce informac´ı o v´ yvoji, funkˇcnosti a pouˇzit´ı GRASS GIS nahl´ednˇete do knihy [1] nebo na ofici´aln´ı webov´e str´anky http://grass.osgeo.org. Postup instalace pro operaˇcn´ı syst´em GNU/Linux, distribuci Debian a Ubuntu lze naj´ıt v pˇr´ıloze A nebo detailnˇeji na webov´ ych str´ank´ach [12].
2.1
Z´ akladn´ı pojmy
Jelikoˇz jsou v dalˇs´ım textu pouˇzity nˇekter´e pojmy specifick´e pro GRASS, je tˇreba je alespoˇ n trochu pˇribl´ıˇzit ˇcten´aˇr˚ um bez pˇredchoz´ıch znalost´ı syst´emu GRASS. Tyto 22
http://www.gnu.org/philosophy/free-sw.html http://grass.osgeo.org/wiki/GRASS_AddOns 24 http://www.cecer.army.mil 25 http://grass.osgeo.org/announces/announce_grass641.html 23
28
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
pojmy (ˇcerp´ano z n´avod˚ u na cviˇcen´ı [14]) souvis´ı pˇredevˇs´ım se strukturou dat, kterou GRASS pouˇz´ıv´a. Pro podrobnˇejˇs´ı informace n´ahlednˇete do [1]. Database neboli databanka pˇredstavuje adres´aˇr (ˇcasto b´ yv´a naz´ yv´an grassdata), kter´ y obsahuje veˇsker´a data, s nimiˇz GRASS pracuje. Location neboli lokace je adres´aˇr nach´azej´ıc´ı se v databance. Urˇcen je souˇradnicov´ ym syst´emem a u ´zemn´ım rozsahem. Jedna lokace vˇetˇsinou odpov´ıd´a jednomu projektu. Mapset je soubor map (rastrov´e, vektorov´e, . . . ) v r´amci jedn´e lokace. Jedna lokace obsahuje minim´alnˇe jeden mapset s n´azvem PERMANENT, kter´ y slouˇz´ı jako zdroj dat pro dalˇs´ı mapsety, kter´e jsou pracovn´ı. Tyto mapsety zpravidla odpov´ıdaj´ı jednotliv´ ym uˇzivatel˚ um, pˇr´ıpadnˇe r˚ uzn´ ym anal´ yz´am. Region urˇcuje u ´zemn´ı rozsah ve tvaru obd´eln´ıku a tak´e rozliˇsen´ı u rastrov´ ych map. Jde o kl´ıˇcov´ y pojem, protoˇze pˇri pr´aci v GRASSu je tˇreba nastaven´ı regionu ˇcasto ˇreˇsit. Rozliˇsujeme v´ ychoz´ı region (pro celou lokaci) a aktu´aln´ı (v´ ypoˇcetn´ı) region. T´emˇeˇr veˇsker´e manipulace s rastrov´ ymi daty se pak t´ ykaj´ı aktu´alnˇe nastaven´eho regionu. K nastaven´ı regionu slouˇz´ı modul g.region, kter´ y umoˇzn´ı nastavit region podle konkr´etn´ı mapy, pˇr´ım´ ym zad´an´ım hraniˇcn´ıch souˇradnic, nebo z jiˇz uloˇzen´eho regionu (named region).
2.2
GUI syst´ emu GRASS
P˚ uvodnˇe byl syst´em GRASS GIS ovl´ad´an pouze z pˇr´ıkazov´e ˇra´dky, ostatnˇe v dob´ach jeho vzniku nemohla b´ yt o nˇeˇcem jin´em ani ˇreˇc. Nicm´enˇe postupem ˇcasu vzr˚ ustal ze strany uˇzivatel˚ u tlak na vytvoˇren´ı GUI. Prvn´ı GUI naz´ yvan´e TCLTKGRASS bylo naps´ano v roce 1999 v programovac´ım jazyce Tcl s vyuˇzit´ım knihovny Tk 26 . N´astupcem byly v dalˇs´ıch verz´ıch GRASS 6 Display Manager a pot´e GIS Manager, st´ale napsan´e pomoc´ı Tcl/Tk. Vzhledem k omezen´ım Tcl/Tk bylo rozhodnuto pˇrepsat GUI pomoc´ı modernˇejˇs´ı knihovny. Po zv´aˇzen´ı r˚ uzn´ ych aspekt˚ u (pˇrenositelnost, dostateˇcn´a funkcionalita, obl´ıbenost u v´ yvoj´aˇr˚ u) byl vybr´an wxPython 27 , kter´ y 26 27
http://www.tcl.tk http://www.wxpython.org
29
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
obaluje knihovnu wxWidgets 28 , implementovanou v C++. Nov´e GUI GRASSu je tedy naps´ano v programovac´ım jazyce Python29 . V´ıce informac´ı o v´ yvoji GUI syst´emu GRASS lze naj´ıt v [7]. Nov´e grafick´e uˇzivatelsk´e rozhran´ı wxGUI bylo vyv´ıjeno od roku 2006 a je dostupn´e od verze 6.4. Skl´ad´a se ze dvou hlavn´ıch komponent – Layer Manager a Map Display Window, viz obr. ˇc. 9. Layer Manager spravuje mapov´e vrstvy, umoˇzn ˇuje spouˇstˇet GRASS moduly a zobrazuje v´ ystup program˚ u. Map Display Window pˇredevˇs´ım zobrazuje mapov´e vrstvy a ovl´ad´a pohled (pˇribl´ıˇzen´ı, posunut´ı). Vˇetˇsina modul˚ u se ovl´ad´a prostˇrednictv´ım dialog˚ u generovan´ ych z XML popisu jejich rozhran´ı, nˇekter´e maj´ı sv´e samostatnˇe vytvoˇren´e dialogy.
(a) Layer Manager
(b) Map Display Window
Obr´azek 9: Dvˇe hlavn´ı komponenty wxGUI v GRASS 7 Alternativou vlastn´ıho GUI syst´emu GRASS, je jiˇz zmiˇ novan´ y program QGIS. D´ıky u ´zk´e spolupr´aci obou program˚ u, lze QGIS pouˇz´ıvat i jako GUI pro GRASS a mnoho uˇzivatel˚ u si tento zp˚ usob obl´ıbilo.
2.3
Modul ps.map
Modul ps.map je v souˇcasnosti nejvhodnˇejˇs´ı prostˇredek pro tvorbu mapov´ ych v´ ystup˚ u v GRASSu. Dalˇs´ı alternativou je zobrazit si potˇrebn´e mapov´e vrstvy v mapov´em oknˇe (Map Display Window) a upravit jejich vzhled, pˇr´ıpadnˇe zobrazit i legendu ˇci mˇeˇr´ıtko. Zde jsou moˇznosti pomˇernˇe omezen´e, nav´ıc lze v´ ystup uloˇzit pouze jako 28 29
http://wxwidgets.org http://python.org
30
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
rastrov´ y obr´azek a celkovˇe tento zp˚ usob nen´ı pˇr´ıliˇs vhodn´ y pro tvorbu mapov´eho v´ ystupu. Modul ps.map lze jako vˇetˇsinu modul˚ u pouˇz´ıvat z pˇr´ıkazov´e ˇr´adky GRASSu nebo prostˇrednictv´ım GUI, kter´e je vytvoˇreno stejn´ ym zp˚ usobem jako u vˇetˇsiny ostatn´ıch modul˚ u, dovoluje tedy zadat parametry pˇr´ıkazu v dialogu. V tomto pˇr´ıpadˇe ale spouˇstˇen´ı prostˇrednictv´ım GUI nesk´ yt´a mimoˇra´dnou v´ yhodu, jelikoˇz v z´asadˇe vˇetˇsinou staˇc´ı zadat jm´eno jiˇz pˇripraven´eho konfiguraˇcn´ıho souboru a souboru v´ ystupn´ıho, coˇz je pro mnoh´e uˇzivatele pohodlnˇejˇs´ı prostˇrednictv´ım pˇr´ıkazov´e ˇra´dky. V pˇr´ıkazov´e ˇra´dce vypad´a spuˇstˇen´ı ps.map takto: ps.map input=/konfiguracni/soubor.txt output=/vystupni/soubor.ps Jak jiˇz bylo zm´ınˇeno v ˇc´asti 1.1.5, modul vytv´aˇr´ı mapov´ y v´ ystup na z´akladˇe konfiguraˇcn´ıho souboru, coˇz je obyˇcejn´ y textov´ y soubor s instrukcemi. Vytvoˇrit tento soubor je vˇetˇsinou pomˇernˇe pracn´e, umist’ov´an´ı mapov´ ych prvk˚ u na vhodnou pozici se ˇcasto neobejde bez vedlejˇs´ıch v´ ypoˇct˚ u, coˇz ke komfortu pouˇz´ıv´an´ı pˇr´ıliˇs nepˇrisp´ıv´a. Z toho je zˇrejm´e, ˇze v souˇcasnosti ps.map vyuˇz´ıv´a pouze pomˇernˇe u ´zk´a komunita uˇzivatel˚ u GRASSu. Nov´e GUI wx.psmap pˇr´ımo vytv´aˇr´ı konfiguraˇcn´ı soubor, na z´akladˇe nˇehoˇz pot´e ps.map vygeneruje mapov´ y v´ ystup. Nen´ı pak tˇreba se konfiguraˇcn´ım souborem zab´ yvat, coˇz m˚ uˇze zpˇr´ıjemnit pouˇz´ıv´an´ı tohoto modulu, a t´ım i rozˇs´ıˇrit ˇrady jeho uˇzivatel˚ u. 2.3.1
Konfiguraˇ cn´ı soubor
Konfiguraˇcn´ı soubor m´a pomˇernˇe jednoduchou strukturu. Skl´ad´a se z instrukc´ı, kter´e mus´ı b´ yt na samostatn´ ych ˇra´dc´ıch. Instrukce mohou obsahovat dalˇs´ı d´ılˇc´ı instrukce um´ıstˇen´e opˇet na samostatn´ ych ˇra´dc´ıch. Tyto v´ıceˇra´dkov´e instrukce mus´ı b´ yt ukonˇceny instrukc´ı end, kter´a mus´ı b´ yt uvedena i na konci cel´eho konfiguraˇcn´ıho souboru. D´ılˇc´ı instrukce je moˇzn´e ve vˇetˇsinˇe pˇr´ıpad˚ u vynechat a pro nastaven´ı dan´e vlastnosti se pouˇzije implicitn´ı hodnota. Koment´aˇre lze zapisovat pomoc´ı znaku #, pr´azdn´e ˇr´adky jsou ignorov´any. Poˇrad´ı instrukc´ı vˇetˇsinou nehraje roli s v´ yjimkou instrukc´ı vpoints, vlines a vareas, kter´e vykresluj´ı vektorov´e vrstvy. Prvn´ı uveden´a vektorov´a vrstva bude vykreslena nejv´ yˇse. V´ıce napov´ı uk´azka jednoduch´eho konfiguraˇcn´ıho souboru na stranˇe 32. 31
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
Pˇr´ıklad jednoduch´eho konfiguraˇcn´ıho souboru paper a3 end raster s o i l s
# p r i k l a d jednoradkove instrukce
border y
# priklad viceradkove instrukce . . .
color 255:0:0 width 3 end
# . . . u k o n c e n e i n s t r u k c i end
vpoints a r c h s i t e s symbol b a s i c / diamond s i z e 10 end end
# konec i n s t r u k c i
V´ yznam jednotliv´ ych instrukc´ı je pops´an v manu´alov´e str´ance k modulu, kter´a je dostupn´a bud’ prostˇrednictv´ım GUI nebo na webov´ ych str´ank´ach [4]. 2.3.2
Volba rozsahu zobrazovan´ eho u ´ zem´ı
V konfiguraˇcn´ım souboru lze nastavit velikost mapov´eho r´amce, ˇc´ımˇz je myˇslen obd´eln´ık s vykreslenou rastrovou ˇci vektorovou mapou. K nastaven´ı slouˇz´ı jednoˇra´dkov´a instrukce maploc, kter´a um´ıst´ı lev´ y horn´ı roh r´amce na dan´e m´ısto a volitelnˇe nastav´ı i ˇs´ıˇrku a v´ yˇsku mapov´eho r´amce. Rozmˇery lze nepˇr´ımo ovlivnit tak´e instrukc´ı scale , kter´a na z´akladˇe mˇeˇr´ıtka uprav´ı rozmˇery r´amce. Nehledˇe na zadan´e rozmˇery r´amce a mˇeˇr´ıtko, modul ps.map vykresluje st´ale stejn´ yu ´zemn´ı rozsah, kter´ y je d´an tzv. v´ypoˇcetn´ım regionem. Proto je tˇreba pˇred vlastn´ım generov´an´ım mapov´eho v´ ystupu nastavit v´ ypoˇcetn´ı region tak, aby odpov´ıdal u ´zem´ı, kter´e chceme zobrazit. K tomu slouˇz´ı modul g.region30 . V konfiguraˇcn´ım souboru tedy nelze rozsah u ´zem´ı ovlivnit. Modul ps.map tedy nejprve zjist´ı poˇzadovan´e rozmˇery a mˇeˇr´ıtko z konfiguraˇcn´ıho souboru (jsou-li uvedeny) a n´aslednˇe se je pokus´ı aplikovat na rozmˇery souˇcasn´eho v´ ypoˇcetn´ıho regionu. Pokud by se mapov´ y 30
http://grass.osgeo.org/grass70/manuals/html70_user/g.region.html
32
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
r´amec pˇri poˇzadovan´em mˇeˇr´ıtku neveˇsel na dan´ y form´at pap´ıru, modul mˇeˇr´ıtko uprav´ı. Podobnˇe uprav´ı rozmˇery mapov´eho r´amce, aby pomˇery stran odpov´ıdaly v´ ypoˇcetn´ımu regionu. Nov´e GUI wx.psmap ˇreˇs´ı volbu zobrazovan´eho u ´zem´ı ve vlastn´ı reˇzii, nen´ı tedy tˇreba volat modul g.region a z´aroveˇ n se nemˇen´ı souˇcasn´ y v´ ypoˇcetn´ı region pro ostatn´ı moduly, v´ıce v ˇc´asti 3.5. 2.3.3
Nekonzistence a chyby v modulu ps.map
Pˇri tvorbˇe GUI bylo nutn´e prozkoumat chov´an´ı modulu ps.map o nˇeco detailnˇeji, neˇz je nutn´e pro jeho bˇeˇzn´e uˇz´ıv´an´ı. Vych´azela jsem pˇredevˇs´ım z manu´alov´e str´anky [4] a vlastn´ıho experimentov´an´ı s modulem. U nˇekter´ ych probl´em˚ u jsou uvedeny odkazy na hl´aˇsen´ı o chyb´ach (bug report) na v´ yvoj´aˇrsk´e str´ance GRASSu [10] vyuˇz´ıvaj´ıc´ı syst´em pro spr´avu projekt˚ u Trac 31 . Modul nepodporuje ˇ ceˇ stinu Modul ps.map nepodporuje ˇceˇstinu, coˇz je d´ano pouˇzit´ ym k´odov´an´ım. Ps.map oˇcek´av´a konfiguraˇcn´ı soubor v k´odov´an´ı Latin-1 (pˇresnˇeji ISO-8859-1), kter´e nen´ı pro ˇceˇstinu pouˇziteln´e kv˚ uli nˇekter´ ym chybˇej´ıc´ım znak˚ um s diakritikou. Nav´ıc nˇekter´e texty (napˇr´ıklad jednotky u grafick´eho mˇeˇr´ıtka) jsou v angliˇctinˇe a nedaj´ı se libovolnˇe zmˇenit. (hl´aˇsen´ı #1349) Souˇ radnicov´ e syst´ emy a jednotky Jedn´ım z nejnepˇr´ıjemnˇejˇs´ıch probl´em˚ u, se kter´ ymi bylo tˇreba se pˇri tvorbˇe GUI vypoˇra´dat, byla nekonzistence v jednotk´ach a souˇradnicov´ ych syst´emech. Modul ps.map totiˇz pro um´ıstˇen´ı jednotliv´ ych prvk˚ u (jako legenda, text, mˇeˇr´ıtko) pouˇz´ıv´a dva r˚ uzn´e syst´emy, viz obr. ˇc. 10. Prvn´ı z nich – souˇradnicov´ y syst´em pap´ıru – m´a poˇca´tek v lev´em horn´ım rohu, kladn´a osa x smˇeˇruje doprava a osa y smˇerem dol˚ u (tedy odpov´ıd´a syst´emu obvykl´emu v poˇc´ıtaˇcov´e grafice). Je-li poloha urˇcena v tomto syst´emu, oˇcek´avanou jednotkou je inch32 . Druh´ y souˇradnicov´ y syst´em – syst´em mapov´eho r´amce – m´a poˇc´atek souˇradnic v lev´em doln´ım rohu mapov´eho r´amce s pravotoˇcivou orientac´ı os obvyklou v mate31 32
http://trac.edgewall.org ˇcesky palec, odpov´ıd´ a 2,54 cm
33
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
+X +Y Mapové okno +Y +X
Obr´azek 10: Souˇradnicov´e syst´emy pouˇz´ıvan´e modulem ps.map matice. Souˇradnice lze v tomto syst´emu zad´avat dvˇema zp˚ usoby. Bud’ v procentech v´ ypoˇcetn´ıho regionu nebo pˇr´ımo v souˇradnic´ıch mapy. Napˇr´ıklad, pˇri souˇradnic´ıch [100%, 0%] je objekt um´ıstˇen v prav´em doln´ım rohu mapov´eho r´amce, at’ uˇz je mapov´ y r´amec na pap´ıˇre um´ıstˇen kdekoli. Alternativnˇe bychom toho sam´eho um´ıstˇen´ı dos´ahli zad´an´ım mapov´ ych souˇradnic bodu poloˇzen´eho co nejv´ıce na v´ ychod a jih v rozsahu v´ ypoˇcetn´ıho regionu. Obˇema zp˚ usoby lze dos´ahnout i um´ıstˇen´ı objektu mimo mapov´ y r´amec, a to zad´an´ım z´aporn´e hodnoty nebo hodnoty vˇetˇs´ı neˇz 100 u procent, pˇr´ıpadnˇe mapov´ ych souˇradnic mimo v´ ypoˇcetn´ı region. R˚ uzn´e zp˚ usoby urˇcen´ı polohy maj´ı sv´e opodstatnˇen´ı. V nˇekter´ ych pˇr´ıpadech je v´ yhodn´e um´ıstit popisek k urˇcit´emu m´ıstu, jehoˇz mapov´e souˇradnice zn´ame, a jeho poloha vzhledem k pap´ıru nen´ı podstatn´a. Pozicov´an´ı pomoc´ı procent je vhodn´e napˇr´ıklad pro nadpis mapy, kter´ y chceme um´ıstit pˇresnˇe doprostˇred nad mapov´ y r´amec. Probl´em nast´av´a v pˇr´ıpadˇe, kdyˇz chce uˇzivatel urˇcit polohu objektu relativnˇe k pap´ıru a tento objekt podporuje um´ıstˇen´ı pouze relativnˇe k mapov´emu r´amci, pˇr´ıpadnˇe naopak. Bylo by proto vhodn´e, aby vˇsechny objekty podporovaly um´ıstˇen´ı vˇsemi tˇemito zp˚ usoby. Uˇzivatel by si pak mohl vybrat, kter´ y z nich je pro danou situaci nejvhodnˇejˇs´ı. Referenˇ cn´ı bod objektu Modul ps.map u vˇetˇsiny objekt˚ u nepodporuje volbu referenˇcn´ıho bodu, tedy bodu objektu, ke kter´emu se vztahuje zadan´a poloha. V´ yjim34
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
kou je text, u nˇejˇz si lze vybrat jeden z dev´ıti referenˇcn´ıch bod˚ u. Je zˇrejm´e, ˇze u textu m´a tato volba smysl, u ostatn´ıch objekt˚ u je ot´azka, zda by tato vlastnost byla vyuˇz´ıvan´a. U ostatn´ıch objekt˚ u je referenˇcn´ı bod d´an a nelze jej mˇenit. Uˇzivatele vˇsak m˚ uˇze pˇrekvapit, ˇze nen´ı u vˇsech objekt˚ u stejn´ y. Ve vˇetˇsinˇe pˇr´ıpad˚ u se poloha vztahuje k lev´emu horn´ımu rohu objektu, nicm´enˇe grafick´e mˇeˇr´ıtko (instrukce scalebar ) m´a referenˇcn´ı bod ve stˇredu. Bylo by vhodn´e tento pˇr´ıstup sjednotit, na druhou stranu nejde o nijak z´asadn´ı probl´em. Volba barev V mnoha instrukc´ıch se vyskytuje nastaven´ı barvy. Bohuˇzel velk´a ˇca´st instrukc´ı omezuje v´ ybˇer barev t´ım, ˇze vyˇzaduje zadat barvu ve formˇe jej´ıho jm´ena, tedy napˇr. aqua, black, blue,. . . Nˇekter´e jin´e instrukce vˇsak umoˇzn ˇuj´ı zadat barvu i ve tvaru R:G:B. Bylo by proto logick´e, kdyby RGB podporovaly vˇsechny instrukce.33 (hl´aˇsen´ı #192) Jednoˇ r´ adkov´ e a v´ıceˇ r´ adkov´ e instrukce Instrukce border (ohraniˇcen´ı mapov´eho r´amce) a colortable (rastrov´a legenda) mohou b´ yt jednoˇra´dkov´e i v´ıceˇr´adkov´e, coˇz mimo jin´e znamen´a, ˇze nˇekdy je end za pˇr´ıkazem vyˇzadov´ano a nˇekdy naopak n´asledovat nesm´ı. Z´aleˇz´ı, zda za zm´ınˇen´e instrukce do stejn´eho ˇra´dku nap´ıˇseme y nebo n, t´ım ji lze zapnout a vypnout. border n
# j e d n o r a d k o v a i n s t r u k c e − n e s m i n a s l e d o v a t end
border y
# v i c e r a d k o v a i n s t r u k c e − musi n a s l e d o v a t end
width 2 end Je nepˇr´ıjemn´e, ˇze si uˇzivatel mus´ı b´ yt vˇedom tohoto chov´an´ı, jinak by se mu mohlo snadno st´at, ˇze nap´ıˇse instrukci end, kde b´ yt nem´a, a ps.map to bude povaˇzovat za konec souboru a dalˇs´ı instrukce bude ignorovat. Nav´ıc u colortable nem´a moˇznost zap´ın´an´ı a vyp´ın´an´ı valn´eho smyslu, kdyˇz tuto instrukci neuvedu, legenda se prostˇe nevykresl´ı. 33
Tyto probl´emy jsou jiˇz v souˇcasnosti vyˇreˇsen´e, alespoˇ n pro instrukce, kter´e wx.psmap podpo-
ruje.
35
ˇ CVUT v Praze
´ GRASS GIS 2 SYSTEM
Mapinfo Mapov´ y element mapinfo, se v nˇekter´ ych pˇr´ıpadech ˇspatnˇe vykresl´ı. Probl´em nast´av´a, kdyˇz jej uˇzivatel chce um´ıstit nalevo od mapov´eho r´amce. Modul ps.map pˇresune mapinfo tak, ˇze se vertik´alnˇe zarovn´a k mapov´emu r´amci, neboli pˇrevezme x -ovou souˇradnici r´amce. Dalˇs´ım probl´emem je ˇspatn´e barevn´e vykreslen´ı barvy pozad´ı a ohraniˇcuj´ıc´ı linie. Barvy se nevykresl´ı, kdyˇz je mapinfo mimo mapov´ y r´amec. Do budoucna bych navrhovala mapinfo pˇrepsat do takov´e podoby, aby umoˇznil zobrazit sv´e jednotliv´e ˇca´sti samostatnˇe (ˇc´ıseln´e mˇeˇr´ıtko, rozsah, s´ıt’), t´ım by se zv´ yˇsila jeho pouˇzitelnost. (hl´aˇsen´ı #1333, #1350) Nekonzistence u instrukce vlines
U instrukce vlines , kter´a pˇrid´av´a liniovou
vektorovou vrstvu, lze pouˇz´ıt d´ılˇc´ı instrukci rgbcolumn. Ta vykresl´ı linii barvou uvedenou ve zvolen´em sloupci atributov´e tabulky na pˇr´ısluˇsn´em ˇra´dku. Podobnˇe lze ˇıˇrka je pak pouˇz´ıt d´ılˇc´ı instrukci cwidth, kter´a ovlivˇ nuje ˇs´ıˇrku vykreslen´e linie. S´ urˇcena zadanou hodnotou pron´asobenou ˇc´ıslem kategorie (sloupec cat v atributov´e tabulce), do n´ıˇz linie patˇr´ı. V tomto pˇr´ıpadˇe si tedy uˇzivatel nem˚ uˇze zvolit, podle jak´eho atributu se bude ˇs´ıˇrka ˇr´ıdit, coˇz v prvn´ım pˇr´ıpadˇe jde. Bylo by vhodn´e tento pˇr´ıstup sjednotit. (hl´aˇsen´ı #1356) Nepˇ resnosti v dokumentaci Manu´alov´a str´anka [4] k modulu ps.map je pomˇernˇe podrobn´a a vyˇcerp´avaj´ıc´ı, pˇresto lze narazit na nˇekter´e nepˇresnosti. Napˇr´ıklad u instrukce text je k popisu d´ılˇc´ı instrukce width naps´ano: width of the lines used to draw the text to make thicker letters Prakticky vˇsak tato instrukce ovlivˇ nuje ˇs´ıˇrku r´ameˇcku kolem textu. Popis instrukce colortable (vytv´aˇr´ı rastrovou legendu) je m´ısty matouc´ı. Jsou totiˇz dva typy rastrov´e legendy, coˇz z´aleˇz´ı na typu dat (CELL – celoˇc´ıseln´ y rastr a FCELL, DCELL – rastr s re´aln´ ymi hodnotami). Nˇekter´e d´ılˇc´ı instrukce maj´ı pak smysl pouze pro jeden typ, pˇr´ıpadnˇe se jejich v´ yznam pro jednotliv´e typy liˇs´ı. Situace se d´ale komplikuje d´ılˇc´ı instrukc´ı discrete , kter´a umoˇzn ˇuje zmˇenit typ legendy. Manu´al se sice snaˇz´ı problematiku vysvˇetlit, ale ne pˇr´ıliˇs u ´spˇeˇsnˇe, u ´ˇcinnˇejˇs´ı je prakticky vˇse vyzkouˇset.
36
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
Orientace str´ anky Volbu orientace str´anky zajiˇst’uje pˇrep´ınaˇc -r (rotate), kter´ y je-li uveden, mˇen´ı orientaci str´anky na ˇs´ıˇrku. Nevid´ım d˚ uvod, proˇc by se tato tato volba nemˇela prov´est jiˇz v konfiguraˇcn´ım souboru v r´amci instrukce paper, kam logicky patˇr´ı. V´ yznam by pˇrep´ınaˇc mˇel, kdybychom chtˇeli vytvoˇrit ze stejn´eho konfiguraˇcn´ıho souboru v´ ystupy s r˚ uznou orientac´ı str´anky, to ale smysl pˇr´ıliˇs ned´av´a.
3
GUI wx.psmap pro modul ps.map
D˚ uvody, proˇc je nov´e GUI wx.psmap pro modul ps.map zapotˇreb´ı, jsou zm´ınˇeny ´ celem je pˇredevˇs´ım oprostit uˇzivatele od nutnosti ruˇcnˇe vytv´aˇret jiˇz v ˇca´sti 2.3. Uˇ konfiguraˇcn´ı soubor. Nov´e GUI wx.psmap (tak´e pod n´azvem Hardcopy Map Output Utility) uˇzivatelsky pˇr´ıvˇetiv´ ym zp˚ usobem zpˇr´ıstupˇ nuje z´akladn´ı funkˇcnost modulu ps.map a z´aroveˇ n se tak snaˇz´ı rozˇs´ıˇrit moˇznosti vytv´aˇren´ı mapov´ ych v´ ystup˚ u v GRASSu. V´ ysledky pr´ace ve formˇe zdrojov´ ych k´od˚ u jsou dostupn´e na adrese: http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/wx.psmap
a tak´e na pˇriloˇzen´em CD.
3.1
Instalace wx.psmap
Pro fungov´an´ı wx.psmap je potˇreba m´ıt nainstalovanou verzi GRASS 6.5 a vyˇsˇs´ı. V bl´ızk´e dobˇe by se wx.psmap mˇelo st´at souˇca´st´ı hlavn´ı distribuce syst´emu GRASS verze 6.4.2. Na operaˇcn´ım syst´emu MS Windows je wx.psmap souˇc´ast´ı instalaˇcn´ıch soubor˚ u, na Linuxu lze wx.psmap instalovat bud’ prostˇrednictv´ım GUI nebo z pˇr´ıkazov´e ˇra´dky GRASSu. Konkr´etn´ı postup je uveden na GRASS-Wiki na str´ance tohoto projektu [9] a tak´e v pˇr´ıloze B.
3.2
Podklady a pouˇ zit´ e knihovny
Nov´e GUI wx.psmap bylo stejnˇe jako wxGUI GRASSu vyvinuto pomoc´ı knihovny wxPython, proto bylo nutn´e, abych se s knihovnou podrobnˇeji sezn´amila. Jedn´ım 37
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
z nejv´ yznamnˇejˇs´ıch zdroj˚ u informac´ı je demo pro wxPython [6], ve kter´em je n´azornˇe uk´az´ano chov´an´ı vˇetˇsiny ovl´adac´ıch prvk˚ u. Pˇri hled´an´ı vhodn´ ych ovl´adac´ıch prvk˚ u pro aplikaci je demo velice uˇziteˇcn´e. Dalˇs´ım zdrojem informac´ı je kniha [3]. Pˇri psan´ı programu jsem pracovala s knihovnou GRASS Python Scripting Library [5], kter´a umoˇzn ˇuje a zjednoduˇsuje vol´an´ı modul˚ u GRASSu. Zdrojem informac´ı mi byly tak´e jiˇz napsan´e GRASS wxGUI moduly. Sezn´amila jsem se tak´e s funkcionalitou dalˇs´ıch modul˚ u GRASSu, zjiˇst’ovala jsem pˇredevˇs´ım, co umoˇzn ˇuj´ı, a jak je mohu pro pr´aci vyuˇz´ıt.
3.3
Funkcionalita aplikace wx.psmap
V n´asleduj´ıc´ım textu jsou shrnuty hlavn´ı vlastnosti aplikace wx.psmap a moˇznosti jej´ıho vyuˇzit´ı. Podporovan´ e instrukce Aplikace v souˇcasn´e dobˇe podporuje pouze vybran´e instrukce, a to: border, colortable , mapinfo, maploc, paper, raster , scale , scalebar , text, vareas, vlines , vpoints a vlegend. Prakticky to znamen´a, ˇze mapov´ y v´ ystup m˚ uˇze obsahovat rastrovou mapu, libovoln´ y poˇcet map vektorov´ ych, legendu (pro rastr a pro vektorovou mapu), grafick´e mˇeˇr´ıtko, informace o regionu s ˇc´ıseln´ ym mˇeˇr´ıtkem a libovoln´e mnoˇzstv´ı textu. V budoucnu se poˇc´ıt´a s podporou dalˇs´ıch instrukc´ı. Pokud uˇzivatel potˇrebuje pouˇz´ıt nˇekter´e dosud nepodporovan´e instrukce, m´a moˇznost ˇca´st pr´ace vykonat v GUI aplikaci, nechat si vygenerovat konfiguraˇcn´ı soubor a do nˇej tyto instrukce doplnit. Pot´e spust´ı pˇr´ımo modul ps.map. Moˇ zn´ e v´ ystupy aplikace V´ ysledkem pr´ace s wx.psmap je mapov´ y v´ ystup ve form´atu PostScript, pˇr´ıpadnˇe Encapsulated PostScript, kter´ y je vygenerov´an modulem ps.map na z´akladˇe konfiguraˇcn´ıho souboru vytvoˇren´em GUI aplikac´ı. GUI umoˇzn ˇuje vytvoˇrit i obl´ıben´ y form´at PDF (Portable Document Format) vol´an´ım extern´ıho programu ps2pdf 34 . Tato funkcionalita je tedy dostupn´a pouze, je-li zm´ınˇen´ y program na poˇc´ıtaˇci instalov´an. Dalˇs´ım moˇzn´ ym v´ ystupem je konfiguraˇcn´ı soubor samotn´ y, kter´ y lze d´ale zpracov´avat. Konfiguraˇcn´ı soubor vytvoˇren´ y pomoc´ı wx.psmap 34
http://www.ps2pdf.com
38
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
m´a nav´ıc v hlaviˇcce informace o datu, pouˇzit´e lokaci a mapsetu a pˇredevˇs´ım o nastaven´ı regionu. ˇ Cten´ ı konfiguraˇ cn´ıch soubor˚ u Aplikace umoˇzn ˇuje tak´e konfiguraˇcn´ı soubory naˇc´ıtat. Vhodnˇejˇs´ı je ale naˇc´ıtat soubor vytvoˇren´ y touto aplikac´ı. To d´ano t´ım, ˇze aplikace pˇri vytv´aˇren´ı konfiguraˇcn´ıho souboru zapisuje i informace o regionu do koment´aˇre, coˇz nen´ı standardn´ı souˇca´st´ı konfiguraˇcn´ıho souboru. Nav´ıc je aplikace v´ıce otestovan´a pr´avˇe pro naˇc´ıt´an´ı vlastn´ıch soubor˚ u.35 Koncept a n´ ahled Aplikace rozliˇsuje dva m´ody – koncept a n´ahled (Draft mode a Preview mode). Uˇzivatel vytv´aˇr´ı mapov´ y v´ ystup v m´odu konceptu, coˇz znamen´a, ˇze jednotliv´e vykreslovan´e prvky jako legenda ˇci mapov´ y r´amec jsou pˇredstavov´any pouze barevn´ ym obd´eln´ıkem s popisem typu objektu. Jejich vzhled tedy nijak nesouvis´ı se jejich skuteˇcn´ ym vykreslen´ım modulem ps.map, s v´ yjimkou jejich rozmˇer˚ u. Ty odpov´ıdaj´ı rozmˇer˚ um skuteˇcn´ ym (alespoˇ n se o to snaˇz´ı, viz ˇca´st 3.5). Jin´ y pˇr´ıpad nast´av´a pˇri zobrazen´ı textu v konceptu, text je zde zobrazen v zadan´e velikost fontu (ne vˇsak zadan´ ym fontem). Zvolen´a barva p´ısma se tak´e zobraz´ı spr´avnˇe, nicm´enˇe je-li nastavena barva pozad´ı, vykresl´ı se pouze barva b´ıl´a. Pravdˇepodobnˇe jde o probl´em knihovny wxPython, je moˇzn´e, ˇze na r˚ uzn´ ych platform´ach se toto chov´an´ı liˇs´ı. Stejnˇe tak ostatn´ı efekty textu jako zv´ yraznˇen´ı a r´ameˇcek se v konceptu nezobrazuj´ı (bylo by to sloˇzit´e a zbyteˇcn´e). Radˇeji dod´av´am, ˇze vˇsechny tyto nastaven´e vlastnosti textu se ve v´ ysledn´em mapov´em v´ ystupu zobraz´ı spr´avnˇe. V konceptu lze oznaˇcen´e objekty posunovat taˇzen´ım kurzoru, polohu lze zadat tak´e v pˇr´ısluˇsn´em dialogu objektu. S v´ yjimkou mapov´eho r´amce nelze mˇenit rozmˇery objekt˚ u interaktivnˇe, viz 3.5 Pˇri pr´aci lze pr˚ ubˇeˇznˇe kontrolovat v´ ysledek pomoc´ı m´odu n´ahledu. Na pozad´ı je spuˇstˇen modul ps.map, kter´ y vygeneruje doˇcasn´ y PostScript soubor, ten je pˇrekonvertov´an do PNG 36 a zobrazen v GUI aplikaci. To vˇse samozˇrejmˇe zabere pomˇernˇe dost ˇcasu, z´aleˇz´ı na sloˇzitosti mapov´eho v´ ystupu. Konverze do PNG je tak´e ˇcasovˇe n´aroˇcn´a. Proto je pˇri generov´an´ı n´ahledu sn´ıˇzeno rozliˇsen´ı regionu, aby byla konverze rychlejˇs´ı. 35 36
Je nutn´e podotknout, ˇze si aplikace nevytv´aˇr´ı ˇz´adn´ y vlastn´ı odliˇsn´ y form´at. http://www.libpng.org/pub/png
39
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
Ovl´ ad´ an´ı pohledu Aplikace wx.psmap umoˇzn ˇuje mˇenit pˇribl´ıˇzen´ı a posunovat pap´ır s vykreslen´ ymi objekty, a to jak v konceptu, tak v n´ahledu. Pˇribliˇzov´an´ı resp. oddalov´an´ı je dostupn´e nˇekolika zp˚ usoby (v z´avislosti na aktu´alnˇe zvolen´em n´astroji): kliknut´ım ˇci zvolen´ım v´ yˇrezu na obrazovce nebo ot´aˇcen´ım koleˇcka myˇsi.
3.4
Vzhled a ovl´ ad´ an´ı wx.psmap
Pˇri n´avrhu a implementaci GUI jsem se snaˇzila dodrˇzet z´asady popsan´e v ˇc´asti 1.2.1. V dialogov´ ych oknech jsou ohraniˇceny prvky, kter´e spolu v´ yznamovˇe souvis´ı, tak je dosaˇzeno jednoduˇsˇs´ı orientace v nastaven´ıch. Dialogov´a okna obsahuj´ı implicitn´ı nastaven´ı, aby se jimi uˇzivatel nemusel pˇr´ıliˇs zab´ yvat, pokud nechce. Tak´e jsem se pokusila dodrˇzet jednotn´ y vzhled wxGUI GRASSu. V panelu n´astroj˚ u jsou ikonky pouˇz´ıvan´e pro stejn´e nebo podobn´e u ´kony v jin´e ˇc´asti wxGUI (napˇr´ıklad pro ovl´ad´an´ı pohledu). Autor37 ikonek pouˇz´ıvan´ ych ve wxGUI pro tuto aplikaci vytvoˇril i nˇekolik nov´ ych. Pˇri spuˇstˇen´ı programu se otevˇre okno s ovl´adac´ımi prvky – hlavn´ı nab´ıdka a panel n´astroj˚ u v horn´ı ˇc´asti, dvˇe z´aloˇzky pro volbu m´odu a stavov´ y ˇr´adek v doln´ı ˇca´sti. Pro lepˇs´ı pˇredstavu nahl´ednˇete do pˇr´ılohy C na stranˇe 52. V hlavn´ı ˇca´sti okna je pˇripravena str´anka, na kterou se umist’uj´ı jednotliv´e mapov´e prvky. Prvn´ı sada tlaˇc´ıtek na panelu n´astroj˚ u (obr´azek ˇc. 11) ovl´ad´a ˇcten´ı a z´apis konfiguraˇcn´ıch soubor˚ u a nastaven´ı str´anky, druh´a sada ovl´ad´a pohled na str´anku (posun, pˇribl´ıˇzen´ı, odd´alen´ı, zobrazen´ı cel´e str´anky), tˇret´ı sada slouˇz´ı k pˇrid´an´ı a editaci objekt˚ u na str´ance a ˇctvrt´a ovl´ad´a tvorbu mapov´ ych v´ ystup˚ u. Pˇri najet´ı kurzorem na tlaˇc´ıtko se objev´ı kratˇs´ı kontextov´a n´apovˇeda a delˇs´ı n´apovˇeda na stavov´em ˇra´dku.
Obr´azek 11: Panel n´astroj˚ u aplikace wx.psmap Jednotliv´e objekty lze pˇridat na str´anku bud’ pomoc´ı hlavn´ı nab´ıdky pod poloˇzkou Insert nebo kliknut´ım na pˇr´ısluˇsn´e tlaˇc´ıtko na panelu n´astroj˚ u. T´ım je vyvol´an dialog (nemod´aln´ı), kter´ y slouˇz´ı pro nastaven´ı vlastnost´ı objektu. Implicitnˇe jsou 37
Szczepanek, Robert http://robert.szczepanek.pl
40
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
nastaveny takov´e hodnoty, aby uˇzivatel ve vˇetˇsinˇe pˇr´ıpad˚ u nemusel nic zad´avat, nebo jen to nejnutnˇejˇs´ı. Pokud zapomene zadat poˇzadovan´e informace, je na tuto skuteˇcnost upozornˇen. Po potvrzen´ı se na str´ance objev´ı objekt, kter´ y pˇredstavuje vybran´ y mapov´ y prvek. Lze jej po str´ance libovolnˇe posouvat a pokud chce uˇzivatel jeho nastaven´ı zmˇenit, nejjednoduˇsˇs´ı je na nˇej dvojkliknout myˇs´ı, ˇc´ımˇz se otevˇre dialog s aktu´alnˇe nastaven´ ymi hodnotami. Tento dialog lze vyvolat i z panelu n´astroj˚ u a hlavn´ı nab´ıdky. V´ ysledek pr´ace lze zobrazit v m´odu n´ahledu, kter´ y je dostupn´ y ve druh´e z´aloˇzce, po zm´aˇcknut´ı pˇr´ısluˇsn´eho tlaˇc´ıtka. Pokud je potˇreba detailnˇejˇs´ı pohled na v´ ysledek, je vhodnˇejˇs´ı si nechat pˇr´ımo vygenerovat PostScript a ten si prohl´ednout. V´ ysledek je moˇzn´e si uloˇzit jako konfiguraˇcn´ı soubor v textov´e podobˇe, kter´ y pˇri pˇr´ıˇst´ı pr´aci s wx.psmap lze naˇc´ıst a pokraˇcovat v nˇem. Samozˇrejmost´ı je moˇznost nastaven´ı form´atu a orientace str´anky a tak´e n´apovˇeda, kter´a se zobraz´ı v internetov´em prohl´ıˇzeˇci. Dalˇs´ı informace a postupy najdete na GRASS-Wiki [9].
3.5
Probl´ emy pˇ ri tvorbˇ e wx.psmap a jejich ˇ reˇ sen´ı
Pˇri pr´aci jsem narazila na nˇekolik problematick´ ych oblast´ı, souvisej´ıc´ıch s ˇc´astmi popsan´ ymi v 2.3.2 a 2.3.3. V´ ypoˇ cetn´ı region Pˇripomeˇ nme, ˇze modul ps.map pracuje s aktu´aln´ım v´ ypoˇcetn´ım regionem a vykresluje mapy pouze v tomto rozsahu. Jelikoˇz by bylo nepohodln´e, kdyby uˇzivatel musel pˇri pr´aci v nov´em ps.map GUI nastavovat region externˇe pomoc´ı GRASS modulu g.region, je vˇse ˇreˇseno v r´amci t´eto aplikace. Uˇzivatel si v aplikaci urˇcit´ ym zp˚ usobem nastav´ı region, kter´ y pak ps.map pouˇzije k zobrazen´ı. St´avaj´ıc´ı v´ ypoˇcetn´ı region, kter´ y mezit´ım mohou pouˇz´ıvat dalˇs´ı moduly GRASSu, z˚ ustane nezmˇenˇen´ y. Kdyˇz si uˇzivatel nech´a vygenerovat konfiguraˇcn´ı soubor, kter´ y chce d´ale editovat ruˇcnˇe, je v z´ahlav´ı v koment´aˇri naps´an pˇr´ıkaz pro modul g.region, kter´ y informuje o nastaven´ı v´ ypoˇcetn´ıho regionu. Tato informace se vyuˇz´ıv´a i pˇri ˇcten´ı konfiguraˇcn´ıho souboru vytvoˇren´eho touto aplikac´ı. Zp˚ usoby nastaven´ı regionu v aplikaci jsou n´asleduj´ıc´ı: 1. nastavit region na zvolenou rastrovou ˇci vektorovou mapu 41
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
2. nastavit uloˇzen´ y region (named region) 3. nastavit aktu´aln´ı v´ ypoˇcetn´ı region 4. zvolit souˇradnice stˇredu mapy a mˇeˇr´ıtko (nastaven´ı regionu se automaticky vypoˇc´ıt´a) Souˇ radnicov´ e syst´ emy a jednotky Nepˇr´ıjemn´ ym probl´emem byly pouˇz´ıvan´e souˇradnicov´e syst´emy a jednotky (viz ˇc´ast 2.3.3 na stranˇe 33). Jelikoˇz interaktivn´ı umist’ov´an´ı objekt˚ u na str´ance je jednou hlavn´ıch v´ yhod GUI, bylo nutn´e probl´em nejednotnost´ı syst´em˚ u a jednotek ˇreˇsit vlastn´ımi pˇrepoˇcty v programu tak, aby byl od nˇej uˇzivatel co nejv´ıce odst´ınˇen. Na druhou stranu by bylo logiˇctˇejˇs´ı, aby potˇrebn´e v´ ypoˇcty prov´adˇel uˇz samotn´ y modul ps.map, kter´ y stejnˇe uˇz podobn´e v´ ypoˇcty prov´ad´ı, staˇcilo by je pouze rozˇs´ıˇrit. V d˚ usledku toho se zˇrejmˇe urˇcit´e v´ ypoˇcty prov´ad´ı dvakr´at – v ps.map a v GUI. GUI aplikace je navrˇzen´a tak, aby polohu objekt˚ u uˇzivatel urˇcil interaktivnˇe kliknut´ım na objekt a t´ahnut´ım myˇs´ı. Nav´ıc lze v dialoz´ıch k objekt˚ um zadat pˇr´ımo x -ovou a y-ovou souˇradnici v syst´emu pap´ıru. Zde jsem rozˇs´ıˇrila st´avaj´ıc´ı moˇznosti ps.map o moˇznost zadat hodnoty v dalˇs´ıch jednotk´ach (mm, cm). U textov´eho objektu, kter´ y se v modulu ps.map zad´av´a mapov´ ymi souˇradnicemi ˇci procenty regionu, je uˇzivateli nab´ıdnuto zadat souˇradnice v syst´emu pap´ıru, nebo pomoc´ı mapov´ ych souˇradnic. Moˇznost zad´an´ı procent regionu GUI aplikace zat´ım nepodporuje, mysl´ım, ˇze tato moˇznost nen´ı jiˇz tak potˇrebn´a, kdyˇz lze polohu mˇenit jednoduch´ ym tahem myˇs´ı. Referenˇ cn´ı bod objektu Grafick´e mˇeˇr´ıtko m´a referenˇcn´ı bod ve sv´em stˇredu, na rozd´ıl od ostatn´ıch objekt˚ u, u kter´ ych je to lev´ y horn´ı roh, viz 2.3.3. Rozhodla jsem se pˇr´ıstup sjednotit, proto GUI aplikace prov´ad´ı drobn´ y pˇrepoˇcet a pokud uˇzivatel zad´av´a ruˇcnˇe souˇradnice, vztahuj´ı se k horn´ımu lev´emu rohu. V dialogu je tato skuteˇcnost uvedena, aby uˇzivatel´e zvykl´ı na p˚ uvodn´ı ref. bod nebyli zmateni. U textov´eho objektu bylo ˇreˇsen´ı situace sloˇzitˇejˇs´ı. Zachov´av´am moˇznost zvolit si u textu jeho referenˇcn´ı bod, coˇz znamen´a probl´emy pˇri jeho zobrazov´an´ı v GUI aplikaci. Situaci totiˇz komplikuj´ı dalˇs´ı faktory jako rotace textu a odsazen´ı (offset). GUI aplikace by musela na z´akladˇe tˇechto parametr˚ u prov´adˇet zbyteˇcnˇe sloˇzit´e v´ ypoˇcty, aby byla schopna urˇcit pˇresn´e m´ısto, kam se m´a text vykreslit a jak´ y je jeho 42
ˇ CVUT v Praze
3 GUI WX.PSMAP PRO MODUL PS.MAP
ohraniˇcuj´ıc´ı obd´eln´ık. V tomto m´ıstˇe jsem narazila na urˇcit´e rezervy, kter´e knihovna wxPython m´a. Oˇcek´avala jsem, ˇze mi tyto v´ ypoˇcty knihovna aspoˇ n ˇc´asteˇcnˇe zjednoduˇs´ı, ale jelikoˇz jsem potˇrebn´e metody nenalezla, provedla jsem pˇri v´ ypoˇctech drobn´a zanedb´an´ı. Zobrazen´ı v GUI aplikaci proto v nˇekter´ ych pˇr´ıpadech nen´ı u ´plnˇe pˇresn´e, nicm´enˇe je nutn´e zd˚ uraznit, ˇze to nijak nesouvis´ı se zobrazen´ım textu ve vygenerovan´em souboru. Tvorba dialog˚ u Kaˇzd´ y mapov´ y prvek jako napˇr. mapinfo, grafick´e mˇeˇr´ıtko ˇci legenda maj´ı vlastn´ı dialog, kde se nastavuj´ı jejich vlastnosti. Dialogy jsou r˚ uznˇe rozs´ahl´e, ale maj´ı podobn´ y vzhled. Probl´em pˇri tvorbˇe dialog˚ u byla celkov´a nejednotnost v nastaviteln´ ych vlastnostech mapov´ ych prvk˚ u. Napˇr´ıklad, rastrov´a legenda umoˇzn ˇuje zmˇenit barvu p´ısma a neumoˇzn ˇuje vykreslit ohraniˇcen´ı (border ), zat´ımco u vektorov´e legendy je to pˇresnˇe naopak. Takov´ ych pˇr´ıpad˚ u je v´ıc a znaˇcnˇe komplikuj´ı snahy o ujednocen´ı vzhledu dialog˚ u. Proto by bylo pˇr´ıliˇs n´aroˇcn´e vytvoˇrit jak´ ysi jednotn´ y dialog pro nastaven´ı vlastnost´ı objekt˚ u, pravdˇepodobnˇe by to vedlo ke sn´ıˇzen´ı pˇrehlednosti. Urˇ cen´ı rozmˇ eru mapov´ ych prvk˚ u V m´odu konceptu se jednotliv´e mapov´e prvky (legenda, mˇeˇr´ıtko, text, . . . ) zobrazuj´ı na str´ance jako obd´eln´ıky, kter´e se od sebe liˇs´ı barvou popiskem a rozmˇerem. Pr´avˇe urˇcen´ı rozmˇeru prvku je probl´em, kter´ y nen´ı uspokojivˇe vyˇreˇsen. Velikost mapov´eho prvku je totiˇz v z´asadˇe d´ana velikost´ı fontu, ale i dalˇs´ımi parametry, napˇr´ıklad poˇctem sloupc˚ u a poˇctem kategori´ı u legendy. Aplikace wx.psmap na z´akladˇe tˇechto vlastnost´ı odhaduje pˇribliˇzn´e rozmˇery, ty se ovˇsem do jist´e m´ıry mohou liˇsit od rozmˇer˚ u v´ ysledn´eho objektu vykreslen´eho modulem ps.map. Ve wx.psmap tak opˇet doch´az´ı ke zbyteˇcn´emu (a ne tak pˇresn´emu) opakov´an´ı v´ ypoˇct˚ u, kter´e prov´ad´ı modul. Je proto tˇreba br´at rozmˇery objekt˚ u v konceptu jako orientaˇcn´ı, s v´ yjimkou mapov´eho r´amce, jehoˇz rozmˇery lze urˇcit pˇresnˇe. D˚ usledkem tohoto probl´emu je nemoˇznost mˇenit rozmˇery objekt˚ u interaktivnˇe (pomoc´ı myˇsi), jako je to obvykl´e v podobn´ ych programech. Teoreticky by to moˇzn´e sice bylo, ale pouze za cenu dalˇs´ıch nepr˚ uhledn´ ych v´ ypoˇct˚ u, kter´e by nav´ıc ned´avaly pˇresn´ y v´ ysledek. Pokud tedy chce uˇzivatel zmˇenit velikost objekt˚ u, je tˇreba v pˇr´ısluˇsn´em dialogu vyplnit velikost fontu a dalˇs´ı parametry ovlivˇ nuj´ıc´ı rozmˇery, jsou-li 43
ˇ CVUT v Praze
´ ER ˇ ZAV
k dispozici. Opˇet je v´ yjimkou mapov´ y r´amec, jehoˇz rozmˇery lze mˇenit interaktivnˇe. Pˇri oznaˇcen´ı objektu se objev´ı v prav´em doln´ım rohu znaˇcka. Kdyˇz na n´ı uˇzivatel klikne lev´ ym tlaˇc´ıtkem myˇsi a pohybuje kurzorem, mapov´ y r´amec mˇen´ı sv´e rozmˇery. Podle aktu´alnˇe nastaven´eho regionu se pˇri zmˇenˇe velikosti r´amce zachov´av´a pomˇer d´elek jeho stran tak, aby rozmˇery mapov´eho r´amce v m´odu konceptu odpov´ıdaly tˇem skuteˇcnˇe vykreslen´ ym modulem ps.map.
3.6
Budouc´ı v´ yvoj aplikace wx.psmap
Jak jiˇz bylo zm´ınˇeno, aplikace jeˇstˇe nepodporuje nˇekter´e instrukce. Proto bude dalˇs´ı v´ yvoj smˇeˇrov´an k doplnˇen´ı funkcionality, a to pˇredevˇs´ım pˇrid´av´an´ı obr´azk˚ u ve form´atu EPS (instrukce eps). Bylo by moˇzn´e nab´ıdnout uˇzivateli jiˇz pˇripraven´e obr´azky, napˇr´ıklad i chybˇej´ıc´ı smˇerovou r˚ uˇzici. Dalˇs´ım krokem by pravdˇepodobnˇe byla i podpora instrukce grid a geogrid pro zobrazen´ı zemˇepisn´e s´ıtˇe. D´ale by tak´e bylo moˇzn´e zav´est obecn´e nastaven´ı aplikace, ale je ot´azkou, ˇceho by se tato nastaven´ı t´ ykala. Z´aleˇz´ı zde hlavnˇe na poˇzadavc´ıch uˇzivatel˚ u. Pozn´amky k v´ yvoji aplikace a jej´ım moˇznostem jsou pops´any na webov´ ych str´ank´ach [11].
Z´ avˇ er C´ılem t´eto pr´ace bylo vytvoˇren´ı GUI pro modul ps.map syst´emu GRASS. Tento modul slouˇz´ı ke tvorbˇe mapov´ ych v´ ystup˚ u, a pˇrestoˇze nepodporuje tak ˇsirokou funkcionalitu jako nˇekter´e jin´e programy, pro bˇeˇzn´e kartografick´e pr´ace plnˇe postaˇcuje. Jeho nev´ yhoda spoˇc´ıv´a pˇrev´aˇznˇe ve zp˚ usobu ovl´ad´an´ı, vytvoˇren´ı konfiguraˇcn´ıho souboru je totiˇz pomˇernˇe pracn´e. GUI bylo naps´ano pomoc´ı grafick´e knihovny wxPython. Snaˇzila jsem se dodrˇzovat obecn´e i konkr´etn´ı z´asady pro tvorbu GUI tak, aby byl program jednoduˇse ovladateln´ y a pouˇziteln´ y. Z´aroveˇ n vzhledovˇe odpov´ıd´a souˇcasn´emu GUI syst´emu GRASS. V´ ysledkem t´eto pr´ace je funkˇcn´ı aplikace wx.psmap s ofici´aln´ım n´azvem Hardcopy Map Output Utility, vytv´aˇrej´ıc´ı mapov´ y v´ ystup pr´avˇe pomoc´ı modulu ps.map. Umoˇzn ˇuje uˇzivatel˚ um pohodlnˇe poskl´adat z´akladn´ı mapov´e elementy na str´anku a vygenerovat dva druhy v´ ystupu – obrazov´ y (ve form´atu PS nebo PDF) a textov´ y 44
ˇ CVUT v Praze
´ ER ˇ ZAV
(konfiguraˇcn´ı soubor). Druh´ y zm´ınˇen´ y soubor lze programem tak´e naˇc´ıst a d´ale upravit. Pˇri pr´aci jsem se pot´ ykala s jistou nekonzistenc´ı instrukc´ı u modulu ps.map a tak´e jsem zaznamenala urˇcit´a problematick´a chov´an´ı modulu, o kter´ ych jsem informovala v´ yvoj´aˇre GRASSu. V pr˚ ubˇehu pr´ace se jim podaˇrilo nˇekter´e menˇs´ı komplikace odstranit, ˇc´ımˇz se tvorba GUI alespoˇ n ˇca´steˇcnˇe zjednoduˇsila. V r´amci t´eto pr´ace byla implementov´ana vˇetˇs´ı ˇca´st funkcionality modulu a to tak, ˇze byly vybr´any nejd˚ uleˇzitˇejˇs´ı instrukce. V pl´anu je podpora dalˇs´ıch instrukc´ı, z´aleˇzet bude pˇredevˇs´ım na m´ ych ˇcasov´ ych moˇznostech v dalˇs´ıch mˇes´ıc´ıch.
45
ˇ CVUT v Praze
ˇ YCH ´ SEZNAM POUZIT ZKRATEK
Seznam pouˇ zit´ ych zkratek GIS
Geographic Information System (Geografick´ y informaˇcn´ı syst´em)
GRASS
Geographical Resources Analysis Support System
QGIS
Quantum GIS
GMT
Generic Mapping Tools
GUI
Graphical User Interface (Grafick´e uˇzivatelsk´e rozhran´ı)
TUI
Text User Interface (Textov´e uˇzivatelsk´e rozhran´ı)
CLI
Command Line Interface (pˇr´ıkazov´ y ˇra´dek)
SDI
Single Document Interface
MDI
Multiple Document Interface
XML
Extensible Markup Language
Tcl
Tool Command Language
PS
PostScript
EPS
Encapsulated PostScript
PDF
Portable Document Format
PNG
Portable Network Graphics
GPL
General Public License
ZABAGED ˇ UZK ´ C
ˇ e republiky Z´akladn´ı b´aze geografick´ ych dat Cesk´ ˇ yu Cesk´ ´ˇrad zemˇemˇeˇrick´ y a katastr´aln´ı
USA-CERL
US Army Construction Engineering Research Laboratories
46
ˇ CVUT v Praze
ˇ E ´ ZDROJE POUZIT
Pouˇ zit´ e zdroje [1] NETELER, Markus; MITASOVA, Helena. Open Source GIS: A GRASS GIS Approach. 3rd Ed. New York: Springer, 2008. 406 s. URL:
. ISBN 978-0-387-35767-6. [2] JOHNSON, Jeff. GUI Bloopers 2.0: Common User Interface Design Dont’s and Dos. Burlington: Morgan Kaufman Publishers, 2008. 407 s. ISBN 978-012-370643-0. [3] RAPPIN, Noel; DUNN, Robin. WxPython in Action. Greenwich, USA: Manning Publications Co., 2006. 552 s. ISBN 1-932394-62-1. [4] GRASS Development Team. GRASS GIS 7.0.svn Reference Manual [online]. c2003-2011, Last modified: Fri, 04 Feb 2011 [cit. 2011-04-18]. URL: [5] GRASS Development Team. GRASS 7 Programmer’s Manual [online]. c20002011, generated on Sat Apr 16 2011 [cit. 2011-03-19]. URL: [6] Robin Dunn and Total Control Software. wxPython demo [program]. c19972006, last modified 2009-05-17 [cit. 2011-03-19]. URL: [7] LANDA, Martin; MORETTO, Cristina; ZANOLLI, Michele; MANGANELLI, Luca; NETELER, Markus. wxPython GUI for GRASS [online]. In IX Meeting degli Utenti Italiani di GRASS - GFOSS, Perugia, Italy, February 21-22 2008. URL: [8] GRASS-Wiki. Ps.map scripts [online]. Last modified 2 April 2011 [cit. 201104-18]. URL: [9] GRASS-Wiki. GUI for ps.map [online]. Last modified 16 April 2011 [cit. 2011-04-18]. URL: [10] GRASS GIS Tracker and Wiki [online]. Last modified 12 April 2011 [cit. 201104-20]. URL: 47
ˇ CVUT v Praze
ˇ E ´ ZDROJE POUZIT
[11] wxGUIDevelopment/GUIForPs.map – GRASS GIS [online]. Last modified 16 April 2011 [cit. 2011-04-18]. URL: [12] GRASS-Wiki. Installation Guide [online]. Last modified 10 February 2009 [cit. 2011-04-18]. URL: ˇ [13] ARCDATA PRAHA, s.r.o. ARCDATA PRAHA - ArcCR 500 [online]. c1992–2006 ARCDATA PRAHA, s.r.o., posledn´ı zmˇena: 7. 12. 2007 [cit. 201104-23]. URL: [14] GeoWikiCZ. 153YZOD Zpracov´an´ı obrazov´ych dat – cviˇcen´ı 1 [online]. Naposledy editov´ano 4. 10. 2010 [cit. 2011-04-02]. URL: [15] GeoWikiCZ. 153TTKA Topografick´a a tematick´a kartografie G [online]. Naposledy editov´ano 8. 10. 2009 [cit. 2011-04-02]. URL: [16] Wikipedia: the free encyclopedia. Single document interface [online]. c2011, last modified on 31 March 2011 [cit. 2011-04-15]. URL: [17] Wikipedia: the free encyclopedia. Multiple document interface [online]. c2011, last modified on 15 February 2011 [cit. 2011-04-15]. URL: [18] ArcGIS Help Library [online]. c1995-2010 Esri, last modified 9/14/2010 [cit. 2011-04-11]. URL: [19] WESSEL, Paul. The GMT Home Page [online]. Last modified Wed 09 Mar 2011 [cit. 2011-04-18]. URL:
48
A
Instalace syst´ emu GRASS
Instalace syst´emu GRASS je z´avis´ı na jeho verzi a operaˇcn´ım syst´emu. Struˇcnˇe pop´ıˇsi zp˚ usob instalace na operaˇcn´ı syst´em GNU/Linux (distribuci Ubuntu), podrobnosti k instalaci i na ostatn´ıch syst´emech (MS Windows a Mac OS X) jsou pops´any na GRASS-Wiki [12]. Nejjednoduˇsˇs´ı je nainstalovat stabiln´ı verzi GRASS 6.4, kter´a je dostupn´a v bal´ıˇcku. Lze ji proto nainstalovat pomoc´ı spr´avce bal´ıˇck˚ u Synaptic. Nebo do pˇr´ıkazov´e ˇra´dky napsat: $ sudo apt-get install grass grass-doc
Nov´e GUI pro modul ps.map je funkˇcn´ı pro verze 6.5 a vyˇsˇs´ı, v bl´ızk´e dobˇe by mohlo b´ yt souˇca´st´ı hlavn´ı distribuce GRASSu 6.4.2. Verze 6.5 a vyˇsˇs´ı jeˇstˇe nejsou dostupn´e v bal´ıˇcku, ale lze je nainstalovat jinak, i kdyˇz ne tak jednoduˇse. Prvn´ı moˇznost je st´ahnout bin´arn´ı soubory a spustit instalaˇcn´ı skript. Tyto soubory jsou t´ ydnˇe aktualizov´any. Pokud chcete i zdrojov´ y k´od, lze si soubory st´ahnout z repozit´aˇre SVN, a to bud’ formou tzv. SVN snapshot bez zaloˇzen´ı lok´aln´ıho repozit´aˇre nebo se zaloˇzen´ım lok´aln´ı kopie repozit´aˇre pomoc´ı n´asleduj´ıc´ıch pˇr´ıkaz˚ u: $ svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_devel
pro verzi 6.5 a pro verzi 7: $ svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk
Tato moˇznost m´a tu v´ yhodu, ˇze po instalaci lze jednoduˇse prov´adˇet aktualizaci pomoc´ı svn up. Postup instalace je n´asleduj´ıc´ı: ve vybran´em adres´aˇri (napˇr´ıklad /usr/local/src) s pr´avem z´apisu spust’te v´ yˇse uveden´ y pˇr´ıkaz a po staˇzen´ı repozit´aˇre pokraˇcujte spuˇstˇen´ım $ ./configure
Velmi pravdˇepodobnˇe skript skonˇc´ı pˇredˇcasnˇe kv˚ uli chybˇej´ıc´ı knihovnˇe. Je tˇreba se pod´ıvat, zda je na poˇc´ıtaˇci instalov´an veˇsker´ y vyˇzadovan´ y software38 a pokud ne, pak jej doinstalovat (nejl´epe pomoc´ı bal´ıˇck˚ u). T´emˇeˇr u ´pln´ y seznam nutn´ ych bal´ıˇck˚ u na distribuci Debian a Ubuntu: 38
http://grass.osgeo.org/grass64/source/REQUIREMENTS.html
49
flex, bison, libreadline5-dev | libreadline-dev, libncurses5-dev, lesstif2-dev, debhelper (>= 5), dpatch, libtiff4-dev, tcl-dev (>= 8.4) | tcl8.4-dev, tk-dev (>= 8.4) | tk8.4-dev, libfftw3-dev|fftw3-dev, libxmu-dev, libglu1-mesa-dev | libglu1-xorg-dev, libfreetype6-dev, autoconf2.13, autotools-dev, libgdal1-dev (>=1.4.0) | libgdal1-1.3.2-dev, proj (>= 4.4.7), libjpeg62-dev, libpng12-dev, libpq-dev, unixodbc-dev, doxygen, fakeroot, libmysqlclient15-dev, graphviz, libsqlite3-de
M˚ uˇze nastat probl´em ve ˇspatnˇe nastaven´e cestˇe ke knihovn´am, pro jejich nalezen´ı poslouˇz´ı pˇr´ıkaz apt-file. Cesty lze nastavit v parametrech skriptu configure. Pro n´apovˇedu pouˇzijte ./configure --help. Spr´avnou cestu lze pak nastavit napˇr´ıklad takto: $ ./configure --with-freetype-includes=/usr/include/freetype2
Po korektn´ım skonˇcen´ı configure n´asleduje kompilace pomoc´ı make, coˇz chv´ıli potrv´a. Pokud skonˇc´ı bez chyb, instalace je dokonˇcena pomoc´ı make install.
B
Instalace wx.psmap
V souˇcasn´e dobˇe je program wx.psmap dostupn´ y pouze z GRASS AddOns, v bl´ızk´e dobˇe se poˇc´ıt´a s jeho zaˇclenˇen´ım i do hlavn´ı distribuce verze 6.4.2. Zat´ım vˇsak pro instalaci wx.psmap pˇredpokl´ad´am jiˇz nainstalovan´ y syst´em GRASS verze 6.5 a vyˇsˇs´ı. Instalaci lze prov´est bud’ z pˇr´ıkazov´e ˇr´adky GRASSu nebo z wxGUI pomoc´ı modulu g.extension, postup se liˇs´ı pro r˚ uzn´e verze GRASSu. GRASS 6 Do pˇr´ıkazov´e ˇra´dky wxGUI (nal´ez´a se v doln´ı ˇca´sti hlavn´ıho okna Layer Manager) napiˇste n´asleduj´ıc´ı pˇr´ıkaz: g.extension.py -s svnurl=https://svn.osgeo.org/grass/grass-addons extension=wx.psmap
GRASS 7 Do pˇr´ıkazov´e ˇra´dky GRASSu (v termin´alu) napiˇste n´asleduj´ıc´ı pˇr´ıkaz: 50
g.extension -s svnurl=https://svn.osgeo.org/grass/grass-addons extension=wx.psmap
Nebo ve wxGUI v oknˇe Layer Manager vyberte v hlavn´ı nab´ıdce Settings → Install extension from add-ons a proved’te n´asleduj´ıc´ı pokyny: 1. Kliknˇete na tlaˇc´ıtko Fetch a chvilku poˇckejte. 2. Po naˇcten´ı aktu´aln´ıch informac´ı vyberte wxGUI → wx.psmap. 3. Zaˇskrtnˇete pol´ıˇcko v doln´ı ˇc´asti formul´aˇre Install system-wide (may need system administrator rights). 4. Spust’te instalaci kliknut´ım na tlaˇc´ıtko Install. Po nainstalov´an´ı spust´ıte program z hlavn´ı nab´ıdky File → Hardcopy Map Output Utility.
51
C
Screenshoty aplikace wx.psmap
Obr´azek 12: Hlavn´ı okno aplikace
(a) Nastaven´ı textu
(b) Nastaven´ı grafick´eho mˇeˇr´ıtka
Obr´azek 13: Dialogov´a okna aplikace
52
D D.1
Testovac´ı mapov´ e v´ ystupy Uk´ azka 1: ArcGIS Digital Elevation Model of Western Bohemia streams water areas
DEM
Value
towns
1363 1284
975
665
249
± 0
50
100 km
1 : 832 840 Created by Anna Kratochvilova within her bachelor thesis in 2011. Data source: ArcČR © 1997 ARCDATA PRAHA, s.r.o.
53
D.2
Uk´ azka 1: QGIS
Digital Elevation Model of Western Bohemia
streams water areas towns DEM
0
25
50
75
100 km
1:878333 Created by Anna Kratochvilova within her bachelor thesis in 2011. Data source: ArcČR © 1997 ARCDATA PRAHA, s.r.o.
54
D.3
Uk´ azka 1: wx.psmap
Digital Elevation Model of Western Bohemia DEM
1400 1200 1000 800 600 400 200
streams water areas towns
0
50
100
kilometers
SCALE:
1 : 922564
Created by Anna Kratochvilova within her bachelor thesis in 2011. Data source: ArcCR copyright 1997 ARCDATA PRAHA, s.r.o.
−985261 REGION: −904539.625 −787139.625 −1159661
55
Uk´ azka 2: ArcGIS
!
!
!
!
!
!
!
!
+ + + + + +
!
!
!
!
!
!
!
! !
!
+ +
!
!
+ + + + + + + + + + + + + + +
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!!
!
!
!
!
!
! !
!
!
!
!
!
! !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
! !
!
!
!
!
! !
!
! !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!!
!
!
!
!
!
=
!
!
!
! !!
!
!
!
!
!
! !
=
!
!
!
!
! !
+
!
+
!
+
! !
!
+
+
+ +
+ !
!
!
!
!
!
+
!
+
! !
+ ++
!!
!
!
=
!
!
!
!
! !
!
!
!
! !
!
! !
+
=
!
!
! !
!
! !
++
! !
! !
!
!
!
!
!
! !
!
! !
!
!
!
!
+ !
!
!
= !
+ + + + +
! !
!
=
+
!
+ ++ + +
! !
!
!
+ + + +
!
=
!
!
!
!
!
!
!
+
+
!
!
!
!
!
=
=
!
! ! !
!
!
!
!
à Vypracovala Anna KRATOCHVÍLOVÁ v roce 2010 v rámci +
!
!
!
++
+ +
+
!
!
+ + +
=
+
!
!
!
!
!
! !
! !
!
+
!
! !
! ! !
!
! !
!
!
!
=
+
+
+
+
=
!
!
! !
!
!
!
!
!
!
!
!
+ + +
!
!
! !
à à
+ + + + + +
+
=
!
!
!
+
+ +
=
!
!
!
à
!
+
+ + +
!
!
+
+
+
!
+ + + +
!
!
!
!
=
!!
!
!
ä
!
!
à
!
!
!
+ + + + + +
!
!
!
!
+
!
+
!
!
!
+
=
!
!
=
!
!
!
+
++ + + ++ + + + ++ + + ++ + + +
!
!
!
V
+
!
!
!
!
+
+
+
+
+
500 m
!
!
!
!
!
!
1 : 10 000 400
!
G
+
=
!
!
!
+
!
+
!
+
!
=
+
+
!
!
!
!
!
!
!
!
+
!
V
!
à
!
+
!
!
+
+
à
!
!
!
+
!
!
!
!
=
!
!
+ +
!
!
!
!
!
+ +
!
+ +
!
!
!
!
+
!
=
!
!
!
!
!!
!
!
!
! !
!
!
! !
!
!
!
!
!
!
!
+ + + + +
!
!
!
!
!
!
!
!
!
!
+ +
+
!
!
!
!
!
!
+
!
=
!
+
!
!
!
!
!
+
!
!
!
!
!!
+
!
!
!
!
+
!
!
!
!
!
!
!
!
!
! !
!
!
!
!
+
!
!
!
!
!
!
!
=
!
!
!
!
!
! !
=
! !
!
!
!
G
!
!
!
=
! !
! !
+
!
!
!
!
! !
!
!
=
!
!
!
!
!
!
!
!
=
!
!
!
!
! !
!
!
!
+ + + + + + + + + + + + + + +++ ++ + + + +
!
+
!
+
!
!
+
!
!
!
!
!
à !
!
!
!
=
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
+
!
! !
!
!
!
+
!
! !
!
! !
+ + + +
!
! !
!
!
!
! !
=
!
!
!
!
!
! !
!
!
G !
=
!
!
!
!
!
=
!
!
!
!
!
! !
!
!
!
!
!
=
!
à
!!
!
!
!
! !
!
! !
à à
=
=
! !
!
!
+
=
!
!
!
!
!
!
!
!
!
=
!
!
!
! !
! !
!
!
!
!
!
!
!
!
!
!
! !
!
!
!
!
!
!
!
+
!
!
!
!
!
+
!
!
!
!
!
!
+
!
!
!
!
=
!
!
!
!
! !
!
!
!
!
!
!
!
!
=
!
+
!
!
!
!
!
!
!
!
!
!
! !
!
!
!
!
!
!
!!
!
!
!
=
!
!
! !
! !
!
!
!
! !
!
!
!
!
!
!
!
!
!
! !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
! !
!
!
!
! !
!
!
!
!
!
!
!
!
! !
!
!
!
!
!
!
!
!
!
!
!
!
!
+
!
!
!
!
!
!
G
!
+
+
!
!
!
!
!
!
!
!
!
!
!
+
=
!
!
!
+ + + + + + ++
!
! !
!
!
!
!
!
!
!
!
!
!
!
!!
!
!
!
!
!
!
!
! !
=
!
!
!
!
!
! !
!
+ + ++
+
+
!
! !
!
!
!
!
!
=
!
!
! ! !
! !
!
!
!
!
!
! !
!
=
=
++
!
!
!
!
!
!
!
!
! !
!
!
+
+
!
!
!
!
!
!
!
+
+ +
+
V
!
!
!
G
! !
ä !(ä
!
! (
!
!
+
! !
!
!
!
!
!
!
+
=
!
!
!
!
à
!
!
!
!
+ +
!
!
! !
!
!
!
!
!
!
!
!
!
!
!
+ +
!
! !
!
!
=
!
!
!
!
!
!
+
!
+ =
!
!
+
!
!
!
!
!
! !
!
!
!
+
!
!
!
!
!
!
+
=
+
!
!
!
!
!
!
!
! !
!
!
! ! !
!
!
!
!
!
!
!
! !
!
+
!
!
!
!
!
!
!
à
!
!
=
+
+ ++
V
!
+
!
!
!
!
!
!
!
!
!
!
!
!
!
!
+
!
!
!
!
!
+
+ + + + +
!
=
!
!
!
!
!
!
!
! !
!
!
!
!
+
!
!
!
!
!
!
!
!
!
+
+
!
=
!
!
!
!
!
!
à !
!
+
= +
+ + + +
!
=
!
!
!
!
!
!
!
!
à
!
à
!
+
!
!
!
!
!
!
!
+
!
!
+
!
!
!
!
!
!
!
!
!
à
! !
!
!
à
!
!
!
!
!
!
!
+
!!
!
!
!!
à
!
!
!
!
!
300
!
!
!!
!!
!
!
!
!
!
+ + +
Ý
!
200
!
!
!
!
!
!
à
!
!
!
!
!
!
à
!
!
!
!
!
+
+
Ý
!
!
!
!
+
+ +
V
V !
!
!
!
!
!
+
++
!
!
!
=
!
=
+
+
!
à
+ + + + + + + + + +
!
+
!
!
!
!
!
!
+
!
!
+ +
!
!
!
+ +
+ ++ + +
à +
!
!
!
=
+
+ !
+
! ! ! !
!
!
!
!
+
!
!
+
!
+
!
+
+
à à
!
Ý
!
!
+
!
!
!
!
!
+
+
+
Ý
!
100
=
!
!
+
à
+
!
!
!
+
=
!
!
+ + + + +
+ + + + + + +
+ + + + +
+
+ + + + +
!
0
!
!
+
!
!
+
+
!
!
!
=
à
!
!
+
à
m
!
!
!
!
!
!
!
+ + + + + + +
+
+ + + +
+
!
!
+ + +
!
!
!
!
+
+ + + + +
+ +
!
!
=
!
!
àà
à
!
!
!
!
!
!
!
=
!
!
! !
!
! !
Ý à V à
!
!
! !
!
!
!
!
!
!
!
!
V
!
!
!
Ý
!
!
!
!
!
!
!
!
!
+ +
=
!
!
!
! !
!
=
!
!
à
!
!
+ + + + + + + + + + + + + + + + + + + + + + + + + ! !
!
!
!
à
!
à
!
!
!
!
!
!
!
à
!
!
!
!
!
!
!
VÝ
à
!
!
!
=
!
!
!
à à
!
!
!
!
V
+ + ++ + + + + + + + + + + ++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
!
!
à
!
Ý
+ + + +
!
!
!
=
!
!
+ + + + + +
Ý
!
à
!
!
à
V
!
à
+ + +
!
à
àà
!
!
! (
!
!
!
+ + + + +
+
++
à à
+
Vizualizace ZABAGED v okolí Starého města pod Sněžníkem !
D.4
!
předmětu TTKH na Stavební fakultě ČVUT v Praze. Podkladová data: ZABAGED (http://www.cuzk.cz).
56
D.5
Uk´ azka 2: wx.psmap
Visualization of ZABAGED near Stare Mesto pod Sneznikem
0
100
200
300
400
500
Created by Anna Kratochvilova within her bachelor thesis in 2011. Data source: ZABAGED (http://www.cuzk.cz)
meters
57