PYLOOP

Proč DMVS požaduje POLYGON((...))? Záhada formátu WKT a S-JTSK vysvětlena

Pokud jste se už pokoušeli stahovat data z Digitální mapy veřejné správy (DMVS) přes webové rozhraní, narazili jste určitě na požadavek vymezit zájmové území — buď ručně klikáním do mapy, nebo nahráním souboru ve specifickém formátu WKT, který vypadá nějak takto: POLYGON((-761431.9793 -974670.7894, …)) a končí strašidelnou příponou .wkt.

Proč si DMVS vybrala zrovna tento „závorkový“ zápis a co ta čísla uvnitř vlastně znamenají? Pojďme si tento formát rozebrat, abyste si při příštím stahování dat z DMVS ušetřili trochu drahocenného času. 

Import WKT na portálu DMVS
Tlačítko pro nahrání souboru WKT se definovaným zájmovým územím pomocí specifického zápisu

1. Well-Known Text: Celosvětový standard, ne výmysl DMVS

Tento způsob zápisu se jmenuje WKT (Well-Known Text). Nejde o žádný lokální formát, který by vznikl na Českém úřadě zeměměřickém a katastrálním (ČÚZK). Je to mezinárodní standard definovaný konsorciem OGC (Open Geospatial Consortium), který schválilo i ISO.

Používají ho prostorové databáze (např. PostGIS), GIS softwary (QGIS, ArcGIS) i programovací knihovny po celém světě. To, že ho DMVS implementovala, je pro nás vlastně skvělá zpráva – nemusíme vymýšlet kolo, stačí použít standardní nástroje.

Zápis souřadnic polygonu ve formátu WKT
Soubor .wkt se souřadnicemi polygonu zájmového území

Na obrázku můžete vidět, že se jedná o pouhý text a čísla ve specifickém zápisu a lze ho otevřít v libovolném textovém editoru (ano, i v notepadu). 

2. Anatomie zápisu: proč jsou tam dvojité závorky?

Zápis POLYGON((-761431.97 -974670.78, …)) má svou přísnou logiku:

  • Slovo POLYGON: říká systému, že definujeme plochu (na rozdíl od POINT pro bod nebo LINESTRING pro linii).
  • Dvojité závorky (( … )): vnější závorky ohraničují celý objekt, vnitřní definují tzv. prstenec (hranici). WKT totiž umí zapsat i polygony s „dírou“ uprostřed — pak by zápis vypadal jako POLYGON((vnější hranice), (vnitřní díra)). Pro DMVS sice posíláte jen jeden plný polygon, ale strukturu dvou závorek musíte kvůli standardu dodržet.
  • Mezery vs. čárky: v rámci jednoho bodu se souřadnice oddělují mezerou. Jednotlivé body (vrcholy) se pak od sebe oddělují čárkou.
  • Zlaté pravidlo geometrie: polygon musí být uzavřený. To znamená, že poslední bod v řetězci musí být naprosto identický s prvním. Pokud geometrii neuzavřete, DMVS vám nahlásí chybu — geometrie nebude platná.

3. Chyták jménem S-JTSK: pozor na osy a znaménka

Čísla v závorkách jsou souřadnice v našem národním systému S-JTSK (EPSG:5514). Při jejich přípravě pro DMVS si dejte pozor na dva časté chytáky.

Chyták první: pořadí souřadnic (a proč vás nemusí strašit) Tady je dobrá zpráva. Souřadnice se do WKT pro DMVS píší v pořadí, na které jsme z geodetické praxe zvyklí — nejdřív Y (menší, „západní“ hodnota, zhruba −430 000 až −910 000), pak X (větší, „jižní“ hodnota, zhruba −935 000 až −1 230 000). Žádné otáčení tedy není potřeba.

Proč se přesto o pořadí mluví jako o chytáku? Protože WKT (a GIS obecně) formálně označuje první souřadnici jako X a druhou jako Y — tedy opačně, než jsme v geodézii zvyklí. V zahraničních návodech proto narazíte na pořadí „X, Y“ a člověk dostane strach, že má něco prohazovat. U S-JTSK pro DMVS ale prakticky zapíšete svoje běžné Y, X a je to. Jednoduchá kontrola: zápis začíná tou menší hodnotou (např. −799246) a pokračuje tou větší (např. −982627).

Chyták druhý: záporná znaménka Křovákovo zobrazení (S-JTSK) umisťuje celé území České republiky do záporného kvadrantu matematické soustavy, a proto jsou obě souřadnice v metrech záporné. DMVS znaménka mínus striktně vyžaduje — pokud je vynecháte, systém vaše zájmové území nenajde.

Jak z toho ven? Automatizujte! Pokud potřebujete jednorázově převést pár souřadnic, zvládnete to ručně: v textovém editoru (klidně obyčejný Notepad) vytvoříte nový soubor, zapíšete do něj příslušné souřadnice a uložíte ho — v dialogu „Uložit jako“ zvolíte typ „Všechny soubory“ a za název (například polygon) připíšete koncovku .wkt. Pokud ale připravujete podklady pro stavby jako na běžícím páse, skvěle vám poslouží online převodník (odkaz na jeden prověřený najdete níže pod článkem).

Kdy se to hodí? Zejména tehdy, když je vaše zájmové území příliš velké. Pro stahování polohopisu z DMVS je nastaveno omezení velikosti území na 200 ha. Ve většině případů to stačí — ale co když plánujete větší stavbu (například silnici nebo inženýrské sítě zasahující na větší území), nebo chcete podat Žádost o zjištění území správců DTI, kde je zájmové území omezeno dokonce jen na 100 ha?

Velikost vymezeného území na portálu DMVS
Omezení velikost pro stahování polohopisu zájmového území v DMVS na 200 ha

Pak se hodí připravit si v Microstationu nebo AutoCADu sestavu polygonů o velikosti o chlup menší než 200 ha (resp. 100 ha pro Zjištění správců), vyexportovat jejich souřadnice (v Microstationu je pro to zabudovaná funkce Export souřadnic), převést je hromadně na formát WKT a ty pak postupně použít pro vymezení zájmového území v DMVS. Odpadne tak úmorná snaha vychytávat v mapě překryvy území i nejistota, zda jsem opravdu vymezila celé území.

WKT je zkrátka mocný nástroj. Jakmile pochopíte, že stačí dodržet správné pořadí souřadnic, nezapomenout na mínusy a polygon správně uzavřít, stane se pro vás komunikace s DMVS (i s jakýmkoli jiným GIS systémem) naprostou hračkou.

A nyní odkaz na slíbený převodník, který je mimochodem zabudovaný jako samostatný modul v PyLoop Tag Manageru a funguje i offline. 

Často kladené otázky (FAQ)

Co je formát WKT a kdo ho používá? WKT (Well-Known Text) je mezinárodní standard pro textový zápis geometrie, definovaný konsorciem OGC a schválený i ISO. Není to výmysl DMVS ani ČÚZK — používají ho prostorové databáze (PostGIS), GIS programy (QGIS, ArcGIS) i programovací knihovny po celém světě.

Proč má zápis POLYGON dvojité závorky? Vnější závorky ohraničují celý objekt, vnitřní definují prstenec (hranici). WKT umí zapsat i polygon s dírou uprostřed, proto má dvojitou strukturu POLYGON((vnější),(vnitřní)). Pro DMVS posíláte jen jeden plný polygon, ale obě úrovně závorek musíte kvůli standardu dodržet.

Proč jsou souřadnice pro DMVS záporné? Jde o souřadnice v systému S-JTSK / Křovák (EPSG:5514), který umisťuje celé území ČR do záporného kvadrantu. Obě hodnoty jsou proto v metrech záporné a DMVS znaménka mínus vyžaduje — bez nich systém území nenajde.

Proč mi DMVS hlásí neplatnou geometrii nebo území nenajde? Nejčastější příčiny jsou tři: polygon není uzavřený (poslední bod musí být identický s prvním), chybí znaménka mínus, nebo je špatně pořadí souřadnic. Pro DMVS se souřadnice píší v geodetickém pořadí Y, X — tedy menší (západní) hodnota první, větší (jižní) druhá. Vyplatí se zkontrolovat všechny tři.

Jak velké zájmové území můžu v DMVS zadat? Pro stahování polohopisu je limit 200 ha, pro Žádost o zjištění území správců DTI dokonce jen 100 ha. Větší území je potřeba rozdělit na několik menších polygonů a stáhnout je postupně.

Jak rychle převést souřadnice z CADu na WKT? Souřadnice vyexportujete z CADu (v Microstationu funkcí Export souřadnic) a převedete je na WKT. PyLoop Tag Manager má pro to zabudovaný převodník S-JTSK → WKT, který funguje i offline; k dispozici je i jako samostatný online nástroj.