pondělí 12. října 2020

Režimy hladin v twiGISu - teď ty nové

Tak a je tu pokračování. K dosavadním obvyklým režimům hladin si přidáme nějaké nové možnosti a hlavně možnosti jejich kombinace.

Vektorová kompozice

Tak jako se někdy v jedné rastrové hladině sejde několik různých entit (tříd, tabulek) - a je prezentována jako tzv. kompozice, může se podobná věc přihodit i u vektorů. Vektorová kompozice se chová jako jedna hladina, která je však uvnitř reprezentovaná několika dílčími vektorovými hladinami. Se všemi vlastnostmi jednotlivých vektorových hladin, tedy snapováním, možnostmi měnit styly na straně klienta, atd. Navíc je možné libovolně zapínat a vypínat jednotlivé vnitřní hladiny.

Hodí se zejména tam, kde chceme celou skupinu dat prezentovat uživatelům pro zjednodušení jako jednu hladinu, např. "Vodovod", "Základní mapa", "Cizí sítě", a přitom stále těžit z vektorové povahy dat, nebo v některých speciálních případech. V jednom z nedávných případů kolega použil kompozice na zobrazování zařízení v podzemních kolektorech. Hladina zobrazuje vlastní symbol zařízení, popisek, který má vlastní souřadnice a uživatelé jej umisťují na fixní místo, a vynášecí čáru mezi popiskem a symbolem. Data nese symbol, popisek a čára jsou pomocné (s popiskem lze ale hýbat), všechno dohromady se to chová jako jedna hladina.

Online rastr, Externí rastr

Jedná se vlastně o to samé, co jsme zmiňovali v minulém článku: online či dynamické rastrové hladiny, renderované na straně serveru a poskytované do aplikace jako výsledný obrázek. 

twiGIS umožňuje několik způsobů, jak tyto hladiny do klientské aplikace dostat. Prvním způsobem je režim Externí rastr, kdy je rastrový zdroj kontaktován napřímo webovou aplikací, tedy prohlížečem uživatele. Druhým je tzv. twiGIS online rastr, kdy se k poskytování dat do klienta používají serverové služby twiGISu.

Proč to odlišujeme a jaký je mezi tím rozdíl? Externí rastr je dobře použitelný např. pro veřejné neautorizované služby. Klientská aplikace stahuje např. veřejnou Ortofoto přímo z CUZK a žádným způsobem nedochází k zatěžování vlastních aplikačních serverů a zpomalování komunikace, což je u takových zdrojů je naprosto zbytečné.

Interní Online rastr se naopak používá tam, kde je vhodné přístup ke zdroji "skrýt" či autorizovat pomocí uživatelských oprávnění twiGIS. Jednoduchým případem je nakupovaná externí WMS či autorizovaná WMS našeho partnera, kdy nelze poskytnout přístupové údaje do uživatelských prohlížečů. Častějším případem jsou prostě vlastní rastrové hladiny poskytované přes vnitřní rastrový engine.

V obou případech může být rastrový zdroj jakýkoliv (WMS, WMTS, MapAgent, ...) a v obou případech může správce rozhodnout, zda budou data prezentována jako dynamicky renderované malé dlaždice (tiled) nebo tak, že se při každém pohybu mapy renderuje celý mapový výřez (singletile).

Ta pravá orgie je kombinace režimů

Jak jsme zmiňovali v minulém článku či dříve v tomto článku, různé režimy se chovají lépe či hůře v různých měřítcích či datových situacích. V twiGISu jsme umožnili kombinovat výhody různých režimů i nad jednou hladinou.

Definice hladiny v twiGISu probíhá tak, že založíte hladinu, řeknete, jak se bude jmenovat (např. Vodovod) a do hladiny přiřadíte datové entity - a to klidně víc než jednu (např. Potrubí, Hydrant, Uzávěr, Přípojka). Tím máme datový základ hladiny. 

Aby bylo možné vůbec něco zobrazovat, je třeba hladině přiřadit definici stylu, která určí, jak budou jednotlivé prvky v mapě vypadat - na základě jejich vlastností, měřítka, atd. Prostě GISová klasika. Jako poslední  věc je vhodné hladině přiřadit rastrový zdroj - tedy službu či mapový engine, který poskytuje rastrová data - viz rastrové režimy výše. (To samozřejmě není nutné, když má být hladina prezentována jen jako vektor.)

Posledním krokem je právě definice režimů, tedy způsobu, jakým je hladina v různých rozsazích měřítek prezentována uživateli. Typický příklad je takový, že v horních měřítcích se hladina chová jako rastrová keš a v dolních měřítcích jako vektor (či vektorová kompozice). Tedy dlaždice jsou tam, kde je jich relativně málo, snadno se aktualizují a skladují, ale mají velký efekt na rychlost aplikace, a vektory (či třeba nekešované online dynamické rastry) jsou tam, kde je třeba pracovat s aktuálním daty, editovat, snapovat, a správa dlaždic by už naopak byla velmi náročná.

Důležitá vlastnost je ta, že správce aplikace definuje hladinu, nastaví režimy a o zbytek se postará systém - vytvoří dlaždice kde je to třeba, automaticky uživateli přepíná režimy při používání aplikace, zajišťuje korektní chování například při výběrech (identifikaci) prvků v mapě, atd. Možné kombinace jsou technicky prakticky neomezené (reálný smysl samozřejmě dávají jen některé).

twiGIS tak dokáže velmi bezstarostně a přitom velmi efektivně zajistit publikaci téměř jakýchkoliv dat. Umí i takové kousky, že se přehledová hladina napojená na několik entit se zoomováním do detailu rozpadne na vektorovou kompozici, kde je možné s každou vektorovou entitou pracovat samostatně - měnit stylizaci, vypínat, snapovat, atd.

O různých scénářích použití a přínosech si napíšeme v dalších částech seriálu.


Ukázková hladina v režimu rastrové keše na přehledce celého areálu.

Ukázková hladina v režimu online rastru při pohledu na jednotlivé budovy.

Ukázková hladina v režimu vektorové kompozice v detailu křížení sítě.

Žádné komentáře:

Okomentovat