Metoda SCS CN

Teoretický popis metody, základní symboly použité v dalším textu, popis vstupních dat a navrhovaný postup je součástí školení GRASS GIS pro pokročilé.

Postup zpracovaní v QGIS

Krok 1

Sjednocení hlavních půdních jednotek a komplexního průzkumu půd

V prvním kroku založíme projekt a pomocí mActionAddOgrLayer Přidaní vektorové vrstvy a mActionAddDelimitedTextLayer Přidat vrstvu s odděleným textem vložíme do panelu vrstev vstupní data - vektorová data ve formátu Esri Shapefile hpj.shp, kpp.shp, landuse.shp, povodi.shp a soubory s odděleným textem hpj_hydrsk.csv, kpp_hydrsk.csv, lu_hydrsk_cn.csv, viz školení QGIS pro začátečníky.

Následně sjednotíme vrstvu hlavních půdních jednotek (hpj) a komplexního průzkumu půd (kpp). Využijeme nástroj geoprocessingu mAlgorithmUnion Sjednotit, který najdeme v záložce Vektor ‣ Nástroje geoprocessingu anebo v Nástroje zpracování. Vznikne nová vektorová vrstva hpj_kpp.

Krok 2

Připojení informací o hydrologické skupině

Tabulku hpj_hydrsk můžeme připojit k atributům nové vektorové vrstvy hpj_kpp pomocí společného sloupce HPJ (Obr. 102). Pravým tlačítkem myši v panelu vrstev u hpj_kpp zvolíme Vlastnosti a v dialogovém okně přejdeme do záložky join Připojení. Kliknutím na ikonku mActionSignPlus spustíme dialogové okno s nastavením pro připojení (Obr. 103), viz kapitola Připojení tabulkových dat ve školení QGIS pro začátečníky.

../_images/at_pred_join.png

Obr. 102 Společný atribut HPJ a hydrologické skupiny hlavních půdních jednotek.

../_images/at_join.png

Obr. 103 Připojení tabulky k vektorové vrstvě na zákládě společného atributu.

Tímto způsobem připojíme tabulky s informacemi o hydrologických skupinách (Obr. 104).

../_images/tab_pripojene.png

Obr. 104 Zobrazení připojených vrstev ve vlastnostech vrstvy hpj_kpp.

Poznámka

V některých případech nemusí připojení tabulek proběhnout korektně, např. pokud se liší datový typ sloupečků použitých pro připojení. Typicky textové vs. číselné pole, např. ‚09‘ vs. ‚9‘. V tomto případě je nutné data před přípojením sjednotit.

Poté otevřeme atributovou tabulku hpj_kpp, zapneme editační mód ikonkou mIconEditable Přepnout editaci a pomocí kalkulátoru polí mActionCalculateField Otevřít kalkulátoru polí vytvoříme nový atribut. Použijeme připojené atributy o hydrologické skupině (hpj_HydrSk z hlavních půdních jednotek a kpp_HydrSk z komplexního průzkumu půd). Primárně použijeme hydrologickou skupinu pro hlavní půdní jednotky. Kde informace není dosupná - hodnota NULL, tam použijeme kpp_HydrSk (Obr. 105) a výsledek zobrazíme (hydrsk-map).

CASE WHEN "hpj_HydrSk" IS NULL THEN "kpp_HydrSk" ELSE "hpj_HydrSk" END
../_images/at_hydrsk_kalk.png

Obr. 105 Vytvoření atributu s informacemi o hydrologické skupině pro elementární plochy.

../_images/hydrsk_ok.png

Obr. 106 Sjednocené hydrologické skupiny elementárních ploch v zájmovém území.

Krok 3

Průnik vrstvy hydrologických skupin s vrstvou využití území

Využijeme nástroj geoprocessingu mAlgorithmIntersect Protnutí. Výslednou vrstvu průniku nazveme hpj_kpp_landuse.

Poznámka

V tomto případě má bohužel QGIS problém uložit výsledné prvky do výchozího formátu OGC Geopackage. Funkční náhradou je např. ESRI Shapefile. Uložení výsledku do formátu ESRI Shapefile je navíc často i rychlejší v porovnání s výchozím formátem OGC Geopackage.

Krok 4

Připojení hodnot odtokové křivky \(CN\)

V dalším kroku je potřeba vytvořit atribut, který bude obsahovat údaje o využití území a o hydrologické skupině půdy dané elementární plochy ve tvaru VyužitíÚzemí_HydrologickáSkupina.

Pomocí kalkulátoru polí mActionCalculateField Otevřít kalkulátor polí vytvoříme nový atribut a nazveme jej lu_hydrsk (datový typ nastavíme na řetězec). Hodnota atributu bude ve tvaru LandUse||'_'||hydrsk.

Ve vlastnostech vrstvy join Připojení připojíme tabulku lu_hydrsk_cn.csv. Tímto krokem získáme pro každou elementární plochu odpovídající hodnotu CN.

../_images/join_cn.png

Obr. 107 Připojení hodnot CN k elementárním plochám.

Krok 5

Sjednocení průniku vrstvy hydrologických skupin a využití území s vrstvou povodí

Do této fáze je možné používat QGIS relativně bez problémů. Při větších objemech dat mohou být ale nativní nástroje QGISu časově náročné a nestabilní.

Hodnoty návrhových srážek s různou dobou opakovaní do vrstvy přidáme pomocí operace mAlgorithmUnion Sjednotit.

Tato operace bohužel končí topologickou chybou

TopologyException: Input geom 0 is invalid: Hole lies outside shell at or near point ...

V nastavení Nastavení ‣ Možnosti ‣ Zpracování ‣ Obecné ‣ Filtrování neplatných prvků nastavíme Ignorovat prvky s neplatnými geometriemi a výpočet spustíme znovu. Nové nastavení výrazně výpočet zpomalí, nicméně ani to nepomůže. Výpočet končí chybou.

TopologyException: found non-noded intersection between LINESTRING (...) and LINESTRING (...) at ...

Pro další řešení tedy použijeme výpočetně stabilnější nástroje systému GRASS GIS. Více o systému GRASS v rámci školení GRASS GIS pro začátečníky. Překryvné operace jako protnutí či spojení má v systému GRASS na starost nástroj v.overlay.

Výpočetní nástroje systému GRASS lze spouštět buď přímo z Nástroje zpracování anebo pomocí zásuvného modulu GRASS. Druhý způsob by vyžadoval vytvořit GRASS lokaci, naimportovat do ní vstupní data. Tento postup byl výhodný především, pokud bychom chtěli zbytek výpočtu již provést v systému GRASS celý. Jelikož chceme provést mimo nativní nástroje QGIS pouze jeden výpočet, tak zvolíme možnost spuštění nástroje GRASS přímo z nástroje zpracovaní.

Tip

Postup postavený na zásuvnému modulu GRASS je k dohledání ve starších materiálech školení pro verzi QGIS 2.18.

Bohužel externí nástroje spuštěné z nástrojů zpracování ignorují připojené tabulky ke vstupní vrstvě. Abychom tedy nepřišli o připojené hodnoty CN, musíme nejprve vstupní vrstvu zapsat do nového souboru.

../_images/save_join.png

Obr. 108 Uložení vrstvy do nového souboru. V případě použití formátu OGC Geopackage vynecháme atribut fid, který je tímto formátem vytvořen automaticky. V opačném případě by export prvků skončil chybou.

../_images/processing-grass-v-overlay.png

Obr. 109 Spuštění nástroje v.overlay z prostředí nástrojů zpracovaní. Kromě operátoru or pro operaci sjednocení je vhodné nastavit rozumnou hodnotu pro přichycení hranic. Předpokládáme totiž na vstupu topologicky nekorektní data. V našem případě jsme zvolili 1cm, což je hluboko pod přesností vstupních dat.

Je důležité si uvědomit, že nástroj v.overlay přidává k názvům atributu prefix a_ a b_. To podle toho z jakého vstupní vrstvy atributy pocházejí.

../_images/v-overlay-prefixes.png

Obr. 110 Názvy atributů po operaci spojení obsahují prefix.

Poznámka

V případě, že jste soubor lu_hydrsk_cn.csv vložili do projektu přímo z panelu prohlížeče, tak nebyly koretně nastaveny datové typy sloupečků. Všechny atributy jsou uloženy jako řetězce.

Vzhledem k tomu, že budeme dále pracovat především s hodnotami CN, je třeba pro další operace, aby typ tohoto atributu byl číselný, na což použijeme funkci to_int(). Vytvoříme tedy nový atribut CN s datovým typem integer.

../_images/cn_to_int.png

Obr. 111 Vytvoření nového celočísleného atributu pro hodnoty CN.

Krok 6

Výpočet výměry elementárních ploch, parametru \(A\) a parametru \(I_a\)

Pro každou elementární plochu vypočítame její výměru, parametr \(A\) a \(I_a\).

\[A = 25.4 \times (\frac{1000}{CN} - 10)\]
\[I_a = 0.2 \times A\]

Do atributové tabulky hpj_kpp_lu_pov přidáme nové atributy vymera, A, I_a, a to s datovým typem desetinné číslo. Jejich příslušné hodnoty vypočítáme obdobně jako při tvorbě atributu s hodnotami o využití území a hydrologické skupině. Pro určení výměry každé elementární plochy využijeme proměnnou $area.

vymera = $area
A = 24.5 * (1000 / CN - 10)
I_a = 0.2 * A
../_images/area_attrib.png

Obr. 112 Přídání nového atributu s výměrou.

Krok 7

Výpočet parametru \(H_o\) a parametru \(O_p\) pro každou elementární plochu

Znázornění vektorové vrstvy povodí s návrhovými srážkami v prostředí QGIS je uvedeno na Obr. 113 (maximální hodnota atributů H_002_120 představuje 23 mm). Histogramy je možné vykreslit v záložce diagram Diagramy ve vlastnostech konkrétní vrstvy.

../_images/navrhove_zrazky.png

Obr. 113 Zobrazení povodí IV. řádu s návrhovými srážkami.

Vypočítáme výšku přímého odtoku v mm jako parametr \(H_o\) a objem jako parametr \(O_{p}\).

\[ \begin{align}\begin{aligned}H_O = \frac{(H_S − 0.2 \times A)^2}{H_S + 0.8 \times A}\\O_P = P_P \times \frac{H_O}{1000}\end{aligned}\end{align} \]

V dalších krocích budeme uvažovat průměrný úhrn návrhové srážky \(H_{s}\) = 32 mm. Při úhrnu s dobou opakovaní 2 roky (atribut H_002_120) či dobou 5, 10, 20, 50 anebo 100 roků by byl postup obdobný.

Důležité

Hodnota v čitateli vztahu pro \(H_o\) musí být kladná, resp. nelze umocňovat záporné číslo. V případě, že čitatel je záporný, výška přímého odtoku je rovná nule. Pomůžeme si novým atributem v atributové tabulce, který nazveme HOklad.

HOklad = 32 - (0.2 * A)
../_images/HOklad_update.png

Obr. 114 Záporné hodnoty HOklad nejprve vybereme mIconExpressionSelect Vybrat prvky pomocí vzorce a poté jim přiřadíme konstantu 0.

HO = (HOklad * HOklad) / (32 + (0.8 * A))
OP = vymera * (HO / 1000)

Krok 8

Vytvoření rastrových vrstev výšky a objemu přímého odtoku

QGIS nabízí dva externí nástroje umožňující převést vektorovou vrstvu na rastr. První pochází z knihovny GDAL, druhý ze systému GRASS GIS, a to v.to.rast.

../_images/rasterization_tools.png

Obr. 115 Vyhledání nástroje rasterizace.

../_images/v-to-rast-ho.png

Obr. 116 Zadání parametrů nástroje v.to.rast. Kromě vstupní vrstvy (Input vector layer) a atributu pro rasterizaci (Name of column for ‚attr‘ parameter) nesmíme zapomenout definovat požadované prostorové rozlišení výsledného rastru (Velikost buňky regionu).

Výsledky vizualizované v prostředí QGIS jsou uvedeny na Obr. 117.

../_images/ho_op.png

Obr. 117 Zobrazení výšky a objemu přímého odtoku pro elementární plochy v prostředí QGIS.

Krok 9

Výpočet průměrných hodnot výšky a objemu přímého odtoku pro povodí

V dalším kroku vypočítáme průměrné hodnoty přímého odtoku pro každé povodí v řešeném území. Použijeme GRASS nástroj v.rast.stats, který počítá základní statistické informace rastrové vrstvy na základě vektorové vrstvy a ty ukladá do nových atributů v atributové tabulce. Dialogové okno je uvedeno na Obr. 118.

../_images/v_rast_stats.png

Obr. 118 Dialogové okno modulu v.rast.stats.

Vektorovou vrstvu povodí potom můžeme převést do podoby rastrové vrstvy, přičem jako klíčový atribut použijeme ho_average, resp. op_average. Výstup zobrazený v prostředí QGIS je na Obr. 119.

../_images/ho_op_avg.png

Obr. 119 Zobrazení průměrné výšky a objemu přímého odtoku pro povodí v prostředí QGIS.