ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Fakulta stavební, Katedra mapování a kartografie
Studijní program: Geodézie a kartografie
Studijní obor: Geodézie a kartografie
BAKALÁŘSKÁ PRÁCE
Webový portál o mapových službách
Vedoucí bakalářské práce: Ing. Petr Soukup, Ph.D.
květen 2007 JAN JIRÁNEK
Web Map Service (WMS) v překladu znamená webová mapová služba. Jedná se poměrně o mladou normu pro šíření geografických informací ve formě map. Tyto mapy jsou prezentovány jako obrazová data (rastr). První verze WMS byla vyvinuta Open Geospatial Consortium (OGC) kolem roku 2000. Jde o jeden z nejrozšířenějších standardů tohoto konsorcia, který byl především původně určen jako jeden z nástrojů GIS.
Mojí motivací k návrhu předmětu této práce "Webový portál o mapových službách" bylo to, že při prostudování témat bakalářských prací vypsaných katedrami oboru geodézie a kartografie mě zaujalo téma WMS Ing. Soukupa. Při průzkumu toho, co tato služba vlastně je, narazil jsem na problém v nedostatku informací na internetu. Po zjištění co WMS zamená, chtěl jsem si prakticky vyzkoušet fungování této služby. Objevil se ovšem další problém, spočívající v tom, že jsem nemohl najít WMS server, který bych si připojil do WMS prohlížeče.
Tak vzniknul nápad na vytvoření tohoto vyhledávacího portálu mezi WMS servery, který by obsahoval přehled WMS serverů území ČR, popř. SR. Zároveň součástí portálu by byla informační část popisující WMS, její použití, využití a základní principy.
Využití takového portálu by mohlo být všestranné, protože informace o WMS v českém jazyce na internetu sice jsou, ale nejsou ucelené. Komplexní seznam WMS serverů na našem území neexistuje a vyhledávací služba v metadatech WMS serverů existuje jen jedna [44] , a to v takové podobě, že nevyužívá všech možností těchto dat o datech (metadat). Portál by mohly využívat krajské úřady (jejich GIS oddělení), ČUZK, privátní sektor využívající možností WMS a další instituce a subjekty.
Takový portál by měl využívat nejnovější informační standardy pro web, jakými jsou XHTML 1.1 a CSS 2. Zároveň, aby portál fungoval jako databáze + program, měl by podporovat např. PHP a MySQL.
Stanovené cíle této práce jsou dosti obsáhlé. Již při zadání práce jsem se proto dohodl s vedoucím práce, že využiji výsledky bakalářské práce mého spolužáka Jana Říhy, který se také zabývá WMS, ale s ohledem na průzkum datových zdrojů. Výsledky jeho práce budou tudíž využity v informační sekci webového portálu.
klient | softwarový produkt, který se může dovolávat operace ze serveru souřadnicový systém sada matematických pravidel pro specifikování jak mají být souřadnicím přiřazované body [ISO 19111] |
rozhraní | pojmenovaná sada operace charakterizující chování entity [ISO 19119] |
vrstva | nebo také layer je základní jednotka informace Web Map Service, jedná se o vrstvu zobrazující geografické informace ve formě mapy |
styl vrstvy | nebo také style je rozšiřující možností vrstvy (layer), kdy jsou šířeny stejné mapové produkty, ale v jiné formě prezentace (např. v jiném barevném schématu) |
query | jde o obecný dotaz ze strany klienta na server, dotazuje se prostřednictvím metody GET protokolu HTTP |
mapový server | jde o zvláštní případ služby, která zpřístupňuje klientům geografická data ve formě vrstev (layer) |
request | ve WMS je to požadavek ze strany klienta prostřednictvím query dotazu obsaženého v URL, který vykoná určitou operaci |
georeferencování | vztažení objektu k referenčnímu souřadnicovému systému |
entita | abstraktní nebo konkrétní objekt, o kterém je uložena informace v bázi dat |
objekt | entita s jednoznačně definovanou hranicí a identitou, která zapouzdřuje stav a chování [ISO/TS 19103] |
tag | je to synonymum pro slovo značka, používá se ve spojitosti s metajazykem XML a jeho aplikacemi, tag je nositelem informace |
mapová kompozice | jedná se o výsledek spojení několika vrstev (map) v jednu mapu (např. polohopis, výškopis, popis) |
AJAX | Asynchronous Javascript And XML |
CGI | Common Gateway Interface |
CRS | Coordinate Reference System |
CSS | Cascading Style Sheets |
DHTML | Dynamic HTML |
DOM | Document Object Model |
DTD | Document Type Definition |
EPSG | European Petroleum Survey Group |
GIF | Graphics Interchange Format |
GIS | Geographic Information System |
GML | Geography Markup Language |
HTML | HyperText Markup Language |
HTTP | Hyper Text Transfer Protocol |
JPEG | Joint Photographic Experts Group |
KML | Keyhole Markup Language |
LAMP | Linux, Apache, MySQL, PHP |
MathML | Mathematical Markup Language |
MIME | Multipurpose Internet Mail Extensions |
OGC | Open Geospatial Consortium |
PHP | Hypertext Preprocessor |
PNG | Portable Network Graphics |
SGML | Standard Generalized Markup Language |
SVG | Scalable Vector Graphics |
UDDI | Universal Discovery Description and Integration |
URI | Uniform Resource Identifier |
URL | Uniform Resource Locator |
VML | Vector Markup Language |
W3C | World Wide Web Consortium |
WCS | Web Coverage Service |
WFS | Web Feature Service |
WGS | World Geodetic System |
WMS | Web Map Service |
WSDL | Web Services Description |
XHTML | Extensible HyperText Markup Language |
XML | eXtensible Markup Language |
XSD | XML Schema Definition |
XSL | eXtensible Stylesheet Language |
Kurívou | jsou vyznačeny poznámky |
Tučné | písmo slouží ke zvýraznění důležitého textu |
Podtržené | písmo označuje internetový odkaz vyjma literatury a textu označeného Courier (následující značení) |
Courier | písmo označuje text výpisu souboru (pokud je v ohraničeném boxu vyjma přílohy), nebo ukázkou kódu v libovolném jazyku (XML, PHP, URL, CSS, aj.) |
[1] | číslo v hranatých závorkách odkazuje na použitý pramen (viz. Kapitola Literatura) |
S rozvojem geografických informačních systému (GIS) bylo zapotřebí vyvinout standardy, jenž by tyto složité systémy byly schopny společně využít. Další snahou bylo zamezit problému s nepřenositelností a uzavřeností formátů pro ukládání GIS dat. Dříve si každá GIS softwarová firma vyvinula vlastní formát, který byl často uzavřený (nepřístupný pro ostatní firmy).
Tuto situaci se snaží vyřešit Open Geospatial Consortium (OGC) [7] , které se dříve jmenovalo Open GIS Consortium. Skládá se z mnoha členů GIS komunity (tvůrců softwaru, předních vědců, atd.). Jeho cílem je sjednotit pomocí mezinárodní norem formáty pro různé typy dat pro GIS pro jejich zjednodušené předávání na národních i mezinárodní úrovni při používání nestejných softwarů. Jeho vytvořeným standardem je právě Web Map Service (WMS) [59] . Příkladem toho, že WMS je jeden z nejpopulárnějších standardů vyvinutých OGC je tabulka č. 1.1.
Výraz | Vyhledávač | |
www.google.com | www.seznam.cz | |
web map service | 1 010 000 000 | 287 627 |
"web map service" | 120 000 | 267 027 |
wms | 6 510 000 | 7 309 |
Poznámka: výraz v uvozovkách znamená vyhledání celého sousloví
Web Map Service je to webová mapová služba, která byla vytvořena z důvodu umožnění sdílení dat GIS v distribuovaném prostředí Internetu. Jedná se o nástroj nejen pro GIS systémy, který zpřístupňuje informace ve formě map (rastrů). Výsledkem požadavku např. GIS softwaru na WMS server jsou primárně obrazová data v nejrůznějších formátech (JPEG, TIFF, PNG, aj.), které zobrazují tematické geografické informace (tematickou mapu - vrstvu). Tato obrazová data mohou být výsledkem překrytu více vrstev (mapová kompozice). To, že je georeferencován (vztažen k souřadnicovému systému), nám poté umožní jeho správnou prezentaci. Georeferencování v tomto případě můžeme chápat jako jednoznačně daný referenční souřadnicový systém a souřadnicový obdélník (box) v tomto systému, jenž obaluje obrazová data výsledku.
[Kapitola 1]
[1.1 Úvod do WMS]
[Obsah]
První oficiální dokument popisu WMS verze 1.0.0 vydalo OGC dne 19. května 2000. V současné době je nejrozšířenější používání verze 1.1.1 z roku 2002. Přehled vývojových verzí uvádí tabulka č. 1.2. Protože OGC je jen tvůrcem, správcem a inovátorem tohoto standardu, tak není organizací, jenž by ho prohlásila za normu. Jako mezinárodní norma byl WMS přijat úřadem International Organization for Standardization (ISO) pod označením ISO 19128 Geographic Information: Web Map Service v roce 2005.
Verze | Platné od | Referenční dokument | Editor dokumentu | Typ dokumentu |
1.0.0 | 2000-04-19 | OGC 00-028 | Allan Doyle | D-IS |
1.1.0 | 2001-06-21 | OGC 01-047r2 | Jeff de La Beaujardiére | D-IS |
1.1.1 | 2002-01-16 | OGC 01-068r3 | Jeff de La Beaujardiére | D-IS |
1.3.0 | 2004-01-20 | OGC 03-109r1 | Jeff de La Beaujardiére | D-RP |
Poznámka: data zjištěné z oficiálního webového portálu OGC [7]
Druhy typu dokumentů:
D-RP - Deprecated Recommendation Paper (neschválené doporučení)
D-IS - Deprecated Implementation Specification (neschválené provedení specifikace)
[Kapitola 1]
[1.2 Historie vývoje WMS]
[Obsah]
Základním principem WMS jsou vzájemné interakce, a to stroj-stroj a stroj-člověk. V nejvyšším vrcholu této komunikace je mapový server. Pokud podporuje WMS, můžeme hovořit o WMS serveru. V jeho úložišti jsou uskladněny georeferencovaná obrazová data (GeoTIFF), v nastavení jsou popsány možnosti WMS serveru a v databázi jsou uloženy atributové informace o geografických objektech (objekty u nichž je známa poloha v souřadnicovém referenčním systému a déle k nim existují atributy). Nejčastěji se pro označení souřadnicového referenčního systému (CRS - Coordinate Reference Systém) využívá dataset EPSG [2] (podrobněji je popsán v příloze E).
Klient je potom software, který komunikuje se serverem za účelem získání informací. K této komunikaci využívá Hyper Text Transfer Protocol (HTTP), resp. jeho metody dotazů, jimiž jsou GET a POST (více v kapitole 2.2.1 a 2.2.2). Klient si poté zpracuje informace, které mu server zpřístupnil.
Tyto informace pomocí definovaného uživatelského rozhraní zpřístupní uživateli. Jedná se o interakci člověk-stroj (resp. uživatel-klient) názornější vysvětlení naznačuje obrázek 1.
[Kapitola 1]
[1.3 Princip WMS]
[Obsah]
Webová mapová služba (WMS) se dá popsat z hledisek jejich kladných a záporných vlastností [19] jak pro uživatele, klienta, apod.
[Kapitola 1]
[1.4 Klady a zápory webové mapové služby]
[Obsah]
Webová mapová služba není jediná služba, která prostřednictvím internetu umožňuje přístup ke geografickým datům (mapovým produktům). OGC spravuje i další obdobné formáty. Jsou jimi například Web Feature Service (WFS), Web Coverage Service (WCS), aj. Každá z těchto služeb je určena ke specifickému účelu šíření prostorových dat.
Je-li WMS určeno k šíření mapových produktů prostřednictvím obrazových dat ve standardních formátech jako jsou např. JPEG, PNG, BMP, TIFF aj., tak potom ostatní služby budou využívat jiné formáty k popisu geografických dat.
Služba Web Feature Service by ve volném překladu znamenala webová hlavní služba. Správcem tohoto formátu je opět OGC. Hlavní výhodou této služby je to, že nám vrátí neobrazová vektorová geografická data, jež narozdíl od WMS mají své přednosti. Po jejich načtení můžeme data upravovat a analyzovat. K šíření vektorových dat se využívá aplikace XML, a to formát Geography Markup Language (GML) [6] .
[Kapitola 1]
[1.5 Obdobné služby]
[Obsah]
Pod pojmem webová služba rozumíme vzájemnou interakci stroj - stroj. Jedná se o dva stroje (PC, PDA, mobilní telefon, aj.), které nezávisle na svém hardwaru umožňují vzájemnou komunikaci, prostřednictvím určitého standardizovaného protokolu. Takovým příkladem může být protokol HTTP, který je nezávislý na hardware. Webová mapová služba je potom specifickou aplikací interakce stroj - stroj. Člověk přistupuje k datům, jež jsou poskytovány pomocí WMS v interakci člověk - stroj pomocí klienta. Dle náročnosti lze tyto klienty rozdělit na dvě kategorie, a to tenký a tlustý klient.
[Kapitola 1]
[1.6 Softwarové zajištění]
[Obsah]
Jedná se o nejjednodušší typ klienta. Jde o princip, kdy se prakticky vše zpracovává na straně serveru. Aplikace na straně klienta je omezena pouze možnostmi webového rozhraní (nejčastější případ), které se stará o zobrazování dat spravovaných serverem. Nevýhodou tohoto rozhraní je potom jednostranná zátěž serveru, čímž se snižuje odezva serveru. Nedá se tudíž ovlivnit výkonem hardwaru na straně klienta. Jeden z největších záporů se potom nalézá ve velké paletě uživatelských rozhraní (webové prohlížeče s jejich pluginy), které mohou špatně interpretovat prostředky klienta, popřípadně ho nemusí podporovat vůbec. Nespornou výhodou tenkého klienta je snadný přístup bez ohledu na hardware a operační systém.
ID | Význam | Firma / Organizace | Produkt | Web (URL) |
1 | ČR | HS RS | Prohlížeč WMS | http://www.bnhelp.cz/mapserv/php/mapserv3.php?project=wmsview& |
2 | svět | Intergraph | OGC Viewer | http://www.wmsviewer.com |
3 | svět | ESRI | Arc Explorer | http://www.geographynetwork.com/arcexplorer |
4 | svět | INSPIRE | EU -Geoportal | http://eu-geoportal.jrc.it/arcexplorer |
Poznámka: informace zjištěné vlastním průzkumem
[Kapitola 1]
[1.6 Softwarové zajištění]
[1.6.1 Tenký klient]
[Obsah]
Ze znalosti pojmu tenký klient je snadné odvodit, co tlustý klient představuje. Jedná se především o aplikaci, jež běží na straně hardwaru klienta. Tato aplikace je omezena možnostmi operačního systému a použitým hardwarem. Vlastní klient pracuje na straně uživatele. Komunikuje s mapovým serverem a získává tak z něho potřebná data. Tento program může pracovat ve dvou režimech, buď online (možnost získávat nová data), nebo offline (pracuje jen s načtenými daty ze stavu online). Velikou a nespornou nevýhodou tohoto klienta je jeho závislost na operačním systému. Tento problém vyřeší jen vytvoření dalších verzí pro jiné operační systémy.
Příkladem tlustých klientů je ArcGis 8.3 (s podporou WMS), Kokeš 7.60, Google Earth, Gaia, a spousta dalších.
[Kapitola 1]
[1.6 Softwarové zajištění]
[1.6.2 Tlustý klient]
[Obsah]
Mapový server je software pracující na architektuře klient-server (stroj-stroj). Obsluhuje a zpracovává geografická data v nejrůznějších formátech. S určitou nadsázkou by se dalo říci, že se jedná o geografický informační systém, který je ovládán pouze pomocí definovaných parametrů (není interaktivní). Spolupracuje s některým z mnoha typů webových serverů (např. Apache), který jim předá potřebné parametry z webového formuláře. Ty jsou zpracovány a zpět je vrácen buď soubor s mapou anebo výsledek dotazu.
Existuje nepřeberné množství mapových serverů. Jsou jimi jak komerční (např. od firmy ESRI) a servery jsou uvolněné pod svobodnou licencí. Mezi jeden z nejznámějších se dá zařadit MapServer [60] univerzity v Minnesotě v licenci GNU GPL.
Tak jako HTTP server např. Apache podporuje nejrůznější moduly PHP, IMAP, aj., tak i mapový server podporuje nadstavby, jimiž je například podpora WMS někdy označovaná jako WMS server.
[Kapitola 1]
[1.6 Softwarové zajištění]
[1.6.3 Mapový server]
[Obsah]
Jak už bylo zmíněno, nejrozšířenější verzí je 1.1.1. Úspěch této verze souvisí hlavně s implementací WMS standardu do nejdůležitějších mapových serverů, jimiž je např. Mapserver z Univerzity Minesotta. Tato verze narozdíl od svých předchůdců umožňuje šířit i nejrůznější metadata o mapovém serveru. Verze 1.3.0, jenž je zatím neschváleným doporučením, není doposud (ke dni 28. 4. 2007) podporována žádným serverem, i když jsou náznaky, že v průběhu měsíce června roku 2007 bude již implementována do Mapserveru univerzity v Minesottě.
Snahou vývojářů standardu WMS je i rozšiřovat možnosti webové mapové služby a přizpůsobovat ji nejnovějším informačním formátům (XML, XSD, URL, aj.). Takovým příkladem může být dokument OGC 02-017r1 konsorcia OGC s názvem Web Map Service Implementation Specification Part 2: XML for Requests using HTTP POST. Jeho snahou je rozšířit zaostávající podporu metody dotazu POST protokolu HTTP v XML souborech, prostřednictvím nichž komunikují server a klient (tenký nebo tlustý).
Ještě zajímavějším dokumentem je OGC 06-045r1 WMS - Proposed Animation Service Extension. Tento zkoumá možnosti rozšíření WMS o animované sekvence závislé na prostoru a času. Dokument je zpracován, aby vyhověl verzi 1.1.1. Každá vrstva může mít dle specifikace WMS 1.1.1 atributy:
Tyto atributy dané vrstvy vymezují odlišné verze z hlediska času. V tomto případě existují v dané vrstvě tři její časové varianty.
Verze | Platné od | Referenční dokument | Editor | Typ dokumentu | Titul |
0.1.0 | 2005-04-22 | OGC 04-050r1 | Philippe Duschene & Jerome Sonnet | DP | WMS Change Request: Support for WSDL & SOAP |
0.0.3 | 2002-04-24 | OGC 02-017r1 | Jeff de La Beaujardiére | DP | WMS Part 2: XML for Requests using HTTP Post |
0.9.0 | 2005-07-24 | OGC 06-045r1 | Eric LaMar | DP | WMS - Proposed Animation Service Extension |
Poznámka: data zjištěné z oficiálního webového portálu OGC [7]
Druhy typu dokumentů:
DP - Discussion Paper (diskusní dokument)
[Kapitola 1]
[1.7 A co budoucnost?]
[Obsah]
Klient (tenký popř. tlustý) komunikuje s mapovým serverem prostřednictvím třech základních dotazů (request), které jsou součástí query obsažené v URL. Aby si vzájemně rozuměli, byly OGC vytvořeny tři hlavní typy dotazů na mapový server. Jedná se o dotazy GetCapabilities, GetFeatureInfo a GetMap. Názvy těchto dotazů jsou platné až od verze WMS 1.1.0. V důsledku vývoje verzí webových mapových služeb se dané funkce nejmenovaly vždy stejně. Jejich vývojové názvy uvádí tabulka 1.5.
Verze | GetMap | GetCapabilities | GetFeatureInfo | DescribeLayer | Poznámka |
1.0.0 | Map | Capabilities | FeatureInfo | - | |
1.0.7 | Map | Capabilities | FeatureInfo | DescribeLayer | 1) |
1.1.0 | GetMap | GetCapabilities | GetFeatureInfo | DescribeLayer | |
1.1.1 | GetMap | GetCapabilities | GetFeatureInfo | DescribeLayer | 2) |
1.1.0 | GetMap | GetCapabilities | GetFeatureInfo | - | 3) |
Poznámka:
1) dále existuje dotaz Coverage, který se vyskytuje jen v této verzi
2) dále existují dotazy GetLegendGraphic, GetStyles, PutStyles, které se vyskytují jen v této verzi
3) dále existuje dotaz _ExtendedOperation, který se vyskytuje jen v této verzi
Vlastní specifikace služby a její aplikace do praxe můžou být rozdílné věci, což dokazuje předchozí tabulka. U některých mapových serverů byly přidány navíc ještě další typy dotazů, které již nebyly vytvořeny OGC. Tudíž nemusí být podporovány všemi mapovými servery na rozdíl od třech hlavních.
[Kapitola 1]
[1.8 Typy dotazů na WMS server]
[Obsah]
Tento typ dotazu lze považovat za hlavní (primární), a to z toho důvodu, že klientovi zpřístupní mapu ve formě obrazových dat v určitém formátu. Query (parametry dotazu obsaženého v URL) URL musí obsahovat parametr, REQUEST=GetMap
Specifikace (záleží dle použité verze WMS) vyžaduje ještě další povinné parametry, které mapovému serveru sdělí podrobnější informace o části mapy jenž má zpřístupnit. Jsou jimi například souřadnicový systém, formát obrazových dat, název vrstev a stylů, souřadnicový box, aj.
http://b-maps.com/map.cgi?VERSION=1.3.0&REQUEST=GetMap&CRS=CRS:84& BBOX=-97.105,24.913,-78.794,36.358&WIDTH=560&HEIGHT=350& LAYERS=BUILTUPA_1M,COASTL_1M,POLBNDL_1M&STYLES=0XFF8080,0X101040,BLACK& FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&EXCEPTIONS=INIMAGE |
[Kapitola 1]
[1.8 Typy dotazů na WMS server]
[1.8.1 GetMap]
[Obsah]
Pokud daný klient nezná možnosti a vlastnosti spravovaných dat, což se skoro ve všech případech děje, musí tyto možnosti zjistit. Proto klient při první komunikaci se serverem sestaví GetCapabilities dotaz. Query musí obsahovat parametr REQUEST=GetCapabilities.
Specifikace vyžaduje ještě jeden povinný parametr SERVICE=WMS.
http://b-maps.com/map.cgi?SERVICE=WMS&REQUEST=GetCapabilities |
Po platném sestavení dotazu je zpřístupněn XML soubor popisující danou službu. Tato data jsou metadaty mapového serveru, což znamená, že obsahují veškeré potřebné informace pro komunikaci se služnou.
<?xml version="1.0" encoding="UTF-8"?> <WMT_MS_Capabilities version="1.1.0"> <Service> <Name>OGC:WMS</Name> <Title>Web Map Service metropolitky</Title> <Abstract>ArcIMS 9.1.0 metropolitky Web Map Service</Abstract> <KeywordList> <Keyword>ArcIMS</Keyword> </KeywordList> ... |
[Kapitola 1]
[1.8 Typy dotazů na WMS server]
[1.8.2 GetCapabilities]
[Obsah]
Tento typ dotazu vrací klientovi XML soubor s atributy daného prvku na mapě o určitých souřadnicích. Query URL musí obsahovat parametr REQUEST= GetFeatureInfo.
Specifikace (záleží dle použité verze WMS) vyžaduje ještě další povinné parametry, které mapovému serveru řeknou podrobnější informace o daném dotazu.
http://b-maps.com/map.cgi?SERVICE=WMS&REQUEST=GetFeatureInfo&VERSION=1.1.1 &BBOX=33861.26000000001,717605.5403411514,330846.09, 1019656.2096588486 &WIDTH=489&HEIGHT=406&INFO_FORMAT=text/xml&QUERY_LAYERS=cntry, states&X=320&Y=154&FEATURE_COUNT=1 |
<FeatureInfoResponse> <FIELDS> <FIELD name="GISDATA_TO" value="21952068" /> <FIELD name="GISDATA__1" value="28574.65" /> <FIELD name="GISDATA__2" value="204" /> <FIELD name="GISDATA__3" value="576" /> <FIELD name="GISDATA__4" value="176" /> <FIELD name="GISDATA__5" value="MEDFORD" /> <FIELD name="GISDATA__6" value="25017" /> <FIELD name="GISDATA__7" value="400" /> <FIELD name="GISDATA__8" value="39835" /> <FIELD name="GISDATA__9" value="57343" /> <FIELD name="GISDATA_10" value="57407" /> <FIELD name="GISDATA_11" value="0" /> <FIELD name="GISDATA_12" value="64" /> <FIELD name="GISDATA_13" value="3" /> <FIELD name="GISDATA_14" value="203" /> <FIELD name="#SHAPE#" value="[Geometry]" /> <FIELD name="#ID#" value="1" /> </FIELDS> </FeatureInfoResponse> |
[Kapitola 1]
[1.8 Typy dotazů na WMS server]
[1.8.3 GetFeatureInfo]
[Obsah]
Za předpokladu znalosti URL platného WMS serveru můžou nastat případy, kdy dotaz sestavený klientem je pro server chybný (nesrozumitelný), nebo neúplný. V takových případech od verze 1.1.0 vrací XML soubor s popisem dané chyby (viz. tabulka 1.12). Příklad chybného dotazu uvádí tabulka 1.11.
http://b-maps.com/map.cgi?SERVICE=WMS&REQUEST=GetFeatureInfo |
<?xml version='1.0' encoding="windows-1250" standalone="no" ?> <!DOCTYPE ServiceExceptionReport SYSTEM "http://schemas.opengeospatial.net/wms/1.1.1/exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1"> <ServiceException> msWMSDispatch(): WMS server error. Incomplete WMS request: VERSION parameter missing </ServiceException> </ServiceExceptionReport> |
[Kapitola 1]
[1.8 Typy dotazů na WMS server]
[1.8.4 Chybný dotaz (query)]
[Obsah]
WMS je jako například RSS, XHTML nebo SVG aplikací XML, a to především jeho dotazy GetCapabilities a GetFeatureInfo. To znamená, že tuto aplikaci někdo vymyslel a dále vytvořil definici typu dokumentu (DTD) nebo XML schéma, aby zajistil jednotnost používání tohoto formátu. Tvůrcem, správcem a inovátorem je OGC konsorcium. Tak jako každý nápad v průběhu času, tak i tento standard prošel dlouhým vývojem, což potvrzuje počet jeho vývojových verzí.
Tento soubor je jakýmsi metadatovým souborem popisující veškeré možnosti daného serveru.
Název metadata pochází ze spojení z řeckého meta = mezi a latinského data = to, co je dáno. Jsou to strukturovaná data o datech.
Takovým praktickým příkladem může být fotografie pořízená digitálním fotoaparátem. Přístroj automaticky připojí skryté informace do souboru s fotografií. Tato data jsou ukládána v tzv. formátu EXIF. Jsou to například informace o typu fotoaparátu, ohniskové vzdálenosti, cloně, datu a času pořízení, expozičním času apod.
S jakýmkoliv formátem metadat se tudíž setkáváme běžně, aniž si to uvědomujeme. V knihovnách je příkladem metadat katalogizační záznam, až již v klasické lístkové podobě, nebo ve formě elektronického záznamu v automatizovaném knihovním systému.
V důsledku velkého rozvoje internetu z hlediska používání pro ukládání a zpřístupňování nejrůznějších informací nastává problém s jejich vyhledáváním. Tuto situaci usnadňují právě metadata, s jejichž pomocí se hledání a správa informací stává snazší.
[Kapitola 2]
[2.1 Metadata]
[Obsah]
URI je zkratka odvozená z anglického jazyka Uniform Resource Identifier [14] , což v překladu znamená jedinečnou identifikaci zdroje. Skládá se z řetězce znaků, jehož formát se řídí určitými kritérii. Jedná se tudíž o množinu všech druhů adres. Obsahuje dvě složky, a to adresu objektu a schéma. Schémat v poslední době narůstá s rozvojem nových komunikačních protokolů. Jsou jimi například http, ftp, file, mailto a mnoho dalších. Každé toto schéma začíná vždy dvojtečkou a dále následuje vlastní adresa objektu. Forma této adresy je potom závislá na druhu schématu. Příkladem takového URI může být například: http://www.google.com
Do rodiny URI patří i URL (Uniform Resource Locator) a URN (Uniform Resource Name)
[Kapitola 2]
[2.2 Přehled využívaných technologií]
[2.2.1 URI (Uniform Resource Identifier)]
[Obsah]
URL, neboli Uniform Resource Locator [14] ve volném překladu znamená jedinečný zdrojový lokátor. Jedná se o podmnožinu URI. Skládá se z řetězce znaků s definovanou strukturou. Slouží k přesné specifikaci umístění zdrojů informací (ve smyslu dokument nebo služba) na internetu.
Příkladem takového URL může být například tato fiktivní internetová adresa: http://gama.fsv.cvut.cz:80/vyuka/tcv10.php?akce=zkousky&sem=letni
Začátek dotazu je uvozen znakem "?". V dotazu se vyskytují dva parametry akce, jejíž hodnota je zkousky a semestr s hodnotou letni. Jednotlivé položky dotazu jsou odděleny symbolem "&".
Je možné se setkat v URL i s parametry pro HTTP autorizaci. Autorizace se skládá z uživatelského jména a k němu příslušné heslo. Příkladem může být tato fiktivní adresa http://username:password@gama.fsv.cvut.cz/
[Kapitola 2]
[2.2 Přehled využívaných technologií]
[2.2.2 URL (Uniform Resource Locator)]
[Obsah]
EXtensible Markup Language (XML) [13] je jedním z nejdůležitějších metajazyků vyskytujících se ve světě počítačů. Byl vyvinut z metajazyka SGML. Na jeho vytvoření pracovala od roku 1996 pracovní skupina XML (XML Working Group) konsorcia World Wide Web Consortium (W3C).
Jeho výhodou oproti svému předchůdci je to, že přinesl pro programátory a správce informačních systémů dlouho očekávaný výměnný standard. Při jeho vytváření stanovili tvůrci 10 hlavních cílů tohoto metajazyka:
Úspěšnost tohoto metajazyka dokazuje také to, že v poslední době o něm vychází mnoho publikací, existují výukové kurzy, jeho podpora je implementována do nejrůznějších programovacích jazyků a v neposlední řadě existuje nepřeberná řada aplikací. Pro příklad jich pár uvedu:
Předchozí příklady jsou jen nepatrným výčtem z XML aplikací. Rovněž je zajímavé, jak se XML metajazyk rozšířil do nejrůznějších oborů lidské činnosti. Tyto uvedené aplikace jsou nejenom vyvinuté, ale i dále rozšiřované a poměrně i známé lidem, kteří pracují s PC.
Jak je z předchozího textu o XML patrné, tak každý si může vytvořit jakékoliv vlastní schéma pro určitá data. Pro názorný příklad si představme, že máme vytvořit XML pro ukládání dat PSČ obcí České republiky. Nejdříve si musíme udělat rozbor všech dat, která budeme ukládat. V nejjednodušším případě nás bude zajímat název obce a její PSČ. Potom by takové schéma vypadalo asi takto:
<?xml version="1.0" encoding="UTF-8"?> <PSC_LIST xmlns="http://josef.fsv.cvut.cz/~tuten/xml/xml_psc/1.0"> <OBEC> <NAZEV>Plzeň 3-Jižní Předměstí</NAZEV> <PSC>32000</PSC> </OBEC> <OBEC> <NAZEV>Plzeň 4-Východní Předměstí (část)</NAZEV> <PSC>30100</PSC> </OBEC> ... </PSC_LIST> |
Je přirozené, že jiná osoba, jenž by se takovéto schéma pokusila vytvořit, by k zadanému problému přistoupila jinak. Výsledek by potom mohl vypadat zcela odlišně, například takto:
<?xml version="1.0" encoding="ISO-8859-1"?> <PSC_SEZNAM xmlns="http://www.seznam.cz/xmlschema/psc/1.5"> <OBEC nazev="Plzeň 3-Jižní Předměstí" psc="32000" /> <OBEC nazev="Plzeň 4-Východní Předměstí (část)" psc="30100" /> ... </PSC_SEZNAM> |
Jedná se o uložení těch samých informací do XML schématu, které je správně strukturované. Problém by nastal v aplikaci, která by byla určena k načítání prvního schématu. V případě pokusu načíst druhé schéma by pak selhala. Proto se u každého XML schéma, jenž má sloužit širší veřejnosti, doporučuje použití jmenného prostoru, který odliší tyto dvě schémata a řekne aplikaci, že nenačítá správné schéma. Tyto dvě definice se mohou lišit v těchto rozdílech:
[Kapitola 2]
[2.2 Přehled využívaných technologií]
[2.2.3 XML (EXtensible Markup Language)]
[Obsah]
U XML dokumentů existuje rozdíl mezi správně strukturovanými dokumenty a platnými dokumenty XML. Správně strukturované dokumenty musí být validní podle specifikace XML. Platné dokumenty jsou takové, které jsou definovány pomocí Document Type Definition (DTD) [28] , nebo XML schématu (XSD). DTD a XSD můžeme chápat jako omezení metajazyka XML na jeho pouhou aplikaci. Díky tomu se může kdykoliv ověřit platnost XML dokumentu. Dále je tím plně popsána struktura dané aplikace XML.
DTD, neboli definice typu dokumentu, má vlastní syntaktická pravidla, jenž je zapotřebí znát. Výhodou je potom dobrá čitelnost struktury XML. Nevýhodou se pak stávají mnohá omezení, která DTD skrývá. Jedná se například o omezení v definici vlastních datových proměnných.
<!ELEMENT PSC_LIST (OBEC*) > <!ELEMENT OBEC (NAZEV, PSC)> <!ELEMENT NAZEV (#PCDATA) > <!ELEMENT PSC (#PCDATA) > |
[Kapitola 2]
[2.2 Přehled využívaných technologií]
[2.2.4 DTD (Document Type Definition)]
[Obsah]
Funkce XML schémat (XSD) [15] [28] je stejná jako u jazyka DTD, ale na rozdíl od něj nemá vlastní syntaktická pravidla. XSD využívá metajazyk XML, který oproti DTD rozšiřuje jeho nožnosti. Jak již bylo zmíněno v předešlém bodě, tak příkladem praktické možnosti je definice vlastního datového typu, např. PSČ.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="PSC_LIST"> <xs:complexType> <xs:sequence> <xs:element name="OBEC"> <xs:complexType> <xs:sequence> <xs:element name="NAZEV" type="xs:string"></xs:element> <xs:element name="PSC" type="xs:integer"></xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
[Kapitola 2]
[2.2 Přehled využívaných technologií]
[2.2.5 XSD (XML Schema Definition)]
[Obsah]
Protokol HTTP podporuje dvě metody dotazů GET a POST. Podpora metody GET na straně WMS serveru je povinná. Metoda POST nemusí být daným serverem podporována (je volitelná). Dotaz obsažený v URL (metoda GET HTTP) je velice důležitý pro WMS, protože na jehož základu funguje komunikace mezi serverem (rozumí se jím WMS server) a klientem (rozumí se jím software, jenž komunikuje se serverem).
Server musí umožňovat zpracování těchto dotazů. Většinou se lze na internetu setkat s použitím URL dotazů na dynamické webové stánky (PHP, ASP, aj.).
[Kapitola 2]
[2.3 URL pro GetCapabilities dotaz]
[Obsah]
Je v celku pochopitelné, že pro WMS musí existovat určité omezení z hlediska URI, resp. URL. OGC specifikace [51] připouští pouze komunikační protokol HTTP. Vlastní adresa služby musí být validní URL.
http://host[:port]/path?{name[=value]&}
Poznámka:
[] hodnota v této závorce se může vyskytovat 0 nebo 1 krát
{} hodnota v této závorce se může vyskytovat 0 nebo N krát
Dotazy na server u všech třech hlavních WMS funkcí probíhají prostřednictvím metody GET protokolu HTTP. Existuje omezení pro používání libovolných znaků, protože některé jsou rezervovány pro speciální účel (viz. tabulka 2.5).
Znak | Význam znaku (použití) |
? | uvozuje začátek řetězce pro dotaz |
& | odděluje parametry dotazu (je mezi nimi) |
= | odděluje název a hodnoty parametru (je mezi nimi) |
, | odděluje hodnoty jmenovaných parametrů (BBOX, LAYERS a STYLES) pro GetMap dotaz |
/ | odděluje typy MIME a podtypy ve formátu hodnoty parametru |
: | odděluje jmenný prostor a identifikátor CRS (Coordinate Reference Systém) {dříve označován jako SRS více v [51]} |
[Kapitola 2]
[2.3 URL pro GetCapabilities dotaz]
[2.3.1 Omezení URL v aplikaci na WMS]
[Obsah]
Pro přístup k určitému WMS serveru je potřeba znát jeho URL, například: http://gis.kr-vysocina.cz/wmsconnector/com.esri.wms.Esrimap. Při znalosti specifikace WMS je možné sestavit kompletní adresu pro dotaz GetCapabilities.
Request parametr | Povinný / Volitelný | Vlastnosti |
VERSION=version | V | Verze dotazu |
SERVICE=WMS | P | Typ služby |
REQUEST=GetCapabilities | P | Typ dotazuy |
UPDATESEQUENCE=string | V | Posloupnost čísel a znaků pro cache kontroluy |
Za tuto adresu je zapotřebí přidat dva povinné parametry, a to REQUEST=GetCapabilities a SERVICE=WMS výsledné URL vypadá poté následovně http://gis.kr-vysocina.cz/wmsconnector/com.esri.wms.Esrimap?SERVICE=WMS&REQUEST=GetCapabilities
V tuto chvíli mohou nastat dvě možnosti. Mapový server klientovi zpřístupní XML soubor nebo k tomu vůbec nedojde. Existuje-li soubor a zároveň bude buď plně validní XML dotazu GetCapabilities (pro libovolnou WMS verzi), jedná se skutečně o URL k WMS serveru. Jedná-li se o XML soubor Exception, nastala chyba v požadavku na server. Server tudíž zpřístupní velice jednoduché XML se zprávou o nastalé chybě.
[Kapitola 2]
[2.3 URL pro GetCapabilities dotaz]
[2.3.2 Tvar URL pro získání XML souboru dotazu GetCapabilities]
[Obsah]
Jak už bylo uvedeno dříve, tak přístup k mapové službě vyžaduje znalost URL mapového serveru. Pokud máme danou adresu, můžeme si ověřit zda je náš předpoklad správný. Z tabulky 2.6 vyplývá, že pro tento dotaz jsou povinné jen dva parametry, a to v celém průběhu vývoje všech verzích kromě jedné výjimky. Jedná se o povinné parametry SERVICE=WMS a REQUEST=GetCapabilities, ale v první veřejně publikované verzi 1.0.0 parametr request vypadal takto REQUEST=Capabilities.
Stanovení specifikace a její aplikace jsou dvě rozdílné věci, což dokazují některé mapové servery, jež vyžadují ještě jeden dle OGC nepovinný parametr. A to VERSION=version.
Iterační postup pro stanovení URL na GetCapabilities dotaz by mohl na
následujícím fiktivním příkladu vypadat takto:
http://www.mapyCR.cz/wms/isapi.dll?SERVICE=WMS&SERVICENAME=doprava&REQUEST=GetCapabilities
Předpokladem tohoto postupu je to, že pokud je předáno URL s query parametry, tak se tyto parametry považují prvotně za správné, teprve až v dalším postupu se začínají považovat za špatné. Pokud by dotaz obsažený v query neexistoval, tak by byl sestavován stejným postupem.
Správné URL by bylo to, které v průběhu předchozího postupu získalo přístup k XML souboru dotazu GetCapabilities (viz. tabulka 1.8).
[Kapitola 2]
[2.3 URL pro GetCapabilities dotaz]
[2.3.3 Postup pro získání XML souboru dotazu GetCapabilities]
[Obsah]
Struktura tohoto XML souboru má určitá pravidla, jimiž se musí mapový server
řídit. Popis struktury XML souboru metadat je uveden ve formátech Definice
typu dokumentu (DTD) a XML schéma (XSD) na webové stránce [12]
http://schemas.opengeospatial.net/wms/
Verze | Popis serveru | Popis výjimky | Poznámka | ||||
DTD | XSD | vzor (XML) | DTD | XSD | vzor (XML) | ||
1.0.0 | X | - | X | - | - | - | - |
1.0.7 | X | - | X | - | - | - | - |
1.1.0 | X | - | X | X | - | X | - |
1.1.1 | X | - | X | X | - | X | 1) |
1.3.0 | - | X | X | - | X | X | - |
Poznámka: 1) daná verze má více souborů viz. tabulka 2.8
Verze | Soubory obsažené ve složce |
1.0.0 |
capabilities_1_0_0.dtd capabilities_1_0_0.xml |
1.0.7 |
capabilities_1_0_7.dtd capabilities_1_0_7.xml |
1.1.0 |
capabilities_1_1_0.dtd capabilities_1_1_0.xml exception_1_1_0.dtd exception_1_1_0.xml |
1.1.1 |
OGC-exception.xsd WMS_DescribeLayerResponse.dtd WMS_MS_Capabilities.dtd WMS_exception_1_1_1.dtd capabilities_1_1_1.dtd capabilities_1_1_1.xml exception_1_1_1.dtd exception_1_1_1.xml |
1.3.0 |
capabilities_1_3_0.xsd capabilities_1_3_0.xml exception_1_3_0.xsd exception_1_3_0.xml ReadMe.txt |
Rozdíl mezi těmito soubory (především DTD) je v tom, že se měnily tyto hodnoty:
Verze | Úvodní tag |
1.0.0, 1.0.7, 1.1.0, 1.1.1 | WMT_MS_Capabilities |
1.3.0 | WMS_Capabilities |
[Kapitola 2]
[2.4 Rozbor XML souboru dotazu GetCapabilities]
[Obsah]
Tento metadatový soubor obsahuje překvapivě hodně informací, ke kterým běžný uživatel nemá přístup.
Atribut | Hodnota | Význam |
queryable | 0, 1 | zda podporuje dotaz GetFeatureInfo |
cascaded | 0, celé kladné číslo |
0 vrstva nebyla kaskádovaná N vrstva byla N krát kaskádovaná |
opaque | 0, 1 |
0 představuje průhledná data nevo vektorovou kresbu 1 představuje neprůhledná data |
noSubsets | 0, 1 | pokud je hodnota 1 tak server není schopen přijmat dotaz GetMap zasahující za mez danou <BoundingBox> |
fixedWidth | 0, celé kladné číslo | pokud je jiné číslo než 0 tak server umí obrazová data šířit jen v těcho pixelech (šířka a výška) |
fixedHeight | 0, celé kladné číslo |
Prvek | Počet | Dědičnost |
<Layer> | 0+ | neni |
<Name> | 1 | neni |
<Title> | 1 | neni |
<Abstract> | 0/1 | neni |
<KeywordList> | 0/1 | neni |
<Style> | 0+ | přidává |
<SRS> | 1+ | přidává |
<LatLonBoundingBox> | 1 | přepisuje |
<BoundingBox> | 0+ | přepisuje |
<Dimension> | 0+ | přidává |
<Extent> | 0+ | přepisuje |
<Attribution> | 0/1 | přepisuje |
<AuthorityURL> | 0+ | přidává |
<Identifier> | 0+ | neni |
<MetadataURL> | 0+ | neni |
<DataURL> | 0/1 | neni |
<FeatureListURL> | 0/1 | neni |
<ScaleHint> | 0/1 | přepisuje |
atributy <Layer> | 0/1 | přepisuje |
[Kapitola 2]
[2.4 Rozbor XML souboru dotazu GetCapabilities]
[2.4.1 Obsah XML souboru dotazu GetCapabilities]
[Obsah]
Protože je tento prostředek pro šíření mapových produktů poměrně mladý, tak teprve až v posledních dvou letech se začínají ve větší míře vyskytovat stránky, které informují o této službě. Na některých existuje i možnost vyhledávání WMS serverů spolu s jejich vrstvami a styly.
[Kapitola 3]
[3.1 Současné možnosti vyhledávání]
[3.1.1 Stávající situace seznamů WMS serverů na internetu]
[Obsah]
[Kapitola 3]
[3.1 Současné možnosti vyhledávání]
[3.1.2 Další možnosti vyhledávání WMS serverů]
[Obsah]
Jedná se o úvahy, jaké formy hledání mezi těmito daty by mohly být aplikovány na vytvářený portál o webových mapových službách. Některé z těchto zjištěných byly následně aplikovány do vyhledávací sekce portálu.
Předpokladem je, že máme jakýmsi způsobem centralizována metadata (XML soubory dotazu GetCapabilities).
Jednou variantou by bylo mít data umístěna ve složce a portál by poté prohledával jednotlivé soubory a hledal server, vrstvu nebo styl vrstvy, který by vyhovoval hledané informaci. Tento způsob postupu by byl velice zdlouhavý a nepraktický. Často by potom mohlo dojít k situaci, kdy se PHP skript obsluhující toho hledání přeruší vlivem proměnné omezující max. dobu provádění skriptu.
Daleko výhodnější variantou by bylo načtení tohoto souboru do databáze např. MySQL. Předpokladem je vytvoření kvalitní struktury databáze, aby dokázala pojmout informace uložené v XML souboru. Tato databáze by měla potom mít logicky vytvořené tabulky. Sloupce tabulek by měly být omezeny použitím správných datových typů, volbou jejich výchozích hodnot, délkou datového typu, a volbou, zda jsou povinné či ne pro zápis (stanovením domén).
[Kapitola 3]
[3.2 Návrh nových způsobů vyhledávání dat spravovanými WMS servery]
[Obsah]
[Kapitola 3]
[3.2 Návrh nových způsobů vyhledávání dat spravovanými WMS servery]
[3.2.1 Způsoby hledání mezi WMS servery]
[Obsah]
Zcela jistě můžu tvrdit, že kterýkoliv běžný uživatel internetu nemá potuchy o možnosti prohlížet si mapová data území celého světa a dokonce i jiných planet. Přitom existuje celá řada prostředků, jenž mu webové mapové služby resp. jejich servery dokáží zpřístupnit, a to jak prostřednictvým webových aplikací (tenký klient) nebo softwarových produktů (tlustý klient). Cílem této bakalářské práce je snaha zasvětit případného návštěvníka těchto stránek do webové mapové služby a umožnit mu vyhledat jakýkoli WMS server nacházející se v databázi.
Pro koho jsou tedy tyto stránky určeny? Pro kohokoliv, koho zajímají mapové produkty a informační technologie. Portál mohou využívat školy jako prostředek podpory výuky např. v předmětu kartografie, soukromé subjekty, jenž mají zájem o využití WMS, státní správa, resp. magistráty, aj. úřady.
Stránky jsou vytvořeny v poměrně novém značkovacím jazyku pro tvorbu XHTML ve verzi 1.1. Nelze je však chápat jako statický web, protože jsou vytvořeny ve skriptovacím jazyku PHP, který má zajistit snazší obsluhu a údržbu portálu. Jejich vzhled je ovlivněn souborem kaskádových stylů vytvořených pro obrazovku monitoru.
Stránky byly optimalizovány pro rozlišení 1024x768px. Uživateli s větším rozlišením se zobrazí informace v šířce 768px zarovnané vlevo k obrazovce. V opačném případě nebude vidět kompletně stránka, ale bude k ní přístup pomocí posuvných lišt. Vzhled a správné zobrazování byly zkontrolovány v prohlížečích Firefox 1.5.0, Internet Expolorer 6 a Opera 8.
Prvotní snahou je návštěvníka informovat o webových mapových službách (WMS) a možnostech jejich využití, s uvedením praktických příkladů. Uživatel by se hned v úvodu měl dozvědět k čemu WMS je a pro koho je určeno. Dále zjistí informace o historickém vývoji této služby a popřípadně o budoucnosti vývoje. Poté by měl vidět praktické ukázky toho, co WMS dovede. Důležitou informací by mělo být pro něj i seznam produktů (tenké a tlusté klienty) podporující připojení WMS, popřípadně návod na jejich používání.
Úvodní strana se skládá ze čtyř logických částí, jenž jsou obvyklé na mnoha jiných portálech. Jedná se o záhlaví, postranní lištu, vlastní obsah a zápatí.
Tato struktura obsahu byla vytvořena pomocí kaskádových stylů.
V záhlaví se nacházejí dva obrázky, které odkazují zpět na úvodní stranu. První z nich je logo stránek a druhé je obrázek s mapovými produkty šířenými pomocí WMS.
V postranní liště se nachází jako první rozevíratelné nabídkové menu, odkazující na základní informace o WMS. Prvek "novinky" odkazuje na seznam uložených článků, které sice souvisí s mapovými službami, ale obsahují informace, jenž se nedají zařadit k základním informacím. Dalším boxem odkazů je omezení článků dle jejich kategorií. Příkladem je odkaz na omezení "tenký-klient". Pro možnost vyhledávání na těchto stránkách je zde přidáno pole pro vyhledávání pomocí vyhledávače www.google.com. Předposlední informací v postranní liště jsou statistiky portálu (návštěvnost a dostupnost portálu). Jako poslední jsou uvedeny odkazy, jenž souvisí s obsahem portálu.
V boxu "vlastní obsah" se nacházejí vlastní informace získané pomocí kliknutím na odkazy z postranní lišty.
Součástí zápatí jsou odkazy na kontrolu platnosti (validity) formátů XHTML 1.1 a CSS2.
[Kapitola 4]
[4.1 Informační sekce webového portálu]
[Obsah]
Problém pro běžného uživatele by nastal hned na začátku, a to v neznalosti URL mapového serveru WMS. Bez znalosti této adresy není možno žádnou vrstvu připojit. Na internetu pomocí vyhledávačů, jimiž jsou např. www.google.com, www.seznam.cz, je možno si potřebné URL vyhledat. Problém nastává, pokud hledáme specifická mapová data. A to je dalším cílem této práce vytvořit jakýsi seznam WMS serverů zasahující naše území. Výhodou tohoto seznamu, jenž zpracuje metadata o WMS serveru, je centralizování všech metadat do interní databáze.
Na takovouto naplněnou databázi je potom snadné klást nejrůznější dotazy. Například:
[Kapitola 4]
[4.2 Vyhledávací sekce webového portálu]
[Obsah]
Kdyby se měla vyhledávací část portálu vytvořit pomocí klasického procedurálního programování, které využívá pro vykonání úloh proměnné a funkce, tak by brzo nastal zmatek v tom, co každá funkce obsluhuje. Výhodnější z hlediska objektově orientovaného programování (OOP) je práce s třídami.
Objekt (třída) obsahuje jak data (například proměnné), tak popis a způsob, jak s nimi manipulovat (členské metody). Díky tomu může zjednodušeně řečeno objektové programování řešit některé věci pružněji než procedurální. Hlavní výhodou objektu je fakt, že umožňuje popisovat věci tak, jak fungují v běžném životě. Například automobil má určité vlastnosti (barvu, typ, spotřebu apod.), ale rovněž určité věci umí (mohli bychom popsat metodami JedDoMista, Natankuj, Stuj a podobně). V objektově orientovaných jazycích hovoříme o tom, že objekty mají stav ("co to je") a chování ("co to umí").
Objekty se v OOP musejí nejprve nadefinovat. K definici objektu slouží takzvané třídy. Třída je něco jako šablona nebo prototyp, na jehož základě se budou objekty tvořit. V PHP se třída definuje pomocí klíčového slova class.
<? class kalendar { var $mesic; var $rok; function PocetDnu () { return cal_days_in_month(CAL_GREGORIAN, $this->mesic, $this->rok); } // zkráceno } $muj_kalendar= new kalendar; $muj_kalendar->mesic=7; $muj_kalendar->rok=2004; $muj_kalendar->vypis(); ?> |
[Kapitola 4]
[4.2 Vyhledávací sekce webového portálu]
[4.2.1 Přehled vytvořených PHP tříd]
[Obsah]
PHP je skriptovací jazyk pro tvorbu dynamických internetových stránek. Vznikl kolem roku 1994. Tehdy se pan Rasmus Lerdorf rozhodl vytvořit jednoduchý systém pro počítání přístupu ke svým stránkám. Původně byl tento kód napsán v PERLu. Později, z důvodu zátěžování kódu serveru byl systém přepsán do jazyka C. Sada těchto skriptů byla ještě později téhož roku vydána pod názvem "Personal Home Page Tools, zkrácene PHP (pozdější název "Personal Home Page Construction Kit").
U toho však nezůstalo. V polovině roku 1995 se systém PHP spojil s jiným programem stejného autora, a to s nástrojem "Form Interpreter" neboli zkrácene FI. Tak vznikl PHP/FI 2.0, systém, který si získal celosvětovou proslulost a byl velmi rozšířen. Od poloviny roku 1998 byla k dispozici verze 3.0, která byla mnohem rychlejší, a vybavenější než verze 2.0, která byla k dispozici rovněž pod Windows. Počet webu, které používaly PHP se zvyšoval, až dosáhl cca 150 000. Do rodiny verzí 5 bylo přidáno mnoho nových funkcí a rovněž bylo přepracované jádro Zend.
Podle údajů z dubna 2004 pracuje s PHP přes 15 000 000 domén, a to je bezkonkurenčně nejčastěji používaný modul Apache serveru. Zkratka PHP by se měla dle moderního pojetí překládat jako "PHP: Hypertext preprocessor", česky bychom nazvali "předzpracovávač hypertextu".
V současné době je již k dispozici verze PHP 5. Je obohacena o jádro Zend II, kompletně přepsaná podpora XML, nové objektové rozhraní pro práci s databází MySQL a mnoho dalšího. Z toho vyplývá, že systém je stále vybavován novými technologiemi a je aktivně vyvíjen.
[Kapitola 4]
[4.3 Použité jazyky pro vytvoření portálu]
[4.3.1 PHP (PHP Hypertext preprocessor)]
[Obsah]
XHTML je zkratkou anglického názvu eXtensible Hypertext Markup Language a v překladu znamená "rozšiřitelný značkovací jazyk pro hypertext". Narozdíl od svého předchůdce HTML a jeho vývojových verzí, se hlavním principem nového formátu webových stránek stalo striktní dodržení syntaktických pravidel XML. Jedná se tedy o obdobný jazyk jako HTML sloužící pro tvorbu hypertextových dokumentů v prostředí internetu. Tuto aplikaci XML vyvinulo konsorcium W3C. Narozdíl od svého předchůdce HTML jehož vývoj se zastavil, je XHTML poměrně mladý a rozvíjející se jazyk.
Postup vývoje XHTML začal verzí XHTML 1.0, jejímž hlavním cílem bylo splnit podmínky XML dokumentů se zachováním zpětné kompatibility. Tento vývojový stupeň umožňoval zápis struktury ve třech různých modifikacích Strict, Transitional a Frameset.
Verze XHTML 1.1 již vynechává prakticky všechny prezentační vlastnosti a je hodně podobná verzi Strict. V současné době pracuje pracovní skupina XHTML W3C konsorcia na vývoji verze XHTML 2.0.
[Kapitola 4]
[4.3 Použité jazyky pro vytvoření portálu]
[4.3.2 XHTML (eXtensible Hypertext Markup Language)]
[Obsah]
S rozvojem popularity webu stoupaly nároky autorů www stránek na ovlivňování vzhledu svých HTML dokumentů. Jako jeden z prvních přišel prohlížeč Netscape s implementací formátovacích nástrojů do samotného HTML kód. Tato situace se s postupem času ukázala jako chybná, protože došlo ke sloučení dvou principů, struktury a vzhledu dokumentu v jeden formát. Dodnes ještě neseme negativní důsledky tohoto počinu. Snahu tuto nepříjemnou situaci vyřešit projevilo W3C konsorcium, a to prostřednictvím Cascading Style Sheets (CSS), což v překladu znamená kaskádové styly. Jedná se o nově vytvořený jazyk pro popis způsobu zobrazení dokumentů napsaných v nejrůznějších jazycích HTML, XHTML nebo XML.
Hlavním cílem byla snaha oddělit strukturu a obsah dokumentu od jeho vzhledu. Strukturou a obsahem jsou řetezce, které jsou umístěny do příslušných tagů dle svého významu. Jedná se například o nadpis, odstavec, internetový odkaz, obrázek, atd. Vzhled příslušného dokumentu lze chápat nejjednodušeji v různých barvách písmen, orámování elementů, pozicování na stránce, a spoustě dalších příkladů.
První verze specifikace CSS1 spatřila světlo světa už v roce 1996. V roce 1998 následovalo vydání doporučení specifikace CSS2. A jako důkaz, že kaskádové styly jsou živým formátovacím jazykem pro nejrůznější dokumenty je to, že v současné době se pracuje na verzi CSS3.
Kaskádové styly umožňují připojení CSS k danému dokumentu čtyřmi základními možnostmi.
Nejdůležitější význam a umožňění nejširšího využití možností CSS, je zápis do externího souboru, který je připojen k (X)HTML pomocí tagu <link> ležícího uvnitř tagu <meta>. Tento způsob dovoluje definovat zobrazení dokumentů pro nejrůznější druhy médií, např. obrazovka, papír(tisk), kapesní počítač, hlasový syntetizér, apod.
Příklad formátování všech tagů <p> (odstavců), pokud vlivem kaskádování nedojde ke změně těchto hodnot:
P { color: blue; /* barva písma */ font-size: 12px; /* velikost písma */ text-align: left; /* zarovnání písma */ } |
[Kapitola 4]
[4.3 Použité jazyky pro vytvoření portálu]
[4.3.3 CSS (Cascading Style Sheets)]
[Obsah]
Structured Query Language (strukturovaný dotazovací jazyk) SQL je standardizovaný dotazovací jazyk používaný v relačních databázích, který umožňuje klientovi nebo uživateli komunikovat s databázovým serverem a klást na něj nejrůznější dotazy dle možností daného serveru.
Kořeny původu má SQL už v 70. letech 20. století, kdy probíhal ve firmě IBM výzkum relačních databází, což bylo nutné pro ovládání těchto databází. Vznikla vytvořená sada příkazů pro ovládání databáze. Jazyk se jmenoval SEQUEL (Structured English Query Language). Snahou bylo vytvořit jazyk, ve kterém by se příkazy tvořily syntakticky co nejblíže přirozenému jazyku (angličtině).
K vývoji jazyka se postupně připojily další firmy. V r. 1979 uvedla na trh firma Relational Software, Inc. (dnes Oracle Corporation) svůj relační databázový systém Oracle. Poté následovaly další typy databází různých firem. Jazyk SEQUEL se v té době přejmenoval na SQL.
S rostoucím významem relačních databází bylo nutné jejich dotazovací jazyk standardizovat. Americký institut ANSI založil nový standard na SQL, který bývá označován jako SQL-86.
V dalších letech se ukázalo, že SQL-86 obsahuje některé nedostatky a naopak v něm nejsou obsaženy některé důležité prvky týkající se hlavně integrity databáze. V roce 1992 byl proto přijat nový standard SQL-92 (někdy se uvádí jen SQL2). Zatím nejnovějším standardem je SQL3 (SQL-99), který reaguje na potřeby nejmodernějších databází s objektovými prvky.
Standardy podporuje prakticky každá relační databáze, ale obvykle nejsou implementovány vždy všechny požadavky normy. A naopak, každá z nich obsahuje prvky a konstrukce, které nejsou ve standardech obsaženy. Přenositelnost SQL dotazů mezi jednotlivými databázemi je proto omezená.
SELECT ID_server, Version, Name, Title, Abstract, SY_Include, SY_URL, OL_Resource FROM wms_server WHERE SY_Active=1 LIMIT 1, 10; |
[Kapitola 4]
[4.3 Použité jazyky pro vytvoření portálu]
[4.3.4 SQL (Structured Query Language)]
[Obsah]
Webový portál Web Map Service (WMS), jenž se stal cílem této bakalářské práce, znamenal nejprve pochopit princip WMS normy, a poté následně WMS serveru. Po porozumění těmto principům se mou snahou stalo pochopit obsah a způsob získání XML souboru metadat WMS. Tento soubor obsahuje vysoce hodnotné informace popisující WMS server z mnoha hledisek.
Následně jsem vytvořil webový portál složený ze dvou sekcí. Informační a vyhledávací části.
Informační sekce je naplněna základními informacemi o Web Map Service. Postupně tuto sekci ještě doplním o další informace a dále o výsledky bakalářské práce Jana Říhy na téma Webové mapové služby - datové zdroje. Zajímovou možností této sekce je kromě standardního popisu WMS, možnost aktualizace obsahu pomocí článků rozřazených do několika kategorií. V těchto článcích je pak možno popsat například způsob připojení WMS serveru do nejrůznějších klientů nebo popsat možnosti určitých mapových serverů (WMS serverů).
Vyhledávací sekce je programovou částí portálu vytvořenou pomocí objektově orientovaného programování v jazyce PHP. V této sekci si lze prohlížet možnosti (metadata) WMS serverů uložených v interní databázi. Do této databáze lze přidat další servery, popř. aktualizovat stávající. Aby byla databáze i prakticky využitelná, přidal jsem pět možností vyhledávání. Jsou jimi fulltextové hledání, fulltextové hledání specializované, geografické hledání dle bodu (boxu) v souřadnicích WGS84, geografické hledání dle bodu v souřadnicích obecného souřadnicového systému (podrobněji v odstavci 3.2.1). Informace popisující stav databáze lze najít v části statistiky (počet WMS serverů, podíl jednotlivých verzí, aj.). Zároveň bylo mým záměrem i to, aby tento seznam bylo možno exportovat a využít v nejrůznějších institucích, projektech, apod. Formát tohoto exportu jsem definoval pomocí již dříve zmíněné definice typu dokumentu (DTD).
Tento portál je umístěn na serveru GEO2, katedry Mapování a kartografie, Fakulty stavební, ČVUT
Doufám, že tyto stránky budou využívány jak školami (například ČVUT, Fsv, obor Geodézie a kartografie ve výuce předmětů, jenž se soustředují na GIS), tak i institucemi jako je státní správa (např. ČUZK), samospráva (např. krajské úřady) a soukromý sektor.
Přílohy této práce (Webový portál o mapových službách) tvoří výpisy souborů DTD popisující XML dotazu GetCapabilities a popis vyjímky Exception pro nejrozšířenější WMS verzi 1.1.1 včetně příkladu XML dotazu GetCapabilities. Zároveň se zde nalézá výpis struktury MySQL databáze wms_list (Dump) pro ukládání metadat WMS serverů. Dalšími součástmi přílohy jsou také dva články informační sekce portálu a to EPSG (European Petroleum Survey Group) a Podpora Web Map Service (WMS) v GIS krajů ČR. Pro lepší názornost možností WMS jsou zde mapové kompozice náměstí Republiky v Plzni z několika WMS serverů. Poslední přílohu tvoří přiložený kompaktní disk (CD), což je nedílná součást práce.
[1] Knihovny ČVUT [online]. 1996-2006 [cit. 2007-04-28]. Dostupný z WWW: <http://knihovny.cvut.cz/vychova/vychova2/bibl_citace/bibl_citace_podle_norem.html>. |
[2] EPSG : OGP Surveying & Positioning Committee [online]. 2006 [cit. 2007-04-28]. Dostupný z WWW: <http://www.epsg.org>. |
[3] OGP : The International Association of Oil & Gas producers [online]. 2006 [cit. 2007-04-28]. Dostupný z WWW: <http://www.ogp.org.uk/>. |
[4] Wikipedia : English version [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://en.wikipedia.org/>. |
[5] Google. Google Earth : KML Documentation [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://earth.google.com/kml/>. |
[6] OGC. Geography Markup Language [online]. 1994-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.opengeospatial.org/standards/gml>. |
[7] OGC. Open Geospatial Consortium, Inc.® (OGC) [online]. 1994-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.opengeospatial.org>. |
[8] Google. Google Earth [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://earth.google.com/>. |
[9] Google. Google Maps [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://maps.google.com/>. |
[10] Google. Google Mobile [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.google.com/gmm>. |
[11] KaMeLwriter [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.kamelwriter.com/>. |
[12] WMS schema [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://schemas.opengeospatial.net/wms/>. |
[13] W3C. Extensible Markup Language (XML) : 1.0 (Fourth Edition) [online]. 2006 [cit. 2007-04-28]. Dostupný z WWW: <http://www.w3.org/TR/REC-xml>. |
[14] W3C. Naming and Addressing : URIs, URLs, ... [online]. 1997 [cit. 2007-04-28]. Dostupný z WWW: <http://www.w3.org/Addressing/>. |
[15] W3C. XML Schema [online]. 2000-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.w3.org/XML/Schema>. |
[16] W3C. XHTML 2.0 [online]. 2006 [cit. 2007-04-28]. Dostupný z WWW: <http://www.w3.org/TR/xhtml2/>. |
[17] W3C. Cascading Style Sheets [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.w3.org/Style/CSS/>. |
[18] Ostravská univerzita v Ostravě. GIS laboratoř [online]. 2006-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://cit.osu.cz/gis/>. |
[19] TALICH, Milan. Webové služby a aplikace XML. Inforum 2004, Praha, 25. - 27. května 2004. Sborník [online]. 2004 [cit. 2007-04-28]. Dostupné z WWW: <www.inforum.cz/inforum2004/pdf/Talich_Milan1.pdf>. |
[20] HSRS. HELP SERVICE - REMOTE SENSING [online]. 2000 [cit. 2007-04-28]. Dostupný z WWW: <http://www.bnhelp.cz/>. |
[21] Ostravská univerzita v Ostravě. GIS laboratoř [online]. 2004 [cit. 2007-04-28]. Dostupný z WWW: <http://www.dbsvet.cz/view.php?cisloclanku=2004121602>. |
[22] POKORNÝ , Martin. Vyvíjíme databázový a informační systém XXIII. [online]. 2004 [cit. 2007-04-28]. Dostupný z WWW: <http://www.dbsvet.cz/view.php?cisloclanku=2004121602>. |
[23] HSRS. HELP SERVICE - REMOTE SENSING: Webové služby [online]. 2000 [cit. 2007-04-28]. Dostupný z WWW: <http://www.bnhelp.cz/bnhelp/ows.htm>. |
[24] DVOŘÁKOVÁ, Eva. Mapový server. IKAROS [online]. 2006, roč. 10, č. 9 [cit. 2007-04-28]. Dostupný z WWW: <http://www.ikaros.cz/node/3597>. |
[25] CAJTHAML, Jiří. Topografická a tematická kartografie : 4. úloha [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://gama.fsv.cvut.cz/wiki/index.php/Topografick%C3%A1_a_tematick%C3%A1_kartografie_-_4._%C3%BAloha>. |
[26] Mapový server Jihočeského kraje : Metadata [online]. 2005 [cit. 2007-04-28]. Dostupný z WWW: <http://gis.kraj-jihocesky.cz/metadata.jsp>. |
[27] BARTOŠEK, Miroslav. Vyhledávání v Internetu a DUBLIN CORE [online]. 1999 [cit. 2007-04-28]. Dostupný z WWW: <http://www.ics.muni.cz/zpravodaj/articles/153.html>. |
[28] YOUNG, Michael J. XML : krok za krokem. 2. aktualiz. vyd. [s.l.] : Computer Press, 2006. 471 s. ISBN 80-251-1070-2. |
[29] KŘIPAČ, Miroslav. Hledání výrazů a fulltext v MySQL [online]. 2004 [cit. 2007-04-28]. Dostupný z WWW: <http://www.fi.muni.cz/~kripac/PV136/zurek/prezentace.html>. |
[30] MySQL AB.. MySQL [online]. 1995-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.mysql.com/>. |
[31] JANOVSKÝ, Dušan. CSS : Kaskádové styly [online]. 2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.jakpsatweb.cz/css/>. |
[32] PETR, Honza. JakNaWeb : CSS [online]. 2002-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.jaknaweb.com/clanky/css>. |
[33] PROKOP, Marek. CSS : kaskádové styly pro webdesingnéry. 1. vyd. [s.l.] : Mobil Media, 2003. 288 s. ISBN 80-86593-35-5. |
[34] ZAJÍC, Petr. PHP tutorial [online]. 2004 [cit. 2007-04-28]. Dostupný z WWW: <http://www.linuxsoft.cz/php/>. |
[35] ZAJÍC, Petr. MySQL tutorial [online]. 2004 [cit. 2007-04-28]. Dostupný z WWW: <http://www.linuxsoft.cz/article_list.php?id_kategory=232>. |
[36] XHTML : eXtensible HyperText Markup Language [online]. 2004 [cit. 2007-04-28]. Dostupný z WWW: <http://www.webtvorba.cz/xhtml/>. |
[37] Interval.cz : webdesign XHTML [online]. 2001-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://interval.cz/webdesign/xhtml/>. |
[38] Interval.cz : webdesign CSS [online]. 2001-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://interval.cz/webdesign/css/>. |
[39] Interval.cz : vývoj aplikací PHP [online]. 2001-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://interval.cz/vyvoj-aplikaci/php/>. |
[40] BRATKOVÁ, Eva. METADATA JAKO NOVÝ NÁSTROJ PRO KOMUNIKACI WEBOVSKÝCH INFORMAČNÍCH ZDROJŮ [online]. 1999 [cit. 2007-05-10]. Dostupný z WWW: <http://knihovna.nkp.cz/pdf/9904/9904178.pdf>. |
[41] Www.OGC-Services.net. Skylab Mobilesystems Ltd. [online]. 2006 [cit. 2007-05-15]. Dostupný z WWW: <http://www.ogc-services.net/>. |
[42] BECKER, Torsten. Explore Our Planet [online]. 2007 [cit. 2007-05-15]. Dostupný z WWW: <http://exploreourpla.net/gis/maps/>. |
[43] Skylab Mobilesystems Ltd. . OGC WMS Server List [online]. 2006 [cit. 2007-05-15]. Dostupný z WWW: <http://www.skylab-mobilesystems.com/en/wms_serverlist.html>. |
[44] WMS Sites [online]. 2006 [cit. 2007-05-15]. Dostupný z WWW: <http://wms-sites.com/>. |
[45] HSRS. Metainformační katalog MIcKA [online]. 2006 [cit. 2007-05-15]. Dostupný z WWW: <http://www.bnhelp.cz/bnhelp/micka>. |
[46] DOLEŽAL, Jan. Diplomová práce: Datové formáty pro prezentaci map na webu. 1. vyd.: ČVUT - Fakulta stavební, 2005. 63 s. |
[47] ČEPICKÝ, Jáchym. Tutorial : Mapový server snadno a rychle [online]. 2005 [cit. 2007-05-13]. Dostupný z WWW: <http://www.root.cz/clanky/mapovy-server-snadno-a-rychle-1/>. |
[48] OGC. OGC Web Map Service Interface : version 1.3.0 [online]. 2004 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=4756>. |
[49] OGC. OpenGIS® Web Map Server Implementation Specification : version 1.3.0 [online]. 2006 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=14416>. |
[50] OGC. OpenGIS® Web Map Services - Application Profile for EO Products : version 0.1.0 [online]. 2006 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=16075>. |
[51] OGC. Web Map Service Implementation Specification : version 1.1.1 [online]. 2002 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=1081&version=1&format=pdf>. |
[52] OGC. Web Map Service Implementation Specification : version 1.1.0 [online]. 2001 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=1058>. |
[53] OGC. OpenGIS® Web Map Server Interface Implementation Specification : version 1.0.0 [online]. 2000 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=7196>. |
[54] OGC. OGC Web Map Service - Proposed Animation Service Extension [online]. 2005 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=14698>. |
[55] OGC. Web Map Service Implementation Specification Part 2:XML for Requests using HTTP POST [online]. 2002 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=1118>. |
[56] OGC. WMS Change Request: Support for WSDL & SOAP [online]. 2005 [cit. 2007-05-13]. Dostupný z WWW: <http://portal.opengeospatial.org/files/?artifact_id=9541>. |
[57] HALOUNOVÁ, Lena. Geografický informační systém: prezentace z přednášek ČVUT, Fsv, oboru GaK. 2007 [cit. 2007-05-13]. |
[58] CENIA. Česká informační agentura životního prostředí [online]. 2007 [cit. 2007-05-13]. Dostupný z WWW: <http://www.cenia.cz/>. |
[59] OGC. Open Geospatial Consortium, Inc.® (OGC): Web Map Service [online]. 1994-2007 [cit. 2007-04-28]. Dostupný z WWW: <http://www.opengeospatial.org/standards/wms>. |
[60] University of Minnesota. MapServer [online]. 1996-2007 [cit. 2007-05-13]. Dostupný z WWW: <http://mapserver.gis.umn.edu/>. |
[61] OGC. Open Geospatial Consortium, Inc.® (OGC): Web Feature Service [online]. 1994-2007 [cit. 2007-05-13]. Dostupný z WWW: <http://www.opengeospatial.org/standards/wfs>. |
[62] DMAP Team. GIDB OpenGIS WEB SERVICES [online]. 2007 [cit. 2007-05-13]. Dostupný z WWW: <http://columbo.nrlssc.navy.mil/dmap/about.jsp>. |
[63] Univerzitní informační systém - elektronická knihovna. Jak se geodata změní v mapové služby [online]. 2007 [cit. 2007-05-13]. Dostupný z WWW: <https://is.mendelu.cz/eknihovna/opory/zobraz_cast.pl?cast=5128>. |
[64] VRÁTNÝ, Martin. State map center services - part of the public administration portal [online]. 2007 [cit. 2007-05-13]. Dostupný z WWW: <http://gis.vsb.cz/GIS_Ostrava/GIS_Ova_2004/Sbornik/Referaty/vratny.htm>. |
[65] HREŠKO, Juraj. Bakalářská práce: Návrh aplikácie pre zobrazovanie geografických dát prostredníctvom WMS. 1. vyd.: MU - Fakulta informatiky, 2007. 36 s. |
[66] SMC. Státní mapové centrum [online]. 2007 [cit. 2007-05-13]. Dostupný z WWW: <http://www.czmap.cz>. |
[67] Open GeoWeb [online]. 2007 [cit. 2007-05-13]. Dostupný z WWW: <http://gis.vsb.cz/ruzicka/Seminare/OpenGeoWeb/Materials/OpenGeoWeb.pdf>. |
Capabilities_1_1_1.dtd je soubor popisující (omezující) XML dotazu GetCapabilities. Je zde uvedena jen verze pro WMS 1.1.1, protože v době psaní této práce byla nejrozšířenější. Zdrojem je webový odkaz [12].
[Přílohy]
[Výpis souboru capabilities_1_1_1.dtd]
[Obsah]
Exception_1_1_1.dtd je soubor popisující (omezující) XML chybného dotazu WMS serveru. Je zde uvedena jen verze pro WMS 1.1.1, protože v době psaní této práce byla nejrozšířenější. Zdrojem je webový odkaz [12].
[Přílohy]
[Výpis souboru exception_1_1_1.dtd]
[Obsah]
Capabilities_1_1_1.xml je soubor příkladu XML dotazu GetCapabilities na WMS server. Je zde uvedena jen verze pro WMS 1.1.1, protože v době psaní této práce byla nejrozšířenější. Zdrojem je webový odkaz [12].
[Přílohy]
[Výpis souboru capabilities_1_1_1.xml]
[Obsah]
Soubor wms_list.sql je výsledkem exportu (dump) struktury databáze wms_list databázového systému MySQL. V této struktuře jsou uloženy metadata popisující WMS server.
[Přílohy]
[Dump struktury databáze wms_list (MySQL)]
[Obsah]
Tanto příloha je příkladem článku informační sekce webového portálu. Popisuje význam EPSG, jeho historii a jeho použití.
European Petroleum Survey Group (EPSG) existovala od roku 1986 do roku 2005. Jednalo se o vědeckou organizaci, která měla úzké vazby k evropskému naftovému průmyslu. Ta se skládala z odborníků pracujících v oblasti aplikované geodézie, mapování a kartografie související s ropným průmyslem.
Tato organizace spravovala sestavený a rozšířený EPSG Geodetic Parameter Set (dále jen EPSG). Jedná se o široce využívanou databázi zemských elipsoidů, geodetických datumů, zeměpisných a kartografických souřadnicových systémů, měrných jednotek, atd. V důsledku zániku organizace European Petroleum Survey Group převzala správu nad touto databází v roce 2005 nově vzniklá asociace The International Association of Oil & Gas producers (OGP), resp. její výbor Surveying and Positioning Committee.
Výbor zasedá dvakrát ročně a jeho členy jsou odborníci z členských společností OGP z oblasti mapování, kartografie, geodézie a managementu koordinace dat. Hlavními činnostmi tohoto výboru v rámci OGP je správa EPSG, vydávání směrnic (Guidance Notes) a správa a tvorba výměnných formátů se spoluprácí s jinými organizacemi.
Dnes již pod zkratkou EPSG rozumíme Geodetic Parameter Set (vlastní databázi), proto ji nezaměňujme s názvem zaniklé organizace EPSG. Data jsou zveřejňována přibližně třikrát až čtyřikrát za rok, a to ve formě relační databáze Microsoft Access a SQL skriptu pro import do databází (dump) MySQL, Oracle nebo PostgreSQL. Mohou existovat i jiné verze vydávané mezi těmito standardními. V současné době je platná verze č. 6.12 (ke dni 8. 2. 2007).
Každé kartografické zobrazení, resp. souřadnicový systém má dán jedinečný kód. Tento kód je celé nezáporné číslo vyjma nuly, které se nesmí opakovat. Například EPSG:4326 vyjadřuje standardní zeměpisnou projekci WGS84 o souřadnicích zeměpisné šířky a délky v celých stupních s Greenwichem jako nultým poledníkem.
Využití těchto dat je jednoznačně zřejmé, protože se jedná o celosvětovou databázi již dříve uvedených dat. Toto umožňuje a sjednocuje používání například souřadnicových systémů v GIS, web-aplikacích, celosvětových geografických projektech, standardizaci aj. Příkladem praktického užití je výměnný formát GeoTIFF pro georeferencované rastry, nebo aplikace pro Web Map Service (WMS). Pomocí WMS se přes HTTP protokol distribuují obrazová data (obrázky), které jsou ohraničeny souřadnicovým obdélníkem (boxem - jih, sever, východ, západ) v určitém EPSG (zobrazení) kódu.
[Přílohy]
[Článek - EPSG (European Petroleum Survey Group)]
[Obsah]
Tato příloha je příkladem článku informační sekce webového portálu. Popisuje stav podpory WMS v krajských GIS ČR.
S velkým rozvojem mapových serverů úzce souvisí rozvoj technologií, na jejímž principu servery pracují, či je jinak využívají. Mezi známé servery patří http://www.mapy.cz portálu www.seznam.cz. V oblasti státní správy a samosprávy jsou zapotřebí specifické mapové produkty pro rozhodování a součinnost orgánů.
Mezi přední mapový server státní správy patří http://geoportal.cenia.cz/ české informační agentury životního prostředí (CENIA). Snahou správců těchto portálů je využívat i nové technologie, jimiž WMS bezesporu je. Kterýkoliv uživatel si pak může do klienta (software umožňující prohlížení WMS serverů) připojit nejrůznější vrstvy nabízené mapovým serverem pokud přístup k těmto službám není zpoplatněn.
Dne 1. 1. 2000 vznikly vyšší územně samosprávní celky nazývané kraje. Celkem jich vzniklo 14 spolu s hlavním městem Prahou. Tyto kraje si vybudovaly v rozsahu svého území geografické informační systémy. Součástí těchto GIS se v mnohých krajích staly i volně přístupné mapové portály např. GIS Plzeňského kraje. Část těchto portálů pak zpřístupnila některé vrstvy pomocí WMS služby.
Jak uvádí následující tabulka, tak přístup k alespoň jedné vrstvě GIS pomocí WMS má 9 ze 14 krajů. S obsáhlostí a významem vrstev je už to jiné, protože zde naráží samosprávní orgány na autorský zákon.
[Přílohy]
[Článek - Podpora Web Map Service (WMS) v GIS krajů ČR]
[Obsah]
[Přílohy]
[Ukázka několika mapových kompozic vrstev WMS serverů (Náměsí Republiky v Plzni)]
[Obsah]
Přiložený kompaktní disk (CD) je nedílnou součástí této práce.