1.9. 2010, FYI, štítky: WMS
WMS služby
Informace o tom, co jsou WMS služby, kdo a jaké informace poskytuje a další podrobnosti lze nalézt na Internetu (viz některé uvedené adresy). Toto pojednání vysvětluje časté dotazy uživatelů a podává návod, jak problém řešit.
Pro využívání WMS je dobré znát některé jejich vlastnosti a možnosti. Základním problémem je zjištění URL adresy. Dále je nutno si uvědomit, že získat lze pouze taková data, která jejich dodavetel poskytuje. Poskytovaná grafická (mapová) data jsou vždy rastrová.
Při přihlášení k serveru je programu odběratele poskytnuto několik informací. Nejdůležitější je sdělení o obsahu poskytovaných dat. Tato informace se objeví v úvodním dialogu ve formě tzv. stromu, který se v nejjednodužší formě podobá prostému seznamu. Uživatel volí z této nabídky typ dat (zaškrtnutím příslušného čtverečku), na který chce nahlížet. Další volby v dialogu pod tímto seznamem slouží k upřesnění dotazu zasílaného na server. Důležitý je parametr „maximální rozměr“, který omezuje výslednou velikost poskytovaného rastru. Tuto informaci by měl poskytnout server automaticky. Informace o maximálním rozměru má také dopad na to, zda se data objeví, či nikoliv a také má vliv na „hladkost“ kresby rastru (menší číslo, hrubší rastr).
Z uvedené ukázky se přímo nabízí „nastavit si to číslo co největší, ať to je hezké“. To ale nelze – server má definováno „svoje maximální číslo“ – v případě překročení tohoto požadavku pak server může reagovat buď tím, že nepošle nic, nebo použije vlastní hodnotu.
Po stisku tlačítka OK je dotaz odeslán na server, který dotaz vyhodnotí a rozhodne, zda vůbec nějaká data pošle. Plošný rozsah (oblast) pro požadovaná data je dán pracovním oknem uživatelského systému (výřez mapy). Pokud se žádná data neobjeví, může to být z několika důvodů:
- bylo překročeno limitní měřítko (příliš velká oblast, nebo příliš velký detail)
- byl překročen maximální počet pixelů
- v dané oblasti nejsou žádná data
- byla zvolena nevhodná data (barva podkladu je totožná s barvou kresby rastru)
- server neměl čas a nestihl odeslat odpověď v časovém limitu
Když se požadovaná data neobjeví, je nutné se zamyslet, co tento stav způsobilo a chybu napravit. Například při hlášení „Sever neodpovídá“ by mohl být problém v nastavení hodnoty time-out. Tuto hodnotu lze nastavit ve funkci Nastavení programu, záložka WMS, položka čekat na odpověď serveru. Zadává se v sekundách a základní nastavení je 10. To znamená, že pokud sever neodpoví do deseti vteřin, spojení se ukončí a objeví se popsané chybové hlášení.
Aby nedocházelo k nedorozuměním, je dobré zjistit informace o tom, jaká data, za jakých podmínek a na jakých adresách ten který server poskytuje. Například na adrese http://www.cuzk.cz/Dokument.aspx?PRARESKOD=998&MENUID=0&AKCE=DOC:10-WMS_PRO_KM se můžete informovat o datech a jejich vlastnostech, které poskytuje ČÚZK (webové mapové služby pro katastrální mapy). Doporučujeme tento dokument prostudovat.
Zobrazení dat z WMS je tedy závislé na tom, co povoluje poskytovatel. Uživatel se musí přizpůsobit, t.j. svými dotazy se pohybovat v povolemém rozsahu. Pokud uživatel limitní hodnoty překročí, server data nevydá. Stanovení omezujících podmínek je nutné pro „hladký“ běh serveru. Vyloučí se tak požadavky, zadané chybně omylem či z neznalosti, které by zbytečně způsobovaly vysokou zátěž systému (server a síť) a znemožnily by tak rychlé odezvy pro dotazy ostatních uživatelů.
Pokud se něco ve WMS službě změní, informujte se na změny na webových stránkách poskytovatele. Pokud WMS služba, která vám dobře fungovala, najednou nejde, zkuste vyčkat. Server může být přetížen nebo třeba jen dočasně odpojen pro aktualizaci služby.
Jak bylo popsáno výše, v dotazu na data se serveru zasílají různé parametry a jedním z nich je také požadovaná hustota rastru. Chcete-li tisknout data, která máte zobrazena na monitoru, odesílá se serveru nový dotaz, který má však změněn parametr požadované hustoty rastru podle parametrů tiskárny. Zde tedy dochází k několikanásobnému zvýšení požadované hustoty a výsledný rastr může překročit limitní hodnotu a server žádná data nepošle. Server také může odeslat chybové hlášení, které systém vypíše do protokolu (např. „Size of requested map is larger then MaxClientSize. !“, „Internal server error !“).
Pro jistý výsledek tisku nebo i možnost práce nad daty poskytovanými WMS bez připojení na Internet doporučujeme stažení potřebných dat na vlastní počítač. Toto řeší funkce Tisk do rastru (viz Menu Rastr), která umožňuje vytvoření matice rastrů s okamžitou kontrolou jejich velikosti v pixlech. Matice se zadává v dialogu počtem řádků a sloupců, nebo se automaticky generuje při požadavku mapové listy. Rozměr výsledného rastru naleznete a kontrolujete v dialogu v části rozměry (šířka x výška) ve třetím řádku označeném vpravo [pix]. Podrobnosti o této funkci naleznete v její nápovědě. Po zadání požadovaných parametrů a stisku OK dojde k vygenerování a uložení matice rastrů na uživatelův disk. Takto uložené rastry lze dále snadno používat pro další práci, tedy i pro tisk.
Poznámka:
Je dobré si uvědomit, že při zadávání oblasti, pro kterou požadujete vygenerování matice rastrů, není zapotřebí data z WMS vidět, stačí mít server připojený. Při generování jednotlivých rastrů je na server odesílán požadavek právě jedné tvořené „dlaždice“ z celé požadované matice. Pokud tato dlaždice splňuje limitní podmínky (a v tom je ta finta), server zašle požadovaný rastr. Tyto dílčí rastry (dlaždice) pak je systém schopen zobrazit na pohled jako jeden celek – viz obrázek.
Někdy se může stát, že víte o změnách v datech na WMS, ale vám se nezobrazují. Zkuste tedy v úvodním dialogu při zadávání parametrů pro připojení zaškrtnout volbu Vymazat starší uložené rastry z disku. Pro urychlení práce a snížení zátěže systému si program některá data uchovává a pokud je vznesen stejný dotaz, poskytne odpovověď „z vlastních zdrojů“ a nezatěžuje server. Tím pádem se ale díváte na stará data, nikoli právě vygenerovanou odpověď ze serveru. Protože většina dat WMS je aktualizována nepravidelně a v delších časových rozestupech, je toto řešení praktické.
Stanislav Tomeš, září 2010