ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE
Fakulta životního prostředí
Diplomová práce
Algoritmy pro zpracování digitálních modelů terénu s aplikacemi v hydrologickém modelování Vojtěch Barták
Vedoucí práce: Ing. Petr Máca, Ph.D.
Obor: Environmentální modelování Září 2008
i
ii
Prohlášení Prohlašuji, že jsem celou diplomovou práci na téma „Algoritmy pro zpracování digitálních modelů terénu s aplikacemi v hydrologickém modelování“ vypracoval samostatně za použití uvedené literatury a podle pokynů vedoucího diplomové práce. V Praze dne 19. července 2008 ……………………………….
iii
Vojtěch Barták Tuto práci věnuji své ženě Vlaďce a svým synům Františkovi a Adamovi, jako chabou náhradu za čas, který jsem nevěnoval jim.
Děkuji:
Vedoucímu práce Petru Mácovi, za rady, trpělivost a shovívavost. Své ženě Vlaďce a všem svým blízkým a příbuzným za trpělivost, důvěru a všestrannou nedocenitelnou podporu. Oldovi Rakovcovi za velkou pomoc při shánění literatury. Davidu Montgomerymu, Johnu Lindsayovi a Gregu Hancockovi za ochotné zaslání svých článků. Spolužánkům a kamarádům za trpělivé snášení mého zanícení.
iv
Vláďovi Pušovi za otevření světa matematiky a zvláště okouzlující teorie grafů. Diploma thesis
Algorithms for digital terrain analysis with applications in hydrological modeling
Abstract The aim of presented MSc. Thesis „Algorithms for digital terrain analysis with applications in hydrological modeling“ is a review of the algorithms and methods for processing the digital terrain models (DTMs), with focus on those which are useful for hydrological modeling purposes. The main goal was to create a software application providing the wide range of different algorithms and enable to their comparison and choice of the best one. The application should serve as an education and research tool at the Faculty of Environmental Sciences, CULS, but not only there. The presented thesis is composed of two main parts. The first, theoretical one provides an extensive review of particular algorithms, methods and approaches to the basic tasks, which are generally solved by digital terrain analysis (DTA). This review is restricted to the raster type of DTMs, and to those algorithms, which does not require any supplementary information or data sources except the matrix of elevations. In the second, practical part is described the created program, including graphical user interface, samples of the implementations of selected algorithms and an exhibition of the results of the program simulations, with simple visual comparison of the algorithms.
v
Obsah 1. ÚVOD .................................................................................................................................... 4 2. TEORETICKÁ ČÁST............................................................................................................ 6 2.1 Úvod k teoretické části ..................................................................................................... 8 2.1.1 Základní pojmy ......................................................................................................... 8 2.1.2 Digitální výškové modely ....................................................................................... 10 2.1.3 Základní charakteristiky terénu ............................................................................... 11 2.1.3.2 Primární charakteristiky ................................................................................... 11 2.1.3.2 Sekundární charakteristiky............................................................................... 15 2.1.4 Některé existující programy .................................................................................... 17 2.2 Simulace povrchového odtoku ....................................................................................... 20 2.2.1 Použitá terminologie ............................................................................................... 20 2.2.2 Jednosměrný odtok – SFD8 .................................................................................... 22 2.2.3 Jednosměrný náhodný odtok – Rho8 ...................................................................... 26 2.2.4 Vícesměrný odtok – MFD8..................................................................................... 28 2.2.5 Jednosměrný odtok – SFD∞ ................................................................................... 35 2.2.6 Vícesměrný odtok – MFD∞ .................................................................................... 37 2.2.7 DEMON .................................................................................................................. 38 2.2.8 Tvarově založený přístup ........................................................................................ 41 2.3 Uzavřené deprese ........................................................................................................... 46 2.3.1 Použitá terminologie ............................................................................................... 46 2.3.2 Vznik a typy depresí................................................................................................ 47 2.3.2.1 Základní typy depresí ....................................................................................... 47 2.3.2.2 Chyby v původních datech ............................................................................... 48 2.3.2.3 Chyby při interpolaci........................................................................................ 50 2.3.2.4 Aktuální deprese............................................................................................... 52 2.3.3 Metody řešení depresí ............................................................................................. 55 2.3.3.1 O´Callaghan et Mark, 1984 .............................................................................. 55 2.3.3.2 Vyplnění (filling).............................................................................................. 57 2.3.3.3 Protržení hráze (outlet breaching) .................................................................... 63 2.3.3.4 Vyrývání (carving) ........................................................................................... 65 2.3.3.5 Metody s minimální cenou............................................................................... 67 2.3.3.6 Fyzikálně založené metody .............................................................................. 71 2.4 Plošiny............................................................................................................................ 76 2.4.1 Použitá terminologie ............................................................................................... 76 2.4.2 Popis problému........................................................................................................ 77 2.4.3 Algoritmy řešící plošiny společně s depresemi....................................................... 79 2.4.4 Gradient ke spodnímu okraji ................................................................................... 79 2.4.5 Nejkratší cesta ......................................................................................................... 81 2.4.6 Gradient od horního okraje ..................................................................................... 83 2.4.7 Šplhání do šířky....................................................................................................... 86
1
2.5 Extrakce sítě vodních toků ............................................................................................. 88 2.5.1 Použitá terminologie ............................................................................................... 88 2.5.2 Základní přístupy..................................................................................................... 89 2.5.3 Jednoduché empirické metody ................................................................................ 93 2.5.4 Morfologie říční sítě................................................................................................ 95 2.5.4.1 Hortonovy zákony ............................................................................................ 95 2.5.4.2 Metoda konstantního poklesu........................................................................... 98 2.5.4.3 Fraktální povaha říční sítě .............................................................................. 100 2.5.4.4 Metoda relativní výšky podpovodí................................................................. 105 2.5.5 Procesy vzniku říční sítě ....................................................................................... 107 2.5.5.1 Teoretická východiska konstantní prahové hodnoty...................................... 108 2.5.5.1 Teoretická východiska prahové hodnoty závislé na sklonu ........................... 111 2.5.5.2 Metody konstantního prahu............................................................................ 113 2.5.5.3 Metody prahu závislého na sklonu................................................................. 116 3. PRAKTICKÁ ČÁST.......................................................................................................... 120 3.1 Popis programu ............................................................................................................ 122 3.1.1 Struktura programu ............................................................................................... 122 3.1.2 Načtení vstupních dat ............................................................................................ 124 3.1.2.1 Načtení nových vstupních dat ........................................................................ 124 3.1.2.2 Otevření existujícího projektu........................................................................ 125 3.1.2.3 Vytvoření nového souboru výběrem menší oblasti........................................ 125 3.1.3 Datová struktura vrstev ......................................................................................... 126 3.1.3.1 Podkladové vrstvy .......................................................................................... 126 3.1.3.2 Vrstvy směrů odtoku ...................................................................................... 128 3.1.3.3 Vrstvy hranic povodí...................................................................................... 128 3.1.3.4 Vrstvy říční sítě .............................................................................................. 128 3.1.4 Základní úlohy....................................................................................................... 128 3.1.4.1 Úvodní scan.................................................................................................... 129 3.1.4.2 Ošetření depresí a plošin ................................................................................ 130 3.1.4.3 Charakteristiky terénu .................................................................................... 132 3.1.4.4 Simulace povrchového odtoku ....................................................................... 133 3.1.4.5 Topografický index ........................................................................................ 135 3.1.4.6 Ohraničení povodí .......................................................................................... 136 3.1.4.7 Extrakce říční sítě........................................................................................... 137 3.1.5 Zobrazování výsledků ........................................................................................... 139 3.1.5.1 Zobrazování podkladových vrstev ................................................................. 140 3.1.5.2 Zobrazování vrstev hranic povodí.................................................................. 143 3.1.5.3 Zobrazování vrstev říční sítě .......................................................................... 143 3.1.5.4 Zobrazování vrstev směrů odtoku .................................................................. 145 3.1.6 Ukládání a otvírání projektu.................................................................................. 145 3.1.7 Implementace vybraných procedur ....................................................................... 148 3.1.7.1 Datové typy, třídy, globální proměnné a procedury....................................... 149 3.1.7.2 Úvodní scan.................................................................................................... 150 3.1.7.3 Ošetření depresí: Filling ................................................................................. 153 3.1.7.4 Ošetření depresí: Carving............................................................................... 154 3.1.7.5 Ošetření depresí: Spatially Distributed Increment ......................................... 156 3.1.7.6 Ošetření depresí: PEM4PIT ........................................................................... 158 3.1.7.7 Výpočet přispívajících ploch.......................................................................... 161 2
3.2 Ukázky simulací ........................................................................................................... 164 3.2.1 Použitá data ........................................................................................................... 164 3.2.2 Ošetření depresí..................................................................................................... 165 3.2.3 Ošetření plošin....................................................................................................... 168 3.2.4 Simulace povrchového odtoku .............................................................................. 173 3.2.5 Sklon, aspekt, křivost ............................................................................................ 178 3.2.6 Extrakce říční sítě.................................................................................................. 180 4. ZÁVĚR............................................................................................................................... 190 Použitá literatura .................................................................................................................... 191 Apendix: Prioritní fronta ........................................................................................................ 198 Příloha: Obsah přiloženého CD.............................................................................................. 202
3
1. ÚVOD Cílem předkládané práce je přehled algoritmů a metod pro zpracování digitálních modelů terénu, se zaměřením na metody použitelné pro účely hydrologického modelování. Hlavním cílem přitom bylo vytvoření uživatelsky přístupného programu, který by disponoval velkým výběrem algoritmů umožňujícím jejich srovnávání a následný výběr nejvhodnějšího. Program by měl sloužit především potřebám výuky a výzkumu na Fakultě životního prostředí ČZU, případně i širší vědecké obci či komerční sféře. Vzhledem k šíři tématu bylo nutné zaměření práce omezit. Práce se proto zabývá výhradně digitálními modely terénu reprezentujícími terén pomocí pravidelné čtvercové sítě. Výběr pojednávaných algoritmů je omezen pouze na ty, které nevyžadují žádné dodatečné informace o zpracovávaném území (např. vektorové vrstvy). Jediným vstupem je tedy vždy matice hodnot nadmořských výšek. Práce sestává ze dvou částí. V první, teoretické části je předložena obsáhlá rešerše jednotlivých algoritmů, metod a přístupů k jednotlivým základním úlohám zpracování DEM. V druhé, teoretické části je pak popsán předkládaný program, včetně popisu implementace nejzajímavějších algoritmů a předvedení ukázek simulací a výstupů z jednotlivých úloh. Závěrem úvodu zbývá se vyjádřit k nestandardnímu rozsahu práce. Jak autor věří, není to snad způsobeno přílišnou „upovídaností“ textu, ale šíří pojednávaných témat. Předkládaný program je výsledkem dvouleté intenzivní (a často strastiplné) práce, z čehož vyplývá množství úloh a algoritmů, kterými disponuje. To si na jednu stranu žádá nezbytný prostor pro popis úloh implementovaných do programu, ruku v ruce s tím však zároveň odpovídající popis použitých algoritmů v teoretické části. Určitým východiskem by jistě mohla být jen stručná, „heslovitá“ rešerše, bez podrobnějšího výkladu algoritmů a odkazující především na zdrojovou literaturu. Vzhledem k tomu, že jsem při shromažďování literatury narazil na mizivý počet česky psaných pojednání o předkládaných tématech, rozhodl jsem se nicméně pro odlišnou cestu, a to podat takový výklad metod a algoritmů, který by byl (alespoň v nejdůležitějších případech) schopen poskytnout případnému zainteresovanému čtenáři návod pro jejich implementaci. Tyto dvě hlavní příčiny, jež snad čtenář shledá dostatečně relevantními, vyústily v nezvyklou délku předkládané práce.
4
5
2. TEORETICKÁ ČÁST Obsahem teoretické části je podrobný popis v literatuře uvedených algoritmů pro analýzu digitálních modelů terénu, se zaměřením na úlohy zpracovávající modely terénu pro účely hydrologického modelování. Základní úlohou je v tomto ohledu určení odtokových směrů pro jednotlivé buňky rastru DTM. K tomu je však většinou třeba nejprve vyřešit bezodtoké oblasti v modelu, čili jednak buňky či skupiny buněk obklopené ze všech stran vyšší topografií (deprese) a jednak skupiny buněk se stejnou nadmořskou výškou (plošiny). Jsou-li odtokové směry určeny, mohou být využity pro další úlohy, mezi něž patří ohraničení povodí a extrakce říční sítě.
6
7
2.1 Úvod k teoretické části 2.1.1 Základní pojmy Digitální model terénu. Definici digitálního modelu terénu (DTM, Digital Terrain Model, v českém prostředí často nazýván DMT – digitální model terénu, dále někdy jen „model“) uvádějí Moore et al. (1991) jako „uspořádané pole čísel, reprezentující prostorovou distribuci terénních charakteristik“. Polem se většinou rozumí dvourozměrné pole, čili matice. O terénních charakteristikách viz v kap. 2.1.3. Někdy je pod pojmem digitální model terénu rozumněn výškový model (DEM, viz dále), který však ve skutečnosti tvoří jen jeho speciální případ. Existují základní tři typy digitální reprezentace terénních charakteristik (viz Obr. 2.1.1). Jde jednak o reprezentaci trojúhelníkovou (TIN, Triangulated Irregular Network), tvořenou nepravidelnou sítí bodů spojených do sítě nepravidelných trojůhelníků, jednak o reprezentaci pomocí vrstevnic (v obou zmíněných variantách lze s výhodou využít vektorového zobrazování) a jednak o asi nejpoužívanější reprezentaci pomocí pravidelného (většinou čtvercového) rastru.
(a)
(b)
(c)
Obr. 2.1.1. Různé typy DTM: reprezentace pomocí rastru (a), nepravidelné trojúhelníkové sítě (b) a vrstevnic (c). Převzato z Moore et al., 1991.
V případě pravidelného rastru jsou možné dva základní přístupy, jak chápat jednotlivé hodnoty. Buď čísla v matici představují bodové hodnoty, nebo reprezentují „průměrnou“ hodnotu pro celou příslušnou buňku (okénko rastru). V případě bodových hodnot je navíc možné tyto hodnoty umísťovat buď do středu jednotlivých buněk, či do jejich rohů. V této práci budu (až na výjimky, na něž v příslušném místě upozorním) pracovat s reprezentací pomocí pravidelného rastru, kdy jednotlivé hodnoty platí vždy pro celou buňku.
8
Rastrové digitální modely terénu jsou výhodné především pro snadnou algoritmizaci nejrůznějších úloh DTM zpracovávajících (souřadnice daného bodu přímo odpovídají souřadnicím sloupce a řádku v matici) a pro snadnou zobrazitelnost pomocí rastrových obrazů (jednotlivým hodnotám mohou přímo odpovídat např. tóny šedi). Digitální výškový model. Často je též nazýván „digitální elevační model“ (DEM, Digital Elevation model). Jedná se o speciální případ DTM, kdy hodnotami jsou nadmořské výšky (elevace). Předkládaná práce se zabývá výhradně rastrovými výškovými modely. Jelikož se jedná o velmi frekventovaný pojem, budu jej nahrazovat zkratkou DEM (jak je ostatně zvykem v anglicky psané literatuře), přičemž zkratku nebudu skloňovat (kvůli zamezení vzniku nejrůznějších nelibozvučných „patvarů“ typu „DEMem“ apod.). Buňka. Jedná se o základní jednotku rastrového modelu, čili nejmenší okénko rastru. V literatuře většinou nazýváno cell či pixel, což dobře odráží spojitost rastrových modelů s jejich rastrovým zobrazením. Často budu také používat pojmu bod, a to (nebude-li uvedeno jinak) ve stejném smyslu jako pojem buňka. Z geometrického hlediska se tak jedná o bod v diskrétním prostoru středů buněk rastru. Zvláštní buňkou je tzv. uzávěr, což je buňka odpovídající poloze skutečného uzávěrného profilu nějakého povodí. Uzávěrem se přirozeně může stát jakákoli buňka DEM, budeme-li chtít pracovat s příslušným povodím. Chápání rastru jako diskrétního konečného prostoru dovoluje zavézt takové pojmy jako množina buněk či souvislá množina buněk, jejichž význam je intuitivně jasný. V souvislosti s množinou buněk je užitečné definovat její okraj, a to jako množinu těch buněk, které do dané množiny patří, přitom však sousedí buď s okrajem DEM nebo s nějakou buňkou do dané množiny nepatřící.
Soused. Jak název napovídá, sousedem daném buňky je rozuměna buňka přímo s danou buňkou sousedící. Sousedy dané buňky lze přitom rozlišit na kardinální (sousedící přes hranu) a diagonální (sousedící přes roh). V rastrových modelech má každá buňka vždy osm sousedů (čtyři kardinální a čtyři diagonální), přičem jejich poloha je snadno odvoditelná ze souřadnic dané buňky. Okno. Jedná se o spojitou množinu buněk ve tvaru obdélníku či čtverce. Okna jsou často využívána při prohledávání DEM, kdy lze hovořit o tzv. posuvném okně. Nejčastějším
9
případem posuvného prohledávacího okna je okno velikosti 3x3 buňky, tvořené tzv. středovou buňkou a jejími osmy sousedy.
Cesta. Jde opět o souvislou množinu buněk, v níž je však navíc každé buňce přiřazen směr do některého svého souseda, přičemž pomocí těchto směrů je možné cestu celou „projít“1. Zvláštním případem cesty je pak spojnice, což je cesta spojující nějaké dvě buňky. Nejkratší spojnice je pak spojnice obsahující nejmenší možný počet buněk.
2.1.2 Digitální výškové modely Základní zdroje údajů o nadmořských výškách shrnuje Hengl et al. (2003) a Bašta (2008). Jsou jimi: 1. Terénní měření. Jedná se o sice nejpřesnější, nicméně také nejpracnější a časově nejnáročnější metodu. Data mohou být přitom získávána buď tachymetrickým měřením (totální stanicí) či pomocí globálního polohového systému (GPS). Přesnost měření pomocí totální stanice může teoreticky dosahovat hodnot až 0,001m, v praxi není horší než 1m. Vzhledem k náročnosti se metoda hodí zejména k podrobnému mapování menších území (viz např. Bašta (2008)). 2. Letecká a družicová fotogrammetrie. Asi nejrozšířenější metoda, při níž je dálkově (letecky či družicově) snímán zemský povrch z několika úhlů. Pomocí stereoskopie se následně dvourozměrné snímky převádí na informaci trojrozměrnou. U fotogrammetrických metod působí značné obtíže vegetace. Přesnost se pohybuje v intervalu 0,1 až 1m u leteckého a 10 až 20m u družicového snímání. 3. Radarová interferometrie. Jde v přepočtu na kilometry asi o nejlevnější metodu, která však většinou vyžaduje terénní kontrolu. Terén je snímán radarovými paparsky. Zvlášť velkou obtíží jsou vodní plochy, na nichž dochází k problémům s odrazem radarových paprsků. Interferometrie může být buď letecká (přesnost od 0,5 do 2m) nebo družicová (přesnost 10 až 25m). 4. Laserová altimetrie (laser scanning). Progresivní, leč poměrně drahá metoda, vyžadující pečlivé zpracování naměřených dat (odstínění vegetace, vodních ploch 1
Tento pojem je analogický pojmu cesty z matematické teorie grafů. Zde by vrcholům grafu odpovídaly středy jednotlivých buněk a hrany by byly představovány orientovanými spojnicemi těchto středů tam, kde je určen směr z dané buňky do jejího souseda.
10
apod.). Terén je dálkově (nejčastěji z letadla) snímán laserovými paprsky. Metoda dosahuje vysoké přesnosti (0,2 až 1m). 5. Digitalizace vrstevnic. Snad jedinou výhodou této jinak „nouzové“ metody je dobrá dostupnost topografických map. Přesnost je silně závislá na kvalitě podkladu, odhaduje se na polovinu vzdálenosti mezi vrstevnicemi. Vzhledem k tomu, že vrstevnicová mapa je vždy originální a subjektivní interpretací bodových výškových dat kartografem (viz např. Obr. 2.3.2), je zpětné odvozování výškových dat zatíženo vysokou neurčitostí.
Z výškových dat (získaných jednou z výše uvedených technik), jež mají zpravidla podobu nepravidelné sítě bodových hodnot, se pravidelná síť bodů rastrových DEM vytváří nejrůznějšími interpolačními technikami (viz Bašta, 2008). Výpočet elevace v daném bodě pravidelné sítě může být proveden buď jako (různým způsobem) vážený průměr okolních bodů (např. metoda IDW), geostatistický odhad založený na autokorelaci okolních bodů (Kriging) či optimalizace parametrů nějaké matematické funkce, kterou je aproximován terén (splajny, polynomiální interpolace). Vedle těchto, dalo by se říci „klasických“ metod je velmi zajímavý fyzikálně založený přístup autorů Niemann et al. (2003), při němž jsou optimalizovány parametry rovnice transportu sedimentu pro ustálenou fluviálně modelovanou topografii. Z hydrologického hlediska je významný tzv. morfologický přístup Hutchinsonův (1989), při němž jsou během interpolace odstraňovány nežádoucí deprese (tzv. drainage enforcement), takže výstupem je „průtočný“ DEM vhodný pro následné hydrologické analýzy.
2.1.3 Základní charakteristiky terénu 2.1.3.2 Primární charakteristiky Primárními (primary topographic attributes) se tyto charakteristiky nazývají proto, že je lze spočítat přímo z hodnot elevací (většinou z elevací dané buňky a jejích osmi sousedů). Patří mezi ně sklon (slope), aspekt (aspect), vertikální a horizontální křivost (curvature), přispívající plocha (conributing area, catchment area, upslope area), dále celková plocha a
11
maximální délka povodí ad. Ucelený přehled je uveden v Tabulce 1., převzaté od autorů Moore et al. (1991)2: Tabulka 1. Přehled primárních charakteristik terénu podle autorů Moore et al., 1991. Attribute
Definition
Hydrologic significance
Altitude
Elevation
Climate, vegetation type potential energy
Upslope height
Mean height of upslope area
Potential energy
Aspect
Slope azimuth
Solar radiation
Slope
Gradient
Upslope slope
Mean slope of upslope area
Overland and subsurface flow velocity and runoff rate Runoff velocity
Dispersal slope
Mean slope of dispersal area
Rate of soil drainage
Catchment slope
Average slope over the catchment
Time of concentration
Upslope area
Catchment area above a short length of contour Area downslope from a short length of contour Area draining to catchment outlet
Runoff volume, steady-state runoff rate
Runoff volume
Upslope area per unit width of contour
Runoff volume, steady-state runoff rate Erosion rates, sediment yield, time of concentration Flow acceleration, erosion rates
Catchment length*
Maximum distance of water flow to a point in the catchment Mean length of flow paths to a point in the catchment Distance from a point in the catchment to the outlet Distance from highest point to outlet
Profile curvature
Slope profile curvature
Flow acceleration, erosion/deposition rate
Plan curvature
Contour curvature
Converging/diverging flow, soil water content
Dispersal area Catchment area* Specific catchment area Flow Path length Upslope length Dispersal length
Soil drainage rate
Impedance of soil drainage Overland flow attenuation
* Kromě takto označených jsou všechny uvedené charakteristiky počítány pro konkrétní buňku uvnitř povodí.
Obr. 2.1.2. Schéma okna velikosti 3x3 buňky s označením jednotlivých buněk a vertikálního rozlišení h. Upraveno podle Gallant et Wilson, 1996.
Vzhledem k tomu, že některé z výrazů uvedených v tabulce jsou obtížně přeložitelné a české ekvivalenty mi nejsou známy, uvádím tabulku v původním anglickém znění.
2
12
Výpočet základních primárních charakteristik pomocí prvních a druhých derivací funkce z(x,y), která dané buňce (x,y) přiřazuje elevaci z, popisují Gallant a Wilson (1996). Diskretizace derivací, odpovídající diskrétnímu poli elevací, je provedena pomocí jejich náhrady vystředěnými konečnými rozdíly. Vyjdeme-li z označení na Obr. 2.1.2., můžeme pro jednotlivé derivace psát3:
zx =
∂z z 2 − z 6 ≅ , ∂x 2h
(2.1.1)
zy =
∂z z8 − z 4 ≅ , 2h ∂y
(2.1.2)
z xx =
∂ 2 z z 2 − 2 z9 + z6 ≅ , h2 ∂x 2
(2.1.3)
z yy =
∂ 2 z z8 − 2 z 9 + z 4 ≅ , ∂y 2 h2
(2.1.4)
z xy =
∂ 2 z z 7 − z1 − z 5 + z 3 ≅ , ∂x∂y 4h 2
(2.1.5)
kde zi značí elevaci buňky i. Dalšími výhodnými veličinami jsou (Gallant et Wilson, 1996):
p = z x2 + z 2y
q = p + 1.
a
(2.1.6)
Pomocí těchto veličin je možné vyjádřit sklon S dané buňky jako:
S=
p,
(2.1.7)
případně při povolení pouze osmi směrů (do osmi sousedů dané buňky), svírajících mezi sebou úhel 45°, můžeme sklon sD8 vyjádřit jako:
3
Odlišné schéma diskretizace uvádějí např. Hengl et al., 2003.
13
S D 8 = max í =1...8
z9 − zi , hφ (i )
(2.1.8)
kde φ(i) = 1 pro kardinální sousedy (i = 2,4,6,8) a φ (i) = √2 pro diagonální sousedy (i = 1,3,5,7). Odhad hodnoty aspektu ψ, měřeného od severu po směru hodinových ručiček, je možné provést jako (ibidem):
zy zx
ψ = 180° − arctan
z + 90° x . z x
(2.1.9)
Vertikální křivostí (profile curvature) terénu rozumíme křivost křivky, která vznikne protnutím plochy povrchu terénu vertikální rovinou. Vzhledem k tomu, že křivost dané křivky vyjadřuje rychlost změny gradientu podél dané křivky, je vertikální křivost terénu významnou veličinou pro modelování např. erozních a obecně fluviálních procesů. Ze stejného důvodu se zmíněná vertikální plocha, kterou je protínána plocha povrchu terénu, zpravidla volí rovnoběžná buď s aspektem nebo se směrem odtoku (pokud se tyto liší). Pomocí výše uvedených veličin je vertikální křivost Kv možné vyjádřit jako (ibidem):
Kv =
z xx z x2 + 2 z xy z x z y + z yy z y2 p1 2 q 3 2
.
(2.1.10)
Podobným způsobem můžeme vyjádřit horizontální křivost (plan curvature) Kh, která odpovídá křivosti vrstevnic a dostaneme ji měřením křivosti na křivce, která vznikne protnutím plochy povrchu terénu vodorovnou rovinou:
Kh =
z xx z 2y + 2 z xy z x z y + z yy z x2 p3 2
.
(2.1.11)
Poznamenejme, že pomocí vertikální křivosti můžeme určit tvar povrchu terénu jako konkávní (Kv > 0) nebo konvexní (Kv < 0) (ibidem). Vedle sklonu, aspektu a křivosti je z primárních charakteristik důležitá také přispívající
plocha (contributing area, upslope area) A, definovaná jako plocha odvodňovaná daným
14
místem terénu, a specifická přispívající plocha (specific contributng area, specific catchment area) a, definovaná jako přispívající plocha na jednotku délky vrstevnice. Bližšímu popisu těchto charakteristik a způsoby jejich odhadu pomocí DEM se podrobně zabývá kap. 2.2.
2.1.3.2 Sekundární charakteristiky Sekundární charakteristiky, někdy označované též „složené“ (compound topographic attributes), vznikají kombinací primárních. Jedná se o nejrůznější indexy, využívané při modelování procesů v životním prostředí, jako je např. eroze, evapotranspirace, rozložení srážek ad.. Vzhledem k rozsahu a zaměření této práce se v dalším výkladu omezíme pouze na nejznámější a pro účely hydrologického modelování nejdůležitější sekundární charakteristiku, kterou je tzv. topografický index (topographic index). Pro přehled jiných sekundárních charakteristik a jejich využití odkazuji na práci autorů Moore et al., 1991. Topografický index w, nazývaný též vlhkostní index (wetness index) či topografický vlhkostní index (topographic wetness index), je definován výrazem (ibidem):
w = ln
a , S
(2.1.12)
kde a je specifická přispívající plocha a S je lokální sklon. Vedle tohoto indexu bývá často používána jeho varianta půdně-topografický index (soil-topographic index): wT = ln(a/TS), kde T je laterální transmisivita (průtočnost) půdního profilu nasyceného vodou až k povrchu (ibidem). Výraz (2.1.12) je potom podmíněn předpokladem prostorově homogenní půdní transmisivity, neovlivňující relativní hodnoty indexu. Topografický index je v hydrologickém modelování široce používán4, a to především za účelem predikce rozlohy a prostorového rozmístění tzv. zdrojových ploch (zón saturace, čili ploch, kde dochází k nasycení půdního profilu vodou), na nichž je předpokládán vznik rychlého povrchového odtoku. Lze totiž předpokládat, že k nasycení dochází přednostně v těch partiích terénu, které jsou plošší (malý sklon) a leží pod dlouhým svahem (velká přispívající plocha). Topografický index, který je přímo úměrný přispívající ploše a nepřímo úměrný sklonu, se tak může stát mírou, nakolik má dané místo tendenci vytvářet nasycené
4
Příkladem za všechny může být známý srážko-odtokový model TOPMODEL, při jehož vývoji byl topografický index ve formě (2.1.12) vůbec poprvé formulován (Beven et Kirkby, 1979 – in Quinn et al., 1991; Beven, 2000).
15
podmínky, a tedy i zdrojové plochy. V praxi jsou pak zdrojové plochy identifikovány na základě překročení zvolené prahové hodnoty topografického indexu. Logaritmická forma indexu, vyjádřená ve vztahu (2.1.12), je výsledkem konkrétní podoby
řídících rovnic proudění ve srážko-odtokovém modelu TOPMODEL, konkrétně výsledkem předpokladu exponenciálního poklesu nasycené hydraulické vodivosti s hloubkou (Beven, 2000: Kap. 6.4). Jak uvádí Beven (1997), jiné podoby této závislosti by vedly k jiným formám indexu, základem však vždy bude podíl přispívající plochy a sklonu: a/S. Vedle odhadu polohy zdrojových ploch pomocí prahové hodnoty indexu je topografický index také často používán přímo pro odhad hloubky hladiny podzemní vody, příp. pro odhad prostorového rozmístění půdní vlhkosti. Jak však uvádějí Hjerdt et al. (2004), mezi půdní vlhkostí či hloubkou podzemní vody a hodnotami indexu je často jen slabá korelace, v některých příkladech se dokonce lépe koreloval samotný lokání sklon. Stejní autoři (ibidem) dále namítají, že topografický index odráží pouze poměry nad daným místem, přestože odtok z daného místa je často určován i nižší topografií. Navrhují proto úpravu topografického indexu tak, aby vliv nižší topografie zahrnoval, a to náhradou sklonu S za sklon Sd = d/Ld, kde Ld je horizontální vzdálenost buňky ležící d metrů pod elevací původní buňky, pro kterou je sklon počítán. Test na skutečném povodí (ibidem) prokázal použitelnost upraveného indexu, nicméně určitou nevýhodou je zavedení nového volitelného parametru d. Porovnání obou variant indexů provedli také Sørensen et al. (2006), kteří dospěli k závěru, že pro modelování hydrologických veličin, jako je hloubka podzemní vody či půdní vlhkost, je lepší použití lokálního sklonu, zatímco při modelování takových procesů, jako je prostorová distribuce půdního pH či druhové diverzity rostlinných společenstev, je vhodnější použití upraveného sklonu Sd, reprezentujícího větší prostorové měřítko. Při výpočtu topografického indexu lze samozřejmě použít také různé algoritmy pro výpočet přispívající plochy. Lokální sklon je přitom většinou počítán způsobem odpovídajícím použitému odtokovému algoritmu (čili algoritmu pro výpočet přispívající plochy), tzn. při jednosměrném SFD8 algoritmu5 je použit vzorec (2.1.8), při vícesměrném MFD8 algoritmu je sklon počítán jako vážená suma všech kladných sklonů z dané buňky do jejích osmi sousedů, přičemž váhami jsou délky vrstevnicových úseků kolmých na jednotlivé směry (viz kap. 2.2). Porovnáním vlivu jednotlivých odtokových algoritmů se zabývá větší množství studií (Quinn et al., 1991; Wolock et McCabe, 1995; Pan et al., 2004; Sørensen et al., 2006), které
5
Algoritmy pro výpočet přispívající plochy jsou podrobně probrány v kap. 2.2.
16
se všechny víceméně shodují na dvou závěrech: (1) volba odtokového algoritmu má podstatný vliv na prostorovou distribuci indexu a (2) vícesměrné algoritmy poskytují lepší výsledky než jednosměrné6. Nejobsáhlejší ze zmíněných studií, provedená autory Sørensen et al. (2006), nicméně uzavírá, že optimální volba algoritmu a jeho případných parametrů závisí jednak na konkrétní topografii, jednak na účelu, pro který je index počítán, a nelze tedy prohlásit jednu kombinaci algoritmů za spolehlivě nejlepší pro všechny případy.
2.1.4 Některé existující programy Programů pro digitální analýzu terénu (DTA, Digital Terrain Analysis) je velké množství. Jedná se na jedné straně o samostatné programy (např. TAS), na druhé straně o nástrojové balíčky do GIS programů, jako je ArcGIS či GRASS. Následující tabulka si v žádném případě nečiní nárok na úplnost, pouze se snaží popsat nejcitovanější (a asi i nejpoužívanější) programy a jejich výhody a omezení. Tyto výhody a omezení přitom představují pouze omezený úhel pohledu, daný srovnáním s předkládaným programem DEMETERR (viz kap. 3.1). Tomu odpovídá i označení algoritmů uvedené v tabulce; algoritmy jsou záměrně pojmenovány tak, jak jsou pojmenovány v programu DEMETERR či případně jak je o nich pojednáno v teoretické části této práce, aby bylo usnadněno srovnání. Většina programů uvedených v Tabulce 2. disponuje řadou dalších metod pro odlišné úlohy, nicméně ze všech metod byly vždy vybrány pouze ty, které se týkají základních úloh pojednávaných v této práci (ošetření depresí, ošetření plošin, simulace povrchového odtoku a extrakce říční sítě). Pakliže některý program využívá metod, které nejsou obsaženy ani v programu DEMETERR ani nejsou pojednány v teoretické části, jsou tyto nazvány podle názvu použitého v daném programu. Pro konkrétní náplň těchto metod odkazuji na literaturu uvedenou ve sloupečku „Popis“. Z uvedených programů stojí za zvláštní zmínku program TAS (Terrain Analysis System), jehož autorem je John Lindsay (2005). Nad ostatními tento program vyniká širokou nabídkou algoritmů, včetně některých autorských, a dále řadou metod statistické analýzy DEM a možnostmi práce s vektorovými vrstvami. V některých ohledech je program TAS blízký předkládánému programu DEMETERR, a to především velkou nabídkou algoritmů, kompaktním uživatelským rozhraním a podobou neinstalovatelné *.exe aplikace. 6
Wolock a McCabe (1995) nicméně dospěli při aplikaci modelu TOPMODEL k závěru, že pokud je cílem pouhá simulace hydrogramu odtoku, a nikoli prostorové vystižení odtokových procesů v povodí, je rozdíl mezi algoritmy (SFD8 a MFD8, viz kap. 2.2) zanedbatelný.
17
Tabulka 2. Přehled vybraných DTA programů a jejich stručný popis ve vztahu k úlohám pojednávaným v této práci. Program
Arc Hydro Tools
Popis
Balíček nástrojů pro ArcGIS (ESRI, 2006)
Algoritmy Deprese: Filling (vytvoření podrobného seznamu depresí včetně jejich popisu) Plošiny: Towards Lower Gradient (implictně při určování směrů odotku)
GRASS
TOPAZ
TAPES-G
Výhody
Malý výběr algoritmů, navíc bez znalosti jejich implementace
Možnost práce s vektorovými daty (převod výstupů do shapefilů, použití vektorových vrstev jako dodatečných vstupních dat)
Závislost na komerčním software
Extrakce říční sítě: Constant Area Threshold
Pokročilé možnosti stanovování rozvodnic a práce s říční sítí
Deprese: Filling
V případě kombinace s MapWindow nezávislost na komerčním software
Směry odtoku: SFD8
TauDEM
Nevýhody
Balíček nástrojů buď do ArcGIS, nebo do MapWindow (Tarboton, 2005)
Směry odtoku: SFD8, SFD-Inf
Metody implementované do Free GRASS GIS softwaru (GRASS Development Team, 2008) Balíček DTA programů, zdarma k obdržení na osobní žádost (Garbrecht et Martz, 1999)
Deprese: Filling
Program z rozsáhlé rodiny DTA programů Australské národní univerzity (Gallant et Wilson, 1996)
Deprese: Filling
Extrakce říční sítě: Burning, Constant Area threshold, Slope-Area Threshold, Weighted Area Threshold, Slope-Length Threshold, volba Constant Drop Analysis)
Plošiny: Towards Lower Gradient (implictně při určování směrů odotku) Směry odtoku: r.flow (vlastní algoritmus, částečně podobný algoritmu DEMON), SFD8, MFD8
Omezený výběr algoritmů
Možnost převedení výstupu do shapefilů Omezený výběr algoritmů Výrazně odlišná struktura úloh od ostatních programů
Plošiny: Combined Gradient
Omezený výběr algoritmů
Směry odtoku: SFD8
Free software
Free software (na požádání)
Extrakce říční sítě: Constant Area Threshold Free software (na požádání)
Plošiny: Towards Lower Gradient Směry odtoku: SFD8, Rho8, MFD8, MRho8, DEMON
Omezený výběr algoritmů
Kompatibilita s řadou dalších podobných programů
Extrakce říční sítě: Constant Area Threshold Free software
Plošiny: Towards Lower Gradient Samostatný program (Lindsay, 2005)
Nadstavba r.terraflow pro simulaci povrchového odtoku na extrémně rozsáhlých datových souborech
Deprese: Outlet Breaching
Deprese: Depitting, Filling, Carving, Outlet Breaching, Impact Reduction Approach TAS
Pokročilé možnosti využití odtokových směrů (analýzy transportu kontaminace apod.)
Velký výběr algoritmů
Směry odtoku: SFD8, Rho8, MFD8 (verze Freeman, 1991, i Quinn et al., 1995), MRho8, ADRA Extrakce říční sítě: Constant Area Threshold, Slope-Area Threshold, Peucker and Douglas, Douglas, Johnston and Rosenfeld
18
(Chybí některé algoritmy)
Velká řada metod pro výpočty nejrůznějších charakteristik terénu, statistické analýzy ad.
19
2.2 Simulace povrchového odtoku 2.2.1 Použitá terminologie Povrchový odtok. Tímto pojmem zde nemám na mysli nějaký model skutečného odtokového procesu, např. odtok hortonovský apod., odlišený od odtoku podpovrchového či základního. V této práci se povrchovým odtokem rozumí jednoduché přiřazení směru odtoku z dané buňky do jedné či více sousedních buněk, provedené na všech buňkách DEM. Název povrchový odtok, většinou u nás používaný spíše ve výše uvedených významech, je zde použit jako ekvivalent anglického overland flow. Základní předpoklady, na nichž je simulace povrchového odtoku založena, shrnuje Tribe (1992): odtok je produkován prostorově homogenní srážkou dopadající na zcela nepropustný povrch bez jakékoli vegetace. Jak upozorňují Martz a Garbrecht (1995), tuto představu je možné nahradit představou povrchu o prostorově konstantní propustnosti a prostorově homogenním vegetačním pokryvu. Jinými slovy se jedná o idealizovaný odtok, při němž hydraulický spád, odpovědný za pohyb vody, je plně určen sklonem terénu. Z uvedených předpokladů je zřejmé, že takto simulovaný povrchový odtok se příliš neshoduje s reálně pozorovanými odtokovými procesy, ačkoli často slouží k jejich reprezentaci (včetně např. aproximace proudění podzemní vody, viz např. Quinn et al., 1991). V souvislosti s povrchovým odtokem je dalším užitečným pojmem směr odtoku (flow direction). Jedná se o směr, kterým při simulaci povrchového odtoku odtéká voda z dané buňky. Podle toho, zda je pro danou buňku povolen pouze jeden směr odtoku (zpravidla směr odpovídající největšímu spádu) či směrů více, jedná se buď o jednosměrný (single flow) či
vícesměrný (multiple flow) odtok. Přítok, odtok, odtoková trasa. Přítokem dané buňky je takový její soused, jehož směr odtoku do dané buňky směřuje. Buňka může mít nezávisle na použitém algoritmu (vícesměrný/jednosměrný) buď žádný, nebo jeden či více (nejvýše pochopitelně osm) přítoků. Podobně odtokem dané buňky je nazývána buňka, do níž z dané buňky míří směr odtoku. U jednosměrného algoritmu mají všechny buňky nejvýše jeden odtok, u vícesměrných algoritmů jich mohou mít více. Tyto pojmy jsou používány především za účelem vyjádření počtu
přítoků/odtoků do/z dané buňky. Odtoková trasa je uspořádaným řetězcem buněk, který vznikne postupným sledováním směrů odtoku. Z toho plyne, že odtoková trasa spojuje danou buňku s uzávěrným profilem (případně se dnem uzavřené deprese). U vícesměrných
20
algoritmů může být buňka spojena s uzávěrným profilem pomocí více odtokových tras. Spojování odtokových tras, jež se děje na buňkách s více přítoky, je nazýváno konvergencí
toku, naproti tomu větvení (resp. přesněji vznik nových) odtokových tras na buňkách s více odtoky je nazýváno divergencí (případně disperzí) toku. Soustava všech odtokových tras na určité spojité množině buněk tvoří tzv. odtokovou síť (drainage network).
Přispívající plocha. Hodnota přispívající plochy (contributing area) je pro každou buňku dána počtem buněk, které jsou danou buňkou odvodňovány, neboli na jejichž odtokových trasách daná buňka leží. Někdy je také používán termín akumulace toku (flow accumulation), případně plocha povodí (catchment area, jedná se samozřejmě o dílčí povodí, jehož uzávěrným profilem je právě daná buňka), někdy též těžko přeložitelné upslope area či support area. Zde dávám většinou přednost termínu přispívající plocha, a to i přes zjevné obtíže spojené s pojmem plocha při použití vícesměrných algoritmů. V případě vícera odtoků z dané buňky je totiž tok do jednotlivých směrů rozdělován v určitém poměru (v závislosti na použitém algoritmu), přičemž ve stejném poměru je rozdělována a propagována i hodnota akumulace toku, takže tato hodnota v dané buňce většinou neodpovídá prostému počtu buněk do dané buňky přispívajících (tak je tomu pouze v případě jednosměrného odtoku). Jak poznamenává Jones (2002), zatímco dělení (divergence, disperze) toku je věcí přirozenou, podobné dělení plochy (odpovídající termínům přispívající plochy či plochy povodí) příliš nesouhlasí s intuicí a je obtížné si je v reálné topografii představit a příslušné (takto mnohokrát rozdělované) plochy zobrazit. U jednosměrného odtoku se jedná pouze o věc pojmenování, přičemž pojem přispívající plocha má tu výhodu, že přímo odkazuje ke skutečné ploše, odkud voda do dané buňky přitéká. Přes uvedené nevýhody pojmu přispívající plocha je tento termín natolik rozšířen, že užívání jiného by mohlo vézt k nedorozumění. Dalším důležitým a úzce souvisejícím pojmem je specifická přispívající plocha (specific contributing area, specific catchment area apod., někdy jen specific area). Jedná se o přispívající plochu dělenou délkou vrstevnicového úseku7, přes který voda z dané buňky odtéká. V případě jednosměrných algoritmů je touto délkou délka strany buňky (tedy horizontální rozlišení DEM), u vícesměrných algoritmů je její určení složitější a souvisí se zmíněným poměrem, v jakém je tok rozdělován do více odtokových směrů.
7
Pojem vrstevnicové délky či délky vrstevnicového úseku bude probrán dále v části o MFD8 algoritmu.
21
Plocha ovlivnění (influence area, dispersal area). Jedná se o v jistém smyslu inverzní pojem k pojmu přispívající plochy, znamenající plochu všech buněk, do nichž může po odtokových trasách dospět voda odtékající z dané buňky. U jednosměrného algoritmu, nedovolujícího divergenci toku, se tedy bude jednat přímo o jedinou odtokovou trasu, u vícesměrného algoritmu se bude jednat o sjednocení všech existujících odtokových tras majících počátek v dané buňce. Zatímco u přispívající plochy je často středem zájmu její
číselná hodnota, u plochy ovlivnění je většinou důležitou informací její poloha (a tedy grafické znázornění), např. za účelem sledování možného šíření kontaminantu z bodového zdroje (Tarboton, 2003).
2.2.2 Jednosměrný odtok – SFD8 Nejjednodušší, nejstarší a pravděpodobně dosud nejpoužívanější algoritmus pro simulaci povrchového odtoku je jednosměrný SFD8 (Single Flow 8-Direction), tradičně též nazývaný D8. Patrně první zmínku lze nalézt v článcích Mark (1984) a O’Callaghan et Mark (1984). Jeho princip je následující: pro každou buňku DEM jsou spočítány jednotlivé sklony do všech jejích osmi sousedů podle následujícího vztahu:
Sí =
z − zi , D ( z , zi )
(2.2.1)
kde Si je sklon ve směru i-tého souseda, z je elevace příslušné středové buňky, zi je elevace itého souseda a D(z,zi) je horizontální vzdálenost od středu dané buňky do středu jejího i-tého souseda. Následně je vybrán směr s největším sklonem a je-li tento sklon kladný, je dané středové buňce tento směr přiřazen coby směr odtoku. Vzhledem k porovnávání sklonů a vzhledem k pravidelnosti sítě DEM je možné jmenovatel zlomku ve vztahu (2.2.1) nahradit hodnotou 1 pro kardinální resp.
2 pro diagonální sousedy. V případě, že je nalezený největší
sklon menší nebo roven nule, není dané buňce přiřazen žádný směr odtoku a buňka je označena buď jako součást uzavřené deprese nebo plošiny (viz kap. 2.3 a 2.4). Základní předností tohoto algoritmu je právě jeho jednosměrnost, tzn. že každé buňce je přiřazen směr odtoku pouze do jedné jediné další buňky (příp. do žádné), a to ve směru největšího spádu (viz Obr 2.2.1.). Z toho vyplývá i snadná implementace výpočtu přispívající plochy, která může být provedena několika způsoby.
22
Obr. 2.2.1. Výběr směru odtoku z dané buňky (uprostřed okna) D8 algoritmem. Číslice značí hodnoty nadmořských výšek, modré šipky značí směry do jednotlivých sousedů středové buňky, z nichž je vybrán směr s největším spádem, označený červenou šipkou.
První způsob (Martz et De Jong, 1988; Martz et Garbrecht, 1992) je založen na metodě prohledávání do hloubky (depth first search), kdy je z každé buňky sledována trasa podél identifikovaných směrů odtoku a buňkám podél této trasy jsou postupně navyšovány hodnoty přispívající plochy 8. Protože trasování jednotlivých odtokových cest nezačíná od buněk bez přítoku, tedy od buněk okraje příslušného povodí, ale podle pořadí dané buňky při prohledávání DEM (způsobem „řádek po řádku“), dochází přirozeně k tomu, že je řadu tras nutno procházet opakovaně. To může v případě velkých DEM vézt k neúměrnému nárůstu potřebného výpočetního času, neboť složitost je v nejhorším případě O(n2), kde n je počet buněk DEM. Mnohem účinnější řešení je naopak sledování odtokových tras vzhůru, proti směru odtoku. Zde lze totiž využít toho, že pokud algoritmus při trasování narazí na buňku, pro níž již byla hodnota přispívající plochy spočítána v předchozích krocích, je možné tuto již vypočtenou hodnotu jednoduše k příslušné buňce celou přičíst a není třeba trasu znovu celou procházet. Zápis tohoto řešení s použitím rekurze uvedl Freeman (1991):
Catch ...
matice hodnot přisp. plochy, na začátku inicializovaná nulami
x
...
symbolický index procházející všechny buňky DEM
k
...
symbolický index procházející všechny sousedy dané buňky
function CatchCalc(x); begin if Catch(x) = 0 then begin Catch(x):= 1;
for k:= 1 to 8 do 8
Vzhledem k tomu, že u D8 algoritmu odtéká vždy celá buňka do některé sousední, při akumulaci je možné přičítat hodnotu 1, jinými slovy počítat pro každou buňku počet buněk, které jsou touto buňkou odvodňovány. Je-li třeba získat jako výstup z algoritmu hodnoty odpovídající skutečné přispívající ploše, hodnota počtu buněk přispívající plochy se jednoduše vynásobí velikostí plochy buňky DEM.
23
if (buňka k vede do buňky x) then Catch(x):= Catch(x) + CatchCalc(k)
//rekurzivní volání funkce
end; result:= Catch(x)
end; Složitost řešení je O(n), nicméně rekurzivní volání funkce může při velkých DEM vézt k vysokým nárokům na operační paměť, v níž je třeba uchovávat mezivýsledky výpočtu. Jiné řešení podali O’Callaghan et Mark (1984). Je možné se na ně dívat jako na prohledávání do šířky (breadth first search), začínající vždy od buněk bez přítoku, tedy od okrajů povodí. Algoritmus pracuje následovně: 1. Pro každou buňku DEM spočítej počet jejích přítoků. 2. Opakuj následující krok pro všechny buňky DEM s nulovou hodnotou počtu přítoků. 3. Navyš hodnotu přispívající plochy o jedničku všem buňkám, jejichž je daná buňka přítokem. Těmto buňkám zároveň sniž hodnotu počtu přítoků o jedničku. 4. Opakuj kroky 2. a 3., dokud zbývají nějaké nezpracované buňky. Tím, že je DEM zpracováván „odshora dolů“, tedy od okrajů povodí k uzávěrům, vyhýbá se algoritmus nutnosti procházet některé trasy opakovaně a hodnoty přepočítávat. Nicméně velkou nevýhodou je nutnost v každém kroku znovu prohledat celý DEM za účelem nalezení bezpřítokých buněk9 (krok 2.). Typickou vlastností D8 algoritmu je skutečnost, že jím simulovaný povrchový odtok vždy reprezentuje pouze konvergentní tok. V žádném místě DEM není pomocí něj možné vyjádřit divergenci (dělení či disperzi) toku. To může být viděno z různých hledisek buď jako výhoda (např. Tarboton, 1997; Jones, 2002) či nevýhoda (Freeman, 1991; Quinn et al, 1991; Holmgren, 1994 ad.). Výhodou této vlastnosti je, že hodnota přispívající plochy ve směru toku vždy pouze narůstá, což je žádoucí zejména při extrakci sítě vodních toků, kdy je síť identifikována pomocí prahové hodnoty přispívající plochy. Je zde totiž zaručeno, že pokud
9
Překonání tohoto nedostatku je součástí autorovy implementace popsané v kap. 3.1.7.7.
24
nějaká buňka dosáhla této prahové hodnoty, a je tedy prohlášena za buňku vodního toku, pak zcela určitě tuto hodnotu dosáhly i všechny buňky nacházející se pod touto buňkou na stejné odtokové trase. Tak je zajištěna spojitost výsledné extrahované sítě vodních toků, což v případě štěpení odtoku mezi více buněk (vícesměrný odtok) nastat nemusí. Nevýhodou upřednostnění konvergence toku je na druhé straně špatné vystižení odtoku v divergentních tvarech terénu, které jsou velmi časté především v horních partiích svahů. Tato skutečnost vedla ke vzniku dalších algoritmů, dovolujících rozdělení toku do více směrů (Freeman, 1991; Quinn et al., 1991, 1995; Pilesjö et al., 1998; Kim et Lee, 2004; Seibert et al., 2007) a tím reprezentaci divergence toku. Jinou nevýhodou D8 algoritmu je diskretizace směrů odtoku do osmi povolených směrů, oddělených od sebe úhlem 45°, což ve výsledných odtokových trasách, a tím i v extrahovaných sítích vodních toků, vede jednak k lomeným „cik cak“ tvarům, jednak k posunu skutečného směru největšího spádu svahu, a tedy směru odtoku, k jednomu z osmi povolených směrů. Tyto v literatuře velmi dobře popsané jevy řeší řada alternativních algoritmů, a to jak výše zmíněných vícesměrných (vystihujících divergenci toku), tak i takových, které se snaží o zachování konvergence toku (Fairfield et Leymarie, 1991; Tarboton, 1997).
Obr. 2.2.2. Odtok simulovaný D8 algoritmem na nakloněné rovině. Při diagonálním směru odtoku (tlusté černé šipky) převádí D8 algoritmus do středové buňky pouze vodu z červeně zvýrazněné buňky v levém horním rohu (červené šipky). Přitom ve skutečnosti do buňky teče i voda z buněk zeleně označených (nahoře a vlevo, zelené šipky). Skutečné množství vody vtékající do středové buňky je tak dvojnásobné oproti množství simulovanému D8 algoritmem.
Vedle uvedených nevýhod si Costa-Cabral a Burges (1994) všímají jiného omezení, vyplývajícího z bodové reprezentace terénu a následné liniové (jednorozměrné) reprezentace toků. Každá buňka DEM je v D8 přístupu reprezentována jediným bodem, umístěným do jejího středu, a odtok z buňky je reprezentován orientovanou úsečkou spojující tento bod se
25
středovým bodem některé ze sousedních buněk. Touto jednorozměrnou spojnicí je však předávána hodnota přispívající plochy reprezentující celou plochu dané buňky, čímž dochází v některých případech k podhodnocení či nadhodnocení hodnot přispívající plochy. V případě plochého svahu (viz Obr. 2.2.2.), na němž D8 algoritmus vytváří paralelní linie v jednom z osmi povolených směrů, dochází k podhodnocení přispívajících ploch, které se zvyšuje čím více se skutečný směr sklonu svahu blíží směru diagonálnímu (vzhledem k dané poloze mřížky DEM). Pro kardinální směr k podhodnocení nedochází, pro diagonální směr je podhodnocení dané faktorem 2 (hodnoty přispívající plochy jsou poloviční oproti skutečným hodnotám). V případě, kdy směr sklonu svahu leží mezi směrem kardinálním a diagonálním, je hodnota faktoru podhodnocení někde mezi 1 a 2. Vedle podhodnocení přispívajících ploch může v některých případech dojít naopak k nadhodnocení, např. při odtoku po kuželu (viz Obr. 2.2.3.).
Obr. 2.2.3. Čtvercový DEM velikosti 10x10 buněk reprezentuje pravidelnou kuželovitou horu s kruhovými vrstevnicemi. Pro vybrané tři buňky je znázorněna přispívající plocha (odpovídající hodnotě akumulace toku) v případě D8 algoritmu (a) a ve skutečnosti (b). Jak je z obrázku patrné, u bodu B dochází v případě D8 algoritmu k cca dvojnásobnému nadhodnocení akumulace toku, u bodu A dochází naopak k podhodnocení. Bod C je D8 algoritmem reprezentován správně.
2.2.3 Jednosměrný náhodný odtok – Rho8 Metodu přednesli Fairfield a Leymarie (1991), vedeni snahou o zlepšení reprezentace skutečných směrů odtoku, posunutých D8 algoritmem do jednoho z osmi směrů (viz výše). Vycházeli z následující představy: pokud směr odtoku z dané buňky se nachází někde mezi dvěma povolenými směry svírajícími úhel 45°, daná buňka se musí „rozhodnout“, do které ze sousedních buněk bude směřovat. Je tedy zachován předpoklad, že odtok z dané buňky je
26
veden vždy nejvýše do jedné sousední buňky a nedochází k dělení toku. Problém nastává v terénu, kde příslušný sklon, odchylující se od povolených osmi směrů daných mřížkou DEM, sdílí větší množství sousedících buněk. Tím vzniká plochý svah, na němž se při aplikaci D8 algoritmu všechny buňky „rozhodnou“ stejně, čili si vyberou jeden z možných směrů (všechny ovšem stejný) a vzniknou tak paralelní linie (trasy), posunuté od skutečného směru k vybranému povolenému směru. Naproti tomu přístup Fairfielda a Leymarieho spočívá v požadavku, aby se každá buňka takového svahu „rozhodla“ pro jinou ze dvou možností, a to v takovém poměru, aby výsledný celkový směr odtokových tras odpovídal skutečnému směru sklonu svahu. Do „rozhodování“ buněk, který směr si zvolí, je zakomponován náhodný prvek, a to tak, že jsou sklony, počítané z dané buňky do jejích kardinálních sousedů, vynásobeny náhodným číslem z intervalu (0.5,1)10. Následný výběr nejvyššího sklonu (tzv. rho-sklonu, čili sklonu vynásobeného náhodnou složkou) je pak proveden stejně jako v případě D8 algoritmu. Přidání náhodné složky má za následek, že občas je buňkou vybrán sklon, který neodpovídá největšímu sklonu v původním DEM, tedy neodpovídá směru, který by byl zvolen D8 algoritmem. Náhodná složka ρ má distribuční funkci danou předpisem:
0 P ( ρ ≤ x ) = 2 − 1 x 1
pro x < 0.5 pro 0.5 ≤ x < 1 . pro x > 1
(2.2.2)
Přitom pro samotné, dostatečně přesné generování náhodné složky doporučují autoři vzorec:
ρ=
1 , 2−r
(2.2.3)
kde r je náhodné číslo z intervalu (0,1) s rovnoměrným rozdělením. Výpočet rho-sklonů pak probíhá podle vzorce S ρ = z ( p ) − z (q ) pro kardinální sousedy a S ρ = ρ ⋅ [z ( p ) − z (q )] pro diagonální sousedy, kde Sρ je rho-sklon, p je středová buňka, q je sousední buňka středové buňky a z(p) resp. z(q) je elevace buňky p resp. q.
Popisovaná Rho8 metoda je v citovaném článku (Fairfield et Leymarie, 1991) doplněna variantou, uvažující pouze čtyři možné směry odtoku z dané buňky, čili pouze její kardinální sousedy. Tato metoda je nazývána Rho4. 10
27
Testování metody na pokusných, uměle vytvořených plochách i na skutečných DEM reprezentujících reálnou topografii prokázalo její použitelnost (Fairfield et Leymarie, 1991), nicméně metoda se přesto v praxi příliš neujala, a to především ze dvou důvodů. Jednak jde o náhodný charakter výsledku (výsledek je při každém novém průběhu algoritmu odlišný a nelze jej proto zopakovat), jednak o skutečnost, že odtok částečně nerespektuje informaci uloženou v DEM. Vedle nápravy špatných směrů lepšími může totiž vézt v některých případech naopak k náhradě správných směrů špatnými, neboť snížením hodnoty původně největšího sklonu až na polovinu (ρ = 0.5) může způsobit výběr jiného směru, který v daném kontextu může být zcela nevhodný. Vedle toho, jak upozorňují Costa-Cabral a Burges (1994), vede algoritmus ke špatné reprezentaci toku na plochých svazích, kde je u odtokových tras očekáván vznik paralelních linií (nedochází ani k divergenci ani ke konvergenci toku). Náhodný prvek při výběru směru odtoku však způsobuje nepravidelné spojování těchto linií, čímž dochází ke konvergenci. Jakmile ke spojení toku a tím k jeho koncentraci dojde, zvýší se příslušně hodnota přispívající plochy, přičemž vzhledem k jednosměrnosti algoritmu neexistuje způsob, jak by se tok mohl opět rozdělit. Tímto způsobem dochází k postupné akumulaci chyby, vedoucí k výraznému nadhodnocení přispívající plochy u buněk takto propojených a naopak podhodnocení u buněk, jimž se tímto „kličkováním“ odtok z výše položených partií vyhnul. Pokud navíc skutečný směr sklonu souhlasí s některým z povolených směrů daných mřížkou DEM, je toto spojování linií zcela nadbytečné a namísto zlepšení vede naopak ke zhoršení reprezentace skutečného směru odtoku, který by D8 algoritmus vystihl přesně. Jelikož je algoritmus vlastně jen jakousi úpravou D8 algoritmu při zachování všech podstatných předpokladů, trpí stejně jako D8 algoritmus podhodnocováním a nadhodnocováním hodnot přispívající plochy v důsledku bodové reprezentace terénu a jednorozměrné reprezentace toku, jak bylo popsáno v předešlé části pro případ D8 algoritmu (Costa-Cabral et Burges, 1994, viz Obr. 2.2.2.).
2.2.4 Vícesměrný odtok – MFD8 Základní myšlenkou je, že voda při simulaci odtoku neteče jen ve směru největšího spádu, ale v určité míře i v ostatních směrech, v nichž existuje kladný sklon. To je vyjádřeno i v názvu algoritmu MFD8 – Multiple Flow 8-Directions. Poměr, v němž je voda (nebo lépe
řečeno hodnota přispívající plochy) rozdělována mezi jednotlivé směry, je dán právě velikostmi příslušných sklonů, podle vztahu (Freeman, 1991):
28
∆Ai = A
tan β i
p
,
n
∑ tan β j =1
(2.2.4)
p j
kde ∆Ai je přírůstek přispívající plochy ve směru i (za předpokladu, že v tomto směru existuje kladný sklon), A je hodnota přispívající plochy dané buňky, tanβi je sklon ve směru i (počítaný stejně jako v D8 algoritmu), n je počet směrů s kladným sklonem a p je volitelný parametr, upravující míru divergence toku. Čím je parametr p vyšší, tím více je upřednostněn větší sklon nad menším, čímž se algoritmus blíží D8 algoritmu. Při n→∞ k němu teoreticky konverguje. Problematikou zavedení více směrů odtoku se zabývá Holmgren (1994). Podle něj i při uvažování více odtokových směrů stále platí předpoklad, že v daném bodě terénu11 voda teče pouze ve směru největšího spádu. Takových bodů je však uvnitř každé buňky DEM teoreticky nekonečně mnoho a plocha buňky je v reálném terénu vždy nějak zakřivená, takže pro různé body dané buňky ve skutečnosti existují různé směry největšího spádu. Pro celkový odtok z buňky do sousedních buněk jsou pochopitelně určující směry, v nichž existuje kladný sklon, takže jde o to určit, kolik (procent) bodů dané buňky poteče v tom kterém směru s kladným sklonem. Jedním z možných řešení je koncept tzv. „vrstevnicové délky“ (contour length), který zavedli Quinn et al. (1991). Vychází z jednoduchého poznatku, že voda vždy teče kolmo na vrstevnice, přičemž množství vody odtékající z dané buňky závisí na délce vrstevnicového úseku, přes který voda v daném směru teče. Z tohoto pohledu není v případě D8 algoritmu zapotřebí vrstevnicovou délku uvažovat, neboť jelikož zde voda teče vždy pouze v jednom směru, vystačí se s předpokladem, že příslušný vrstevnicový úsek je vždy stejně dlouhý a odpovídá délce hrany buňky (vodorovnému rozlišení DEM). S rostoucím počtem odtokových směrů z dané buňky však přirozeně roste i délka vrstevnicového úseku, přes který voda buňku opouští. S každým dalším kardinálním směrem odtoku narůstá tato délka o délku hrany buňky, u diagonálních směrů je věc o to složitější, že voda buňku opouští přes roh, tedy jakoby jedním bodem, což je však klamný dojem vzniklý čtvercovou diskretizací terénu. Ve skutečnosti i v diagonálním směru nějaká délka příslušného vrstevnicového úseku existuje. Větší počet odtokových směrů zkrátka odpovídá zakřivenější (a tedy delší) vrstevnici. 11
Ačkoli na jiných místech mám pod pojmem „bod“ většinou na mysli celou buňku DEM, v tomto případě jde o skutečný, nekonečně malý geometrický bod.
29
Jednoduchý odhad vrstevnicových délek pro kardinální a diagonální směry odtoku je znázorněn na Obr. 2.2.4. (Quinn et al., 1991). Výsledný vzorec pro výpočet poměru, v jakém je voda rozdělována do jednotlivých směrů, je následující:
∆Ai = A
tan β i Li
∑ (tan β L ) n
j
j =1
,
(2.2.5)
j
kde jednotlivé proměnné odpovídají vzorci (2.2.4), pouze přibyla délka vrstevnicového úseku Li kolmého na daný směr i. Tato délka je při schematizaci uvedené na Obr. 2.2.4. rovna hodnotám 0.5*hr resp. 0.354*hr pro kardinální resp. diagonální směry odtoku, kde hr je horizontální rozlišení DEM (grid size). Mírně odlišné hodnoty uvádějí Wolock a McCabe (1995), kteří pro kardinální sousedy doporučují 0.6*hr a pro diagonální 0.4*hr, což zdůvodňují tím, že při těchto hodnotách, a při uvažování všech osmi možných směrů odtoku, odpovídá součet vrstevnicových délek celkové délce hranice buňky (4*hr). Jak ukázala srovnávací studie autorů Pan et al. (2004), obě varianty se ve výsledku liší zcela zanedbatelně.
Obr. 2.2.4. Schematizace vrstevnicové délky pro kardinální (L1) a diagonální (L2) směry.
L1 = 0.5*gs L2 = 0.354*gs
Holmgren (1994) myšlenku vrstevnicové délky kritizuje, přičemž namísto zjednodušujícího schématu určujícího poměr, v jakém bude přispívající plocha mezi jednotlivé směry rozdělována (tedy namísto pevného určení hodnot vrstevnicových délek), doporučuje odhadnout tento poměr nějakou vhodnou empirickou funkcí, která by umožnila některé směry zvýhodnit nad jinými. Volbou funkce tanβp tak dospívá k původnímu Freemanovu vzorci (2.2.4). Parametr p je volitelný a zajišťuje tak onu empiričnost vztahu. Nicméně doporučované hodnoty tohoto parametru se u jednotlivých autorů značně liší. Zatímco Freeman (1991) na základě pokusů na experimentálních jednoduchých plochách
30
dospěl k hodnotě p = 1.1, Holmgren po analýze tří skutečných povodí v severním Švédsku doporučuje hodnoty v rozmezí 4 – 6. Navíc Holmgren předpokládá zvyšující se hodnoty parametru se zjemňováním horizontálního rozlišení DEM. Sørensen et al. (2006) dospěli k závěru, že hodnota parametru by měla stoupat se svažitostí krajiny, tedy od nížinných po horské reliéfy. Kombinací předchozích dvou přístupů, tedy vrstevnicové délky a exponentu p, dospěli Quinn et al. (1995) ke vztahu:
tan β i Li p
∆Ai = A
∑ (tan β n
j =1
p j
Lj
)
,
(2.2.6)
kde jednotlivé členy odpovídají členům ve vztahu (2.2.5). Ať již dosadíme za parametr p jakoukoli hodnotu, bude to při použití výše uvedených vztahů hodnota pro všechny buňky stejná, tedy prostorově konstantní. Jinými slovy bude vystihovat průměrné poměry v dané krajině, což může nicméně vézt k lokálním chybám. Praxe toto skutečně potvrzuje (Quinn et al., 1995; Wolock et McCabe, 1995 aj.), a to zejména v případě nedostatečné konvergence toku v místech se silně konvergentní topografií, tedy v blízkosti vodních toků. Zde dochází jednak ke vzniku nepatřičně širokých „proudů“ s vysokou hodnotou přispívající plochy, které při případné extrakci sítě vodních toků vyústí v neúměrně široké vodní toky, jednak dochází vlivem vysoké míry divergence k dělení toku a případnému opětnému spojování, což je též většinou nežádoucí (pokud se samozřejmě nejedná o řídké případy obtékání překážek apod.). Vedle dělení toku může navíc vlivem rozdělení vysoké hodnoty přispívající plochy mezi několik sousedů dojít ke vzniku nespojité sítě vodních toků. Tyto problémy vedly k pokusům o prostorově rozlišenou míru divergence toku (tedy prostorově distribuované hodnoty exponentu p ve vzorci (2.2.6), odpovídající pokud možno skutečným podmínkám. Nejjednodušší řešení spočívá v odlišné reprezentaci toku v místech permanentních vodních toků. Zatímco na většině plochy DEM je použit výše popsaný SFD8 algoritmus s příslušnou mírou disperze (čili hodnotou exponentu p), odtok z buněk, reprezentujících stálý vodní tok, je veden pouze ve směru nejvyššího sklonu (čili s teoretickou hodnotou exponentu p = ∞), tedy zcela v duchu D8 algoritmu (Quinn et al., 1995; Sørensen et al., 2006). Zde se ovšem vynořuje další problém, a to je určení, které buňky do stálých vodních toků spadají. K tomu je pochopitelně možné použít jakoukoli metodu extrakce sítě vodních toků (viz kap.
31
2.5), nicméně naprostá většina z nich vychází z jednoduché myšlenky, že daná buňka do permanentního vodního toku patří tehdy, pokud dosáhla určité zvolené prahové hodnoty přispívající plochy (např. Mark, 1984; Quinn et al., 1995; Fairfield et Leymarie, 1991; Garbrecht et Martz, 1999a ad.). Tím, že tyto buňky odtékají pouze ve směru největšího spádu, je zaručena propagace jejich vysoké hodnoty přispívající plochy pouze vodním tokem, aniž by docházelo k nežádoucí disperzi a tím k dělení nebo přerušení toku či vzniku příliš širokých toků. Jiný způsob navrhli Quinn et al. (1995). Jejich metoda také využívá znalosti polohy vodních toků, resp. znalosti prahové hodnoty přispívající plochy (CIT, Channel Initiation Threshold), nicméně tak, aby směrem od předpokládané divergentní topografie (horní části svahů) ke konvergentní topografii (v dolní části svahů, tedy blíže vodním tokům) vzrůstala hodnota exponentu p ve vzorci (2.2.6). To je vyřešeno pomocí skutečnosti, že se zmenšující se vzdáleností k vodnímu toku (a tedy k buňkám, které dosáhly CIT) vzrůstá hodnota přispívající plochy. Za exponent p ve vzorci (2.2.6) je dosazena hodnota spočítaná jako:
h
A p= + 1 , CIT
(2.2.7)
kde A je hodnota přispívající plochy dané buňky, CIT je příslušná zvolená prahová hodnota přispívající plochy a h je volitelný parametr. Jelikož výraz A/CIT dosahuje nejčastěji hodnoty mezi 0 a 1, je k němu přičtena jednička, aby výsledný exponent p byl větší než 1. Je zřejmé, že blíží-li se hodnota přispívající plochy dané buňky nule, exponent p se blíží k jedné, naopak blíží-li se přispívající plochy k hodnotě CIT, exponent p se blíží k hodnotě 2h. Problémem zůstává správné určení hodnoty CIT, o čemž bude pojednáno v kap. 2.5. Vylepšený postup stanovení prostorově distribuované hodnoty exponentu p navrhli Kim a Lee (2004). Spočívá opět v myšlence volit hodnotu exponentu na základě hodnoty přispívající plochy, nicméně zavedením dalších volitelných (a optimalizovatelných) parametrů umožňuje tento vztah (exponent p versus hodnota přispívající plochy) upravit. Postup je následující: Nejprve se spočítají hodnoty přispívající plochy podle vztahu (2.2.5), s tím že odtok z buněk, které překročily zvolenou hodnotu CIT, je veden ve směru největšího spádu (D8 přístup). Buňkám, které se takto staly buňkami vodních toků, je přisouzena zvolená maximální hodnota parametru pmax. Hodnota parametru p pro ostatní buňky je odvozena z funkčního vztahu, vyjadřujícího závislost hodnoty parametru na hodnotě přispívající plochy: 32
dp (i, j ) = c ⋅ An , dA
(2.2.8)
kde i a j jsou prostorové souřadnice dané buňky, A je hodnota přispívající plochy dané buňky a c a n jsou parametry mocninné funkce. Integrací dostáváme: p(i, j ) = c1 ⋅ An+1 + c2 ,
(2.2.9)
přičemž konstanty c1 a c2 lze odvodit z okrajových podmínek. První okrajovou podmínkou je buňka okraje povodí, pro kterou platí: A = gs 2
p(i, j ) = 1 ,
a
kde hr je horizontální rozlišení DEM (grid size). Druhou okrajovou podmínkou je pak buňka vodního toku, pro kterou platí: A = CIT
p (i, j ) = pmax .
a
Z toho pro hodnoty konstant c1 a c2 dostáváme:
c1 =
c2 =
pmax − 1 CIT
n +1
( )
− gs 2
n +1
,
( ) − CIT (gs ) − CIT
pmax ⋅ gs 2
2 n +1
n +1
n +1
(2.2.10)
n +1
.
(2.2.11)
Takto je tedy určen exponent p pro všechny buňky DEM. Poté se znovu provede simulace odtoku včetně nalezení sítě vodních toků, tentokrát však podle vzorce (2.2.6) a s dosazením příslušných hodnot exponentu p. Zbývá tedy pouze určení hodnot parametrů pmax, CIT a n. Autoři (Kim et Lee, 2004) volí pro tento účel optimalizaci pomocí genetického algoritmu, přičemž optimalizovaná objektivní
33
funkce vyjadřuje odchylku polohy nalezených buněk vodních toků od polohy skutečných vodních toků:
n . r .c . minimize ∑ k =1
(xm (k ) − xc (k ))2 + ( ym (k ) − yc (k ))2 ,
(2.2.12)
kde n.r.c. je počet buněk vodních toků (number of river cells), xm(k) resp. ym(k) je x-ová resp. y-ová souřadnice k-té buňky skutečného vodního toku a xc(k) resp. yc(k) je x-ová resp. y-ová souřadnice k-té buňky optimalizovaného vodního toku. Jak je patrno, popsaná objektivní funkce vyžaduje znalost skutečné polohy vodních toků, což představuje hlavní nevýhodu algoritmu, jak jej podávají Kim a Lee (2004). Na druhou stranu parametry n, pmax i CIT mohou zůstat uživatelsky volenými parametry, čímž potřeba dodatečných informací odpadá. Velice zajímavý je vliv jednotlivých parametrů na výslednou prostorovou distribuci exponentu p a tedy na distribuci míry konvergence toku. Čím vyšší je hodnota parametru pmax, tím větší hodnoty exponentu p jsou přisuzovány buňkám na svazích, tedy i v divergentních partiích terénu, čímž se algoritmus přibližuje D8 algoritmu. Hodnota parametru n = 0 znamená rovnoměrné (lineární) rozložení hodnot exponentu p vzhledem k hodnotám přispívající plochy. Při n < 0 je vztah logaritmický, což znamená větší hodnoty exponentu p (a tedy větší míru konvergence) v horních, konvexních partiích terénu, vyznačujících se pochopitelně nižšími hodnotami přispívající plochy. Naopak při n ≥ 1 se vztah stává exponenciálním, což znamená větší míru divergence toku v horních partiích svahů. Tato variabilita umožňuje oproti metodě autorů Quinn et al. (1995) mnohem lepší přizpůsobení odtokového algoritmu danému typu krajiny, ovšem za cenu zavedení dvou nových parametrů, n a pmax.
Výše popsané způsoby prostorově distribuovaného odhadu parametru p mají všechny jednu společnou nevýhodu, spočívající v tom, že ať už bude nalezený princip, podle nějž má být hodnota parametru v různých místech terénu určena, jakýkoli, vždy bude odpovídat jen určitému jednomu typu topografie, tedy terénu buď s převládajícími konvexními (divergentními) nebo konkávními (konvergentními) tvary. V případě silného zastoupení obou typů tvarů se však bude jednat o jakýsi kompromis, dovolující lokální třeba i velkou chybu v reprezentaci odtoku a přispívajících ploch. Jestliže např. algoritmus Kima a Leea (2004) nalezne hodnoty parametrů upravujících distribuci exponentu p podle hodnot přispívající plochy tak, že bude při simulaci odtoku preferována větší disperze v divergentních partiích 34
terénu, pak to může být řešení vhodné jen pro určitou část (ačkoli třeba většinovou) daného povodí, přičemž ve zbývající části nemusí vůbec danému terénu odpovídat. Tím může i při prostorově distribuované a parametricky kontrolované míře divergence místně docházet k přílišné disperzi toku. Navíc přílišnou disperzi může algoritmus projevovat i v případech divergentních terénů (viz kužel na Obr. 2.2.5. vpravo), kde díky nízkým hodnotám přispívající plochy zpravidla nedochází k jejímu omezení (p → 1), či na plochých svazích(viz Obr. 2.2.5. vlevo), kde je možné ve skutečnosti předpokládat vznik paralelních linií (žádná divergence ani konvergence toku), jak je reprezentuje D8 algoritmus.
Obr. 2.2.5. Znázornění akumulace toku při použití vícesměrného algoritmu Quinna et al. (1991). Akumulace toku je vyjádřena pro zeleně obtaženou buňku, velikost červených čtverečků přibližně odpovídá jejím relativním hodnotám. Vlevo je případ nakloněné roviny, uprostřed pravidelného kuželu a vpravo pravidelné kónické jámy. Upraveno podle Costa-Cabral et Burges, 1994.
2.2.5 Jednosměrný odtok – SFD∞ Tento algoritmus navrhl Tarboton (1997), ve snaze zachovat převažující konvergenci toku (proto jednosměrný – single flow), přitom však zlepšit reprezentaci skutečných směrů cest odtoku oproti D8 přístupu. Nekonečno v názvu algoritmu symbolizuje výběr nikoli z osmi povolených směrů, jako je tomu u D8 algoritmu, ale teoreticky z nekonečně mnoha hodnot, v rozsahu 0 – 360°. Princip hledání směru největšího spádu je znázorněn na Obr. 2.2.6. Prostor kolem dané středové buňky, vymezený středy všech sousedních buněk, je rozdělen na jednotlivé trojúhelníkové plošky, vytvořené vždy středem středové buňky a středy dvou sousedních, vzájemně sousedících buněk. Každou takovou ploškou je proložena rovina a na ní je vypočten směr největšího spádu. Pokud tento směr vybočuje z dané trojúhelníkové plošky, je nahrazen příslušnou (bližší) hranou plošky. Následně jsou mezi sebou porovnány směry nalezené na jednotlivých ploškách a z nich je vybrán ten, který odpovídá největšímu spádu.
35
Pokud se nalezený směr shoduje s hranou některé plošky, což jinými znamená, že největší spád směřuje přímo do středu některé sousední buňky, pak je odtok veden do této sousední buňky. Ve většině případů však nalezený směr největšího spádu směřuje někam mezi středy dvou sousedních buněk. Potom je hodnota přispívající plochy rozdělena mezi tyto dvě sousední buňky, a to v poměru daném velikostmi úhlů, které nalezený směr svírá s přímými směry do těchto sousedních buněk (čili s hranami příslušné plošky). Čím větší je tento úhel, jinými slovy čím více je směr od přímé spojnice odkloněn, tím menší část odtoku je danému přímému směru přisouzen. Váhami, jimiž je v tom kterém přímém směru hodnota přispívající plochy vynásobena, jsou tedy převrácené hodnoty příslušných úhlů (úhly α1 a α2 na Obr. 2.2.6 vlevo). Z řečeného vyplývá, že algoritmus ve skutečnosti většinou rozděluje tok do dvou (sousedících) směrů, pročež je někdy namísto single flow nazýván bi flow (Pan et al., 2004), někdy dokonce multiple flow, což je nicméně zavádějící, neboť algoritmus se ve skutečnosti snaží o nalezení jediného směru, odpovídajícího největšímu spádu, a určitá míra disperze toku je jen „nutnou daní“ za lepší reprezentaci tohoto směru.
Obr. 2.2.6. Vlevo: osm trojúhelníkových plošek, tvořených středy buněk okna velikosti 3x3 buňky (černě), a vyznačený směr největšího spádu (zelená šipka). Vpravo: schema trojúhelníkové plošky. Upraveno podle Tarboton, 1997.
Výpočet směru největšího spádu na rovině určené třemi body si předvedeme na případu jedné plošky (Tarboton, 1997). Značkou en budu značit elevaci n-té buňky, n = 0 odpovídá středové buňce, n = 1 až 8 odpovídá jednotlivým sousedům. Značka d bude znamenat vždy vzdálenost mezi sousedícími buňkami (viz Obr. 2.2.6. vpravo). Sklon dané plošky je možné charakterizovat vektorem (s1,s2) o složkách: s1 = (e0 − e1 ) d1
s2 = (e1 − e2 ) d 2 .
a
36
(2.2.13)
Směrový úhel r velikost s sklonu je pak možné spočítat jako:
s r = arctan 1 , s2
(2.2.14)
s = s12 + s22 .
(2.2.15)
Pokud r < 0, pak směr největšího spádu vybočuje z oblasti vymezené trojúhelníkovou ploškou a je třeba dosadit: r=0
s = s1 ,
a
(2.2.16)
podobně jestliže r > arctan(d2/d1) (směr vybočuje na druhou stranu), je třeba dosadit:
d r = arctan 2 d1
s=
a
e0 − e2 d12 + d 22
.
(2.2.17)
2.2.6 Vícesměrný odtok – MFD∞ Logickým rozšířením výše popsaného Tarbotonova algoritmu je povolení odtoku do více směrů, podobně jako algoritmus MFD8 takto navazuje na SFD8 (Seibert et McGlynn, 2007). Princip výpočtu směru sklonu na jednotlivých trojúhelníkových ploškách zůstává zcela stejný jako v případě algoritmu SFD∞ (Tarboton, 1997), nicméně posléze není vybrán směr odpovídající největšímu spádu, ale jsou povoleny všechny nalezené směry s kladným sklonem. Odtok (hodnota přispívající plochy) je rozdělen mezi jednotlivé směry na základě velikosti příslušných sklonů, obdobně jako v případě MFD8 algoritmu (Freeman, 1991; Quinn et al., 1991). Rozdělování odtoku je nicméně o trochu složitější, neboť v každém vybraném směru odtoku je většinou nutné odtok rozdělit do dvou sousedících buněk, jako tomu bylo v případě jednosměrném (SFD∞). Nejprve je tedy jednotlivým směrům přiřazena určitá část odtoku (podle velikosti odpovídajícího sklonu), následně jsou tyto hodnoty rozděleny mezi příslušné dvě sousední buňky, mezi jejichž středy odtok směřuje. Dělení mezi
37
tyto dvě buňky opět probíhá podle poměru úhlů, o něž je daný směr odkloněn od přímé spojnice s příslušnou sousední buňkou. Zvláštní ošetření navíc vyžadují případy, kdy nalezený směr vybočuje z příslušné plošky a je tedy nahrazen přímým směrem do odpovídající sousední buňky, nebo stejně tak případ, kdy se s tímto přímým směrem nalezený směr shoduje. Takový směr je ponechán mezi nalezenými odtokovými směry jen v tom případě, kdy jej sdílí dvě sousedící plošky. V tomto velice logickém opatření se skrývá velká přednost popisovaného algoritmu oproti algoritmu MFD8, neboť je tím zajištěno, že vybrané odtokové směry vždy směřují do lokálních minim elevací sousedních buněk. Zatímco tedy MFD8 algoritmus bere v úvahu každý směr, v němž existuje kladný sklon, MFD∞ algoritmus vynechává směry, které sice vykazují kladný sklon, ale nesměřují do lokálního minima. Tuto situaci dobře ilustruje Obr. 2.2.7., na němž by vedle odtokových směrů znázorněných zelenými šipkami nalezl MFD8 algoritmus ještě odtok do buňky 4 a mnohem více odtoku by přisoudil buňce 6.
Obr. 2.2.7. Okno velikosti 3x3 buňky s vyznačenými trojúhelníkovými ploškami spojujícími středy buněk. Zelené šipky znázorňují odtokové směry, nalezené MFD∞ algoritmem. Upraveno podle Seibert et McGlynn, 2007.
Oproti algoritmu MFD8 tak popisovaný algoritmus poněkud více reprezentuje konvergenci toku, přičemž divergenci připouští pouze tam, kde existuje skutečně silná divergence v topografii, v podobě několika lokálních minim, kudy může voda odtékat, jako je tomu např. na hřebenech či sedlech, či obecně na buňkách, kterými prochází rozvodnice (ať již celého povodí či nějakého podpovodí). V rámci takto nalezených směrů se však algoritmus snaží zachovat konvergenci toku, při současné snaze co nejlépe daný směr reprezentovat. Algoritmus tak lze z tohoto hlediska považovat za vyvážený kompromis mezi divergencí a konvergencí toku.
2.2.7 DEMON Název algoritmu DEMON, jehož autory jsou Costa-Cabral a Burges (1994), je zkratkou názvu Digital Elevation MOdel Networks. Autoři při návrhu algoritmu vycházeli ze snahy 38
jednak zachovat převažující konvergenci toku (nicméně s povolením určité minimální disperze v divergentních terénech) a jednak vyhnout se nevýhodám spojeným s D8 přístupem, tedy především problémům s diskretizací odtoku do osmi povolených směrů a s jednorozměrnou reprezentací toku. Costa-Cabral a Burges (1994) se oproti tomu snaží nalézt pro každou buňku DEM skutečný směr největšího spádu a reprezentovat odtok dvourozměrně, tedy pomocí jakýchsi „trubic“ či „proudů“ (flow tubes), jejichž šířka se může průběžně měnit (viz Obr. 2.2.8.).
Obr. 2.2.8. Modré šipky znázorňují nalezené odtokové směry, zeleně je vyznačen dvourozměrně reprezentovaný tok (flow tube), měnící svou šířku a tím vyjadřující divergenci či konvergenci toku. Upraveno podle Costa-Cabral et Burges, 1994.
Směr největšího spádu je hledán pomocí proložení roviny danou buňkou a hledáním směru spádu na této rovině. Přitom základním rozdílem mezi algoritmem DEMON a většinou ostatních algoritmů je odlišná diskretizace elevací do pravidelné sítě (mřížky). Zatímco ve většině algoritmů pracujících s DEM jsou pravidelně rozmístěné bodové hodnoty elevací umístěny vždy do středů jednotlivých buněk a každá bodová hodnota tak reprezentuje elevaci celé buňky (DEM pak má podobu jakéhosi „schodového modelu“, kdy v rámci dané buňky je elevace konstantní a na hranici se sousední buňkou se mění skokem), v případě algoritmu DEMON jsou jednotlivé bodové hodnoty umístěny v rozích příslušné buňky, takže plocha dané buňky může tvořit rovinu nebo být zakřivená. Vzhledem k tomu, že každá buňka je takto reprezentována čtyřmi hodnotami elevací, je možné pokoušet se plochu dané buňky aproximovat prokládáním nějaké jednoduché matematické plochy metodou nejmenších
čtverců. Costa-Cabral a Burges (1994) volí pro tento účel rovinu, na ní pak vypočítají směr největšího spádu a ten pro danou buňku uloží ve formě velikosti úhlu α od daného pevně zvoleného směru (např. od východního směru proti směru hodinových ručiček). Pomocí tohoto úhlu je tok (čili hodnota přispívající plochy) rozdělován mezi příslušné dva kardinální sousedy (viz Obr. 2.2.9). Tok směrem do diagonálních sousedů se neuvažuje, neboť zde voda proudí rohem buňky (a tedy nekonečně malým bodem), což vzhledem k dvourozměrné reprezentaci toku znamená nulovou šířku toku. Celková šířka toku přes hranici buňky, tedy vlastně vrstevnicová délka, je určena taktéž pomocí směrového úhlu α, podle vztahu:
39
L = gs ⋅ ( sin α + cos α ) ,
(2.2.18)
z čehož je zřejmé, že v případě přímého směru do kardinálních sousedů je L = hr a při diagonálním směru je L = hr*√2.
Obr. 2.2.9. Princip rozdělování toku do dvou kardinálních sousedů dané buňky. Červenou šipkou je vyznačen nalezený směr největšího spádu. Upraveno podle CostaCabral et Burges, 1994.
Výpočet přispívající plochy je uskutečněn podle schématu znázorněného na Obr. 2.2.10. Pro každou buňku DEM je určena plocha ovlivnění (Obr. 2.2.10 (a)), přičemž tvar hranic této plochy je v každé buňce podél této hranice rovnoběžný se směrem odtoku. Pro každou buňku v rámci plochy ovlivnění je pak spočteno, kolik vody z dané zdrojové buňky (na Obr. 2.2.10
červeně označená buňka v levém horním rohu) touto buňkou protéká. Princip uvedeného výpočtu pro zeleně označenou buňku je znázorněn na Obr. 2.2.10 (c) (příslušná část plochy zdrojové buňky protékající zeleně označenou buňkou je modře vyplněna), na Obr. 2.2.10 (b) jsou pak znázorněny spočtené hodnoty pro všechny buňky plochy ovlivnění, čili tzv. „matice ovlivnění“ (influence matrix). Tato matice je spočtena pro každou buňku DEM, celkové hodnoty přispívající plochy lze pak vypočítat sečtením všech takto vzniklých matic (pro případ na Obr. 2.2.10 by se tedy jednalo o součet třiceti šesti matic). V jednoduchých případech dává algoritmus velmi dobré výsledky (ibidem), přičemž skutečně řeší uvedené nevýhody algoritmu D8 i některé nevýhody algoritmu MD8, vyplývající z přílišné disperze toku. Nicméně jak uvádí Tarboton (1997), při aplikaci na složitější reálné topografie vzniká problém v tom, že jednotlivé roviny aproximující plochy buněk jsou na hranicích mezi buňkami disjunktní, čili na sebe nenavazují. Při určitém seskupení sousedících elevací tak může dojít ke vzniku špatných, intuici odporujících odtokových cest, kdy např. část vody z jedné buňky teče do sousední buňky, z níž zase jiná
část teče zpátky do původní buňky apod. (Tarboton, 1997). Pro ošetření podobných případů
40
by bylo zapotřebí zavézt řadu výjimek, což by v praxi vedlo k neúnosné složitosti algoritmu. Navíc i v jednoduchých případech je složitost výpočtu přispívajících ploch O(n2), kde n je počet buněk DEM (je totiž třeba vytvořit n matic ovlivnění, z nichž každá má teoreticky n
členů), což je pro dnes již běžné velké soubory dat nevyhovující.
(a)
(b)
(c)
Obr. 2.2.10. Postup při výpočtu přispívající plochy. Upraveno podle Costa-Cabral et Burges, 1994.
2.2.8 Tvarově založený přístup Myšlenka prostorově rozrůzněné míry divergence toku vedla autory Pilesjö et al. (1998) k vyvinutí algoritmu, který volí mezi vícesměrým a jednosměrným odtokem na základě analýzy křivosti (tvaru) terénu. Základní schéma je možné vyjádřit ve třech krocích:
1.
Každá buňka společně s jejími osmi sousedy (okno velikosti 3x3 buňky) je klasifikována buď jako „jednoduchá“ (undisturbed), „složitá“ (complicated) či „plochá“ (flat).
2.
Na každou z výše uvedených kategorií buněk je uplatněn jiný odtokový algoritmus (viz dále).
3.
Nakonec je odtoková síť složena z odtoků z buněk všech tří kategorií.
Určení, do jaké kategorie daná buňka patří, probíhá následovně. Je-li buňka obklopena sousedy, kteří mají všichni stejnou elevaci jako je elevace středové buňky, je tato buňka označena jako plochá. V opačném případě jsou sousedé dané buňky v jednom směru12 prohledáni, zda netvoří větší množství koryt, přičemž koryto je v tomto ohledu definováno jako jedna či více buněk z obou stran obklopených buňkami s vyšší elevací (vše pouze 12
Např. po směru hodinových ručiček.
41
v rámci oněch osmi sousedů). Je-li v okolí buňky takových koryt víc než jedno, je buňka označena jako složitá. Ostatní buňky, které nejsou ploché ani složité, jsou označeny jako
jednoduché, což odráží skutečnost, že na nich lze jednoznačně určit, zda jde o konvexní či konkávní tvar terénu. Pro určení odtokových směrů na plochých partiích terénu (čili pro ploché buňky) autoři vyvinuli vlastní, velmi jednoduchý postup, který je popsán v kap. 2.4.4. Přisouzení odtokových směrů pro ostatní dvě kategorie buněk je následující:
Určení odtokových směrů na složitých buňkách. Odtok ze složité buňky je rozdělen do jednotlivých koryt v poměru daném jejich šířkou. V případě buňky s dvěma koryty znázorněné na Obr. 2.2.11. je tak hornímu korytu (širokému dvě buňky) přidělena jedna třetina odtoku z buňky a dolnímu korytu (širokému čtyři buňky) jsou přiděleny dvě třetiny odtoku. V rámci jednotlivých koryt je odtok určen podle křivosti koryta. Je-li koryto široké nejvýše tři buňky, pak je označeno jako konkávní a odtok je veden pouze ve směru největšího spádu (konvergentní tok). Je-li koryto širší, je odtok rozdělen do jednotlivých buněk koryta podle poměru sklonů v jednotlivých směrech, k čemuž je použit Freemanův (1991) vzorec (2.2.4), s exponentem p rovným jedné (divergentní tok).
Obr. 2.2.11. Okno velikosti 3x3 buňky s dvěma „koryty“ (vyplněné buňky). Středová buňka je klasifikována jako „složitá“. Upraveno podle Pilesjö et al., 1998.
Určení odtokových směrů na jednoduchých buňkách. U jednoduchých buněk je třeba nejprve určit, zda reprezentují konkávní či konvexní topografii; podle toho je potom zvolen jednosměrný či vícesměrný odtok. K určení křivosti terénu v místě dané buňky existuje více metod (viz např. metodu popsanou v kap. 2.1.3.2), autoři volí postup vlastní, založený na aproximaci (metodou nejmenších čtverců) povrchu dané buňky a jejích osmi sousedů pomocí kvadratické plochy TS (trend surface) dané rovnicí (Pilesjö et al., 1998):
TS ( xi , yi ) = a0 + a1 xi + a 2 yi + a3 xi2 + a 4 yi2 + a5 xi yi , 42
(2.2.19)
kde i = 1, 2, ... , 9 je index procházející danou buňku a jejích osm sousedů, a0, a1, ... , a5 jsou koeficienty rovnice plochy a xi,yi jsou souřadnice buňky i v lokálním souřadnicovém systému v rámci příslušného okna o velikosti 3x3 buňky, přičemž počátek souřadnic je ve středové buňce. Pokud znormujeme horizontální rozlišení na hr = 1, pak souřadnice buněk okna se budou pohybovat mezi hodnotami -1 a 1, čímž se rovnice podstatně zjednoduší. Koeficienty
a0 až a5 je možné obdržet řešením maticové rovnice: A ⋅a = h + r ,
1 x1 kde A = ... ... 1 x9
y1
x12
y12
... y9
... x92
... y92
(2.2.20)
x1 ⋅ y1 a0 h1 r1 ... , a = ... , h = ... , r = ... , ri značí složky a5 h9 r9 x9 ⋅ y9
vektoru reziduí, hi značí elevaci buňky i a xi, yi značí souřadnice v lokálním systému. Metoda nejmenších čtverců pak vede na soustavu tzv. normálních rovnic, vyjádřených maticově jako:
(
a = AT A
)
−1
⋅ AT ⋅ h = B ⋅ h ,
(2.2.21)
kde AT značí transponovanou matici A. Vzhledem k tomu, že normované lokální souřadnice jsou pro všechny buňky DEM stejné, je konstantní i matice B. Tu je proto třeba spočítat pouze jednou a následně vždy jen vynásobit vektorem elevací h. Známe-li tedy koeficienty rovnice plochy, můžeme na ní určit vektor gradientu v místě středové buňky a jeho směr φ, odpovídající hlavnímu směru odtoku:
∂TS ∂TS grad (TS ( x, y )) x =0, y =0 = , = [a1 , a2 ] , ∂x ∂y x =0, y =0
(2.2.22)
arctan (a1 a 2 ) + 180° arctan (a a ) 1 2 arctan (a1 a 2 ) + 360° ϕ= 270° 90° nedefinováno
(2.2.23)
43
pro pro pro pro pro pro
a2 a2 a2 a2 a2 a2
>0 < 0, a1 ≤ 0 < 0, a1 > 0 . = 0, a1 > 0 = 0, a1 < 0 = a1 = 0
Varianta a1 = a2 = 0 odpovídá buď ploché buňce, nebo symetrickému vrcholku či symetrické depresi. Míra konkávnosti-konvexnosti plochy C je dána vzorcem (pro detailní odvození viz Pilesjö et al., 1998): C = a3 cos 2 ϕ + a4 sin 2 ϕ − a5 cos ϕ sin ϕ ,
(2.2.24)
přičemž platí, že je-li C > 0, má daná plocha konkávní tvar, a naopak je-li C < 0, má plocha tvar konvexní.
Obr. 2.2.12. Rozklad vektoru odtokového směru b na směr karinální (vektor c) a diagonální (vektor b). Upraveno podle Pilesjö et al., 1998.
Na konkávní buňce je směr odtoku dán nalezeným hlavním směrem φ, přičemž podobně jako v algoritmu Tarbotonově (1997) je odtok rozdělen do dvou sousedících buněk, mezi něž tento směr míří. Jinými slovy, nalezený vektor největšího spádu (vztah 2.2.22) je rozdělen na dva vektory, svírající úhel 45°. Jeden z těchto vektorů bude mít diagonální a jeden kardinální směr a délka vektorů bude znázorňovat relativní množství odtoku přiděleného tomuto směru (viz Obr. 2.2.12). Jestliže vektorem c označíme kardinální a vektorem d diagonální směr odtoku, přičemž délku vektoru c stanovíme jednotkovou (c = 1), pak délku vektoru d je možné spočítat jako:
d=
sin ϕ . sin (45° − ϕ )
Procentuální množství odtoku do jednotlivých směreů je pak dáno vztahy:
44
(2.2.25)
Wd =
d d +c
a
Wc =
c . d +c
(2.2.26)
V případě konvexní buňky je odtok rozdělen do jednotlivých směrů, v nichž existuje kladný sklon, podle vzorce (2.2.4) s exponentem p rovným jedné. Výhodou popsaného algoritmu je skutečnost, že bere v každém místě DEM ohled na lokální tvar terénu a jemu přizpůsobuje odtok. Nicméně algoritmus byl testován pouze v porovnání s jednosměrným D8 algoritmem a to především „opticky“, přičemž byly zaznamenány určité obtíže při extrakci sítě vodních toků, jež byly však připsány na vrub špatné kvalitě vstupních dat (Pilesjö et al., 1998). Ve srovnání s D8 algoritmem poskytla podle autorů nová metoda při simulaci povrchového odtoku lepší výsledky, nicméně sami autoři přiznávají nutnost dalšího, zevrubnějšího porovnání, jež by zahrnovalo i jiné, podobné a přitom jednodušší algoritmy (např. Tarboton, 1997; Seibert et McGlynn, 2007).
45
2.3 Uzavřené deprese 2.3.1 Použitá terminologie Intuitivní definicí pojmu uzavřená deprese (dále většinou jen deprese) by mohla být bezodtoká sníženina v terénu. Pro precizní popis deprese v kontextu DEM je vhodné odlišit několik podobných a vzájemně souvisejících pojmů. Dno deprese. Jde o buňku či souvislou skupinu buněk, obklopených buňkami s vyšší elevací. Jedná-li se o skupinu buněk, pak všechny buňky této skupiny již nutně musejí mít stejnou elevaci. Dno deprese je tak tvořeno buňkami, které nemají žádný odtok, ale naopak mají nejvyšší možný počet přítoků. Je-li tento pojem odlišován od samotného pojmu deprese, je označován např. jako dead-end element (Martz et De Jong, 1988) či irrelevant minima (Soille et Gratin, 1994). Povodí deprese. Jedná se o všechny buňky, jejichž alespoň jedna odtoková trasa (zjištěná algoritmem MFD8) končí v příslušném dně deprese. Jinou možnou definicí by mohlo být sjednocení přispívajících ploch (zjištěných algoritmem MFD8) všech buněk příslušného dna deprese. V literatuře můžeme nalézt označení jako dead-end zone (Martz et De Jong, 1988) nebo pit basin (O´Callaghan et Mark, 1984). Bod přetečení. Jde o buňku, která leží na okraji povodí deprese (přičemž patří do tohoto povodí) a má ze všech těchto buněk nejnižší elevaci. Z toho vyplývá, že pokud bychom depresi postupně zaplňovali vodou, bod přetečení bude první buňkou, přes kterou začne voda přetékat do sousedícího povodí. Z hlediska algoritmů na ošetřování depresí má tato buňka ve většině případů zásadní význam a často je nejsložitější úlohou její identifikace. Mezi nejčastější pojmenování používaná v literatuře patří overflow point (O´Callaghan et Mark, 1984), pour point (Jenson et Domingue, 1988), outlet, outlet point (Martz et De Jong, 1988; Rieger, 1998) či outflow point (Tribe, 1992).
Uzavřená deprese. Samotnou depresi je pak možné definovat jako množinu všech takových buněk z povodí dané deprese, jejichž elevace je menší nebo rovna elevaci bodu přetečení. Tato definice odpovídá představě deprese jako sníženiny, kterou je možné zaplnit vodou, aniž by voda odtekla. Pro deprese (někdy však též ve významu dna deprese) se
46
používají tři různá pojmenování: depression (např. Martz et De Jong, 1988; Jenson et Domingue, 1988; Wang et Liu, 2006; Rieger, 1998), pit (např. O´Callaghan et Mark, 1984; Tribe, 1992; Jones, 2002, Soille, 2004) a sink (např. Martz et Garbrecht, 1999). V dalším textu budeme také používat termín složitá deprese, vyjadřující skutečnost, že deprese může mít poněkud složitější strukturu (viz Obr. 2.3.1). Dno například nemusí být pouze jedno, jinými slovy menší deprese může být součástí větší deprese, případně mohou dvě sousední deprese sdílet bod přetečení apod. Existence složitých depresí bývá „kamenem úrazu“ pro některé jednoduché algoritmy, které počítají pouze s depresemi jednoduchými.
Obr. 2.3.1. Příklad složité deprese (svislý řez DEM), obsahující dvě dna.
2.3.2 Vznik a typy depresí 2.3.2.1 Základní typy depresí Základní dva typy depresí jsou (1) deprese aktuální (actual depressions), čili deprese skutečně přítomné v daném terénu, a (2) deprese chybové (spurious depressions, artifact depressions), které existují v DEM, nikoli však ve skutečné krajině. Posledně jmenované deprese je dále možné členit podle způsobu vzniku na (Florinsky, 2002; Lindsay et Creed, 2005a) (1) deprese způsobené chybami ve zdrojových výškových datech a (2) deprese způsobené chybami při interpolaci výškových dat, ať už jde o tvorbu DEM ze zdrojových dat
či interpolaci DEM za účelem změny rozlišení. Všechny tři typy depresí, tedy deprese aktuální, deprese vzniklé chybami v datech a deprese vzniklé chybami při interpolaci, budou pojednány v následujícím textu.
47
2.3.2.2 Chyby v původních datech Zdrojová data pro tvorbu DEM jsou v zásadě dvojího typu: jednak bodová měření elevací (pozemní měření, letecká fotogrammetrie, radarové či laserové snímání) a jednak již vypracované výškové mapy (většinou v podobě digitalizovaných vrstevnic). U bodových hodnot můžeme rozlišit několik druhů chyb, které mohou zapříčinit vznik chybových depresí v DEM (Lindsay et Creed, 2005a): 1. Chyby způsobené ztrátou dat. 2. Chyby způsobené měřením nevhodných objektů (budovy, vegetace). 3. Systematické chyby měření (např. chyby vzniklé z nerovnoměrně rozložených bodů měření při laserovém snímání, odrážejících směr průletu snímacího letadla). 4. Náhodné chyby měření. Na rozdíl od chyb 1. až 3. je možné náhodné chyby měření považovat za v principu neodstranitelné, ačkoli se mohou s postupujícím vývojem měřících metod zmenšovat. Navíc jsou jimi zatíženy všechny měřené hodnoty, proto lze existenci chybových depresí v kvalitně zpracovaných DEM (tzn. při co největší eliminaci chyb 1. až 3.) přičítat ponejvíce právě jim (Lindsay et Creed, 2005a). Závislost pravděpodobnosti výskytu depresí způsobených náhodnou chybou na poměru signál-šum zkoumali Lindsay et Creed (2005a). Pro každou buňku DEM odhadli pravděpodobnost vzniku deprese opakovaným přidáním náhodně vygenerované chyby, u níž předpokládali normální rozdělení s nulovou střední hodnotou a určitým stupněm prostorové autokorelace.13 Po přidání náhodné chyby všem buňkám označili buňky, které se ocitly v depresi, a pro každou buňku zaznamenávali, kolikrát se v nějaké depresi ocitla. Postup mnohokrát opakovali (Monte Carlo přístup) a ze získaných četností spočítali pro každou buňku pravděpodobnost, že se ocitne v depresi vlivem přidání náhodné chyby. Simulaci navíc provedli pro různé hodnoty směrodatné odchylky náhodné chyby a pro tři typy topografií, od nížinné po horskou. Výsledkem bylo zjištění, že ve všech třech typech krajin vykazovala místa s nízkým poměrem signál-šum, což byla především místa s nízkými až nulovými sklony, vysoké pravděpodobnosti výskytu depresí, a to bez ohledu na velikost směrodatné odchylky náhodné chyby. Jinými slovy, existují v DEM místa, kde s velkou
Podrobnější popis simulace viz níže v části o aktuálních depresích, kde je uvedena analogická simulace, provedená stejnými autory. 13
48
pravděpodobností vznikají chybové deprese, a to více méně bez ohledu na přesnost měření.14 Vzhledem k povaze těchto náchylných partií terénu (plochá místa) dále nepřekvapuje zjištění, že tyto deprese byly častější v nížinném reliéfu (Lindsay et Creed, 2005a).
Obr. 2.3.2. Dvě odlišné interpretace výškových dat při tvorbě vrstevnic. Vlevo je varianta při níž vzniknou v modelu uzavřené deprese, vpravo je varianta bez depresí. Z hlediska kartografické metodologie jsou obě řešení přípustná, nicméně v praxi se dává přednost přístupu na levém obrázku, s menšími změnami v křivosti vrstevnic. Upraveno podle Lindsay et Creed, 2006.
Jsou-li zdrojovými daty pro tvorbu DEM druhotná data typu vrstevnic, je situace složitější. Ve vrstevnicích se deprese projevují jako uzavřené vrstevnice kolem bodu s nižší elevací než je elevace této vrstevnice. Vzhledem k tomu, že vrstevnicová mapa je již výsledkem kartografické interpretace bodových hodnot, je zřejmé, že ke vzniku deprese byl nějaký důvod, jinými slovy bylo předpokládáno, že se jedná o depresi aktuální. Je-li deprese přesto chybová, mohlo jít buď o chybu v bodových datech, z nichž tvorba vrstevnic vycházela, nebo o chybu při interpretaci bodových hodnot. Příkladem takové chyby při interpretaci složitější topografie může být Obr. 2.3.2. (Lindsay et Creed, 2006). Osamocený bod s elevací nižší než body v jeho okolí je možné interpretovat dvěma odlišnými způsoby, přičemž kartografickým pravidlem je volit variantu s méně zakřivenými vrstevnicemi. To ovšem v daném případě vede ke vzniku uzavřené deprese v místě tohoto bodu, ačkoli skutečná situace může stejně dobře odpovídat zakřiveným vrstevnicím. Stručně řečeno, Pochopitelně by to neplatilo, byla-li by přesnost měření absolutní, což je však čistě teoretický případ v praxi se nevyskytující. 14
49
druhotná data jsou zatížena chybou ve vlastních zdrojových datech a k tomu ještě chybou z jejich interpretace, což obojí může snadno vézt ke vzniku chybových depresí.
2.3.2.3 Chyby při interpolaci Originální klasifikaci chyb při zpracování původních výškových dat, které mohou vézt ke vzniku depresí, podal Florinsky (2002), který vycházel z poznatku teorie a praxe zpracování signálu. Rozlišuje základní tři typy těchto chyb: 1. Gibbsův jev. 2. Příliš podrobná interpolace. 3. Posunutí a otočení mřížky. Ad.1. Gibbsův jev. Jedná se o fenomén, dobře známý ze zpracování signálu, objevující se typicky při aproximaci periodických skokových funkcí polynomem, nebo obecně při aproximaci nespojitých funkcí hladkými funkcemi. Jev je znázorněn na Obr. 2.3.3. Florinsky (2002) na modelových příkladech ukázal typické důsledky Gibbsova fenoménu, objevujícího se při interpolaci výškových dat pomocí aproximace nelineárními hladkými funkcemi. V topografii vznikají nežádoucí útvary v podobě nadhodnocených a podhodnocených elevací buněk v okolí míst s velmi prudkými sklony, jako jsou strmé svahy či hluboké deprese. V případě strmého svahu nadhodnocené buňky vytváří před horním okrajem svahu jakousi „hráz“, která může vyústit ve vznik uzavřené deprese, u paty svahu vytváří depresi buňky s podhodnocenými elevacemi. Vhledem k tomu, že aproximace hladkými funkcemi různých typů patří mezi často používané interpolační metody při tvorbě DEM, dá se existence Gibbsova jevu v DEM předpokládat a její ověření na reprezentativním počtu DEM by jistě bylo na místě. Taková studie, pokud je mi známo, však dosud neexistuje. Nežádoucím projevům Gibbsova fenoménu lze předejít volbou takových interpolačních funkcí, které jevem netrpí, případě volbou úplně odlišné interpolační metody, jako jsou např. fyzikálně založené metody (viz např. Niemann et al., 2003); jiným řešením může být identifikace projevů Gibbsova jevu v interpolovaném DEM a jejich dodatečné odstranění (Florinsky, 2002).
50
Obr. 2.3.3. Znázornění Gibbsova jevu na příkladu aproximace vlnové funkce pomocí trigonometrického polynomu. Vlnová funkce (a) je zadána předpisem: 1 pro 0 < x < π , F (x ) = 0 pro x = 0,±π − 1 pro − π < x < 0
trigonometrický polynom má tvar: f 2 k −1 ( x ) =
4
∞
∑ π k =1
sin (2k − 1)x 4 sin 3 x sin (2k − 1)x . = sin x + + ... + 2k − 1 π 3 2k − 1
Zobrazeny jsou aproximace pro k = 6 (b), k = 12 (c), k = 24 (d), k = 36 (e) a k → ∞ (f). U poslední aproximace je vidět vznik nadhodnocených a podhodnocených funkčních hodnot, což může v případě DEM znamenat nadhodnocení či podhodnocení elevací a vznik depresí. Převzato z Florinsky, 2002.
Ad.2. Příliš podrobná interpolace. Jedná se o situaci, kdy požadované rozlišení konstruovaného DEM je příliš jemné vzhledem k hustotě původních dat. Potom totiž v oblasti mezi původními daty nedochází ke zpřesnění informace, ale naopak k nárůstu šumu. Může se zdát, že hodnoty takto vzniklého šumu budou velmi malé, nicméně při odvozování terénních charakteristik (sklon, křivost apod.), jež mají často povahu derivací původního signálu (neboli původního DEM chápaného jako diskrétní funkci dvou prostorových proměnných), se jejich projev výrazně zesílí (Florinsky, 2002), což může vézt k významnému ovlivnění např. nalezených cest povrchového odtoku. Jinak řečeno, zvyšuje-li se podrobnost interpolace přes
51
určitou hranici, danou prostorovým rozlišením původních dat, dochází k nárůstu neurčitosti v hodnotách elevací, čímž může pochopitelně snadno dojít ke vzniku depresí díky (jakkoli pouze nepatrně) nadhodnoceným či podhodnoceným buňkám15. Přitom zde platí podobný princip, jaký byl popsán v případě náhodných chyb ve vstupních datech (vyz výše), totiž že náchylnější ke vzniku depresí budou pochopitelně místa vykazující nízký poměr signál-šum již v původních datech (především tedy ploché partie terénu). Popsaný problém samozřejmě nenastává jen při interpolaci původních nepravidelně rozmístěných dat, ale i při změně měřítka (převzorkování) již vytvořeného DEM. Ad.3. Posunutí a otočení mřížky. K určitému zkreslení původní informace obsažené v naměřených či již zpracovaných výškových datech dochází také díky pravidelnému rozmístění interpolací získaných hodnot, tedy z reprezentace terénu formou pravidelné sítě (mřížky). Jak ukázal Florinsky (2002), posunutí, ale především různé natočení mřížky vede k rozdílům ve vzniklé digitální topografii16. Ze všech zmíněných typů chyb jsou však z hlediska výskytu chybových depresí chyby z posunutí a otočení mřížky nejméně závažné. Nejedná se totiž o to, že by nějaké špatné posunutí či špatné natočení mřížky vedlo k více depresím, ale spíše o to, že při různých posunutích a otočeních vznikají deprese trochu jinde, nicméně se zhruba stejnou hustotou a podobnými tvary. Jejich následné odstranění bude proto mít ve všech případech zhruba stejný vliv na DEM a z něj odvozené charakteristiky. Tuto úvahu potvrzuje studie autorů Lindsay et Creed (2005a), kteří nezjistili téměř žádný vliv posunutí mřížky na hustotu depresí (počet depresí na plošnou jednotku).
2.3.2.4 Aktuální deprese Aktuální deprese jsou v některých typech krajin velmi časté, především pak v nížinných oblastech s mírnými sklony (pánve), kde bývají součástí vodní sítě. Patří mezi ně např. jezera, mokřady, slepá ramena, tůně apod.. Jiným případem mohou být naopak horské oblasti s ledovcovými jezery a kary, nebo sopečné oblasti s depresemi v podobě kráterů sopek. V menším měřítku se pak přirozené deprese mohou vyskytovat téměř kdekoli v podobě lokálních mělkých sníženin. Vedle těchto přirozených depresí se mohou v krajině vyskytovat 15
Podobně nemusejí vznikat jen deprese, ale pochopitelně nejrůznější nežádoucí útvary většinou malého měřítka, často svým tvarem odrážející interpolační metodu (např. byla-li při interpolaci použita triangulace, podobají se tyto útvary trojúhelníkům, Florinsky, 2002). 16 Tyto změny nejsou většinou příliš patrné v samotném DEM, nicméně podobně jako v předchozím případě se jejich vliv podstatně zvyšuje při přechodu od DEM k jeho derivacím (sklonům, křivostem apod.) a tím mohou ovlivnit další odvozené charakteristiky (např. topografický index ad.).
52
také aktuální deprese vzniklé lidskými zásahy, ať už jde o vodní nádrže, doly, stavební jámy, krátery po výbuších aj.. Starší studie (Mark, 1984; O’Callaghan et Mark, 1984; Jenson et Domingue, 1988; Hutchinson, 1989) až na výjimky (Martz et De Jong, 1988) předpokládaly, že všechny deprese přítomné v DEM jsou chybové, způsobené nepřesností a chybami v DEM. Tento předpoklad měl několik důvodů. Jedním z nich byl výběr takových typů krajin, kde se přirozené deprese (v měřítku zachytitelném příslušným modelem terénu) nevyskytují, tedy krajiny modelované fluviálními procesy, se středními až velkými sklony. Dalším zdůvodněním bylo příliš malé vertikální a horizontální rozlišení, nedovolující patřičnou reprezentaci složitější topografie a tím vedoucí ke vzniku zdánlivých depresí, které se ve skutečném terénu nevyskytují. Prudké zvyšování dostupného vertikálního i horizontálního rozlišení DEM pomocí letecké fotogrammetrie však vedlo k podrobnějšímu vystižení drsnosti povrchu a tím k reprezentaci velkého množství menších přirozených depresí (Zandbergen, 2006; Lindsay et Creed, 2005a). Tyto deprese je někdy vhodné odstranit za účelem získání spojitě průtočného terénu, někdy však informace o reálných, aktuálních depresích může být žádoucí, např. při odhadu retenční kapacity krajiny či při podrobné simulaci odtokových procesů v měřítku svahu apod.. Badatelům tak bylo stále více zřejmé, že rozlišení mezi aktuálními a chybovými depresemi je žádoucí, ať už jde o menší deprese díky podrobné reprezentaci terénu, nebo o větší deprese odpovídající reálným krajinným útvarům většího měřítka. Rozlišování mezi aktuálními a chybovými depresemi je nicméně záležitost velmi problematická a složitá a pravděpodobně ji nelze plně automatizovat. Neexistuje totiž dostatečně zřetelné kritérium, které by o původu dané deprese rozhodlo a které by přitom zahrnovalo všechny možné typy aktuálních depresí. Vedle ojedinělých pokusů (Tribe, 1992; Lindsay et Creed, 2006) se tak při potřebě identifikace aktuálních depresí uplatňuje expertní znalost (znalost terénu, znalost četnosti a rozměrů depresí v daném typy terénu apod.) a posouzení přídatných informací, jako jsou např. běžné topografické mapy s vrstevnicemi (vizuální identifikace uzavřených vrstevnic, Soille et al., 2003). Zatím nejucelenějším a nejslibnějším pojednáním tématu je práce autorů Lindsay et Creed (2006), kteří rozlišují několik možných přístupů: 1. Pozemní průzkum. Jinak řečeno, kontrola terénu výzkumníkem. Jakkoli jde o subjektivitou zatíženou metodu, je zcela zjevně nejspolehlivější, leč také nejnákladnější a časově nejnáročnější. Výhodou je, že je možné nejen potvrdit či
53
vyvrátit existenci depresí vzniklých v DEM, ale případně i nalézt v terénu deprese, které z různých důvodů v DEM reprezentovány nejsou. 2. Zhodnocení zdrojových dat. Ať už se jedná o bodové hodnoty nadmořských výšek či o vrstevnice, deprese v DEM je možné v těchto zdrojových datech potvrdit či nepotvrdit. Navíc, podobně jako v předchozí metodě, je možné nalézt deprese ve zdrojových datech, které chybí v DEM. Velkou nevýhodou, vedle toho že zdrojová data nemusí být dostupná, je skutečnost, že i zdrojová data jsou zatížena (někdy značnou) neurčitostí, zvlášť pokud jde o vrstevnice a složitou topografii (viz Obr. 2.3.2.). Na druhou stranu výhodou metody je často možnost automatizace (např. hledání uzavřených vrstevnic v digitalizované mapě). 3. Klasifikační přístup. Tento přístup je založen na výběru malého, leč reprezentativního výseku DEM, v rámci něhož jsou všechny deprese verifikovány pozemním průzkumem. Z výsledků verifikace je vytvořena klasifikace na základě charakteristických vlastností, odlišujících aktuální deprese od chybových, a získaná klasifikace je použita pro celý DEM. Tento přístup je problematický především z hlediska výběru reprezentativního vzorku, který by zároveň obsahoval dostatečný počet depresí. Je zde přítomen předpoklad, že celý DEM reprezentuje jeden, relativně homogenní typ krajiny, což často nebývá splněno. 4. Znalostní přístup. Jedná se o použití nejrůznějších heuristických pravidel či expertních zkušeností a znalostí, jako je např. znalost dané krajiny či daného typu topografie a četnosti a tvaru depresí apod.. Tuto na první pohled silnou metodu mohou zaskočit chybové deprese, které se „tváří“ jako aktuální. V některých terénech může být takových depresí mnoho, např. v plochém nížinném reliéfu jsou
časté jak aktuální, tak chybové deprese, přičemž chybové mohou být plošně značně rozsáhlé, vzniklé malým nadhodnocením elevace některé buňky. Přitom právě plošný rozsah deprese bývá nejčastějším kritériem při posuzování, zda je daná deprese aktuální či chybová (viz např. Tribe, 1992). 5. Simulační přístup. Jedná se o přístup vyvinutý zmíněnými autory (Lindsay et Creed, 2005a, 2006). Je založen na Monte Carlo simulaci, která pro každou buňku DEM určí pravděpodobnost, s jakou se daná buňka ocitne v depresi vlivem náhodné chyby v nadmořské výšce. Pro tuto náhodnou chybu se předpokládá, že má normální rozdělení s nulovou střední hodnotou a směrodatnou odchylkou σ, a dále že je prostorově autokorelovaná. Simulace probíhá tak, že je pro každou buňku vygenerována náhodná chyba s příslušným rozdělením a její hodnota je 54
přidána (může být kladná či záporná) k nadmořské výšce. V takto upraveném DEM jsou nalezeny případně vzniklé deprese. Tento postup, tedy přidání náhodné chyby k původnímu DEM a následné nalezení depresí, je opakován, dokud není odchylka elevací dvou následujících upravených DEM dostatečně malá (v praxi se počet iterací pohyboval mezi hodnotami 200 až 400, Lindsay et Creed, 2005a, 2006). Pravděpodobnost, že se daná buňka vlivem náhodné chyby ocitne v depresi, se pak jednoduše spočítá z počtu, kolikrát se buňka ocitla v depresi během simulace. Pro buňky depresí lze předpokládat, že ty, u kterých je velmi nízký poměr signál-šum (tedy poměr „správné“ informace a náhodné chyby), budou vlivem přidání náhodné chyby často z deprese „vyhozeny“ a budou tak mít relativně nízkou hodnotu zmíněné pravděpodobnosti, a naopak buňky v depresích s vysokým poměrem signál-šum, které lze rozumně považovat za aktuální, budou vykazovat vysoké pravděpodobnostní hodnoty. Pomocí prahové hodnoty pravděpodobnosti je tak možné určit, zda daná buňka leží v aktuální či v chybové depresi. Nevýhodou metody je přítomnost tří parametrů: směrodatné odchylky náhodné chyby, stupeň prostorové autokorelace náhodné chyby a prahová hodnota pravděpodobnosti. Směrodatnou odchylku lze odvodit z vertikálního rozlišení DEM, zbylé dva parametry autoři určili subjektivním odhadem. Na základě otestování popsaných metod došli autoři k závěru, že nejvhodnější metodou pro rozlišení aktuálních a chybových depresí je kombinace pozemního průzkumu a Monte Carlo simulace, přičemž simulační přístup samotný se projevil jako poměrně silný i bez případného ověření pozemním průzkumem (Lindsay et Creed, 2006).
2.3.3 Metody řešení depresí 2.3.3.1 O´Callaghan et Mark, 1984 Jedná se pravděpodobně o vůbec první (současně s Mark, 1984) formulaci problému uzavřených depresí v DEM, motivovanou vývojem nové metody automatické extrakce sítě vodních toků. Tato nová metoda byla založena nikoli na lokálním vyšetřování křivosti povrchu jako metody dosavadní, nýbrž na simulaci povrchového odtoku (viz kap. 2.5.2). Pro odtokový algoritmus však představuje přítomnost depresí, tedy buněk obklopených pouze sousedy se stejnou nebo vyšší elevací, problém, neboť těmto buňkám pochopitelně nedokáže
55
přiřadit žádný směr odtoku. Tím při následné simulaci povrchového odtoku dochází k nežádoucím diskontinuitám. Autoři navrhují a používají hned dvě, principiálně zcela odlišná řešení: První spočívá v předběžné úpravě DEM za účelem snížení počtu (případně úplného odstranění) depresí. Celý povrch terénu je lokálně shlazen váženým průměrem elevací z posuvného okna velikosti 3x3 buňky, přičemž elevaci zpracovávané buňky je přiřazena váha 0.25 a elevacím jejích kardinálních (resp. diagonálních) sousedů váha 0.125 (resp. 0.0625). Tento proces je v principu možné podle potřeby iterativně opakovat, dokud nejsou všechny deprese odstraněny, nicméně při zvyšování počtu opakování se snižuje kladný účinek (mělčí deprese jsou již odstraněny, hlubší, jichž bývá méně, mohou dlouho přetrvávat) a naopak se hromadí nežádoucí účinek vyvolaný shlazením terénu. Z těchto důvodů autoři používají proceduru nejvýše dvakrát za sebou. Přes zjevné úspěchy (co do počtu odstraněných depresí), které autoři na svém modelovém území zaznamenali, nebyla metoda shlazování terénu obecně přijata, a to hned ze dvou důvodů: (1) není stoprocentní (případné hlubší deprese přetrvávají a je třeba je následně řešit nějakou jinou metodou) a (2) mění původní elevace ve všech bodech terénu, tedy i v místech (jichž bývá většina), kde se žádné deprese nevyskytují, což vede k nežádoucí a zbytečné ztrátě informace obsažené v původním modelu terénu. Z těchto důvodů se metoda nerozšířila. Jedinou její možnou výhodu lze snad spatřovat ve snadné implementaci, jež je při omezení počtu iterací (např. na dvě) nezávislá na složitosti terénu (počtu depresí) a má složitost O(n), kde n je počet buněk v DEM. Druhý přístup, který je v článku představen a použit na deprese odolávající shlazení, je založen na nalezení bodu přetečení. Jde o buňku, skrze kterou by při postupném zaplňování deprese vodou (ode dna) začala voda přetékat do sousedního pod-povodí. Jedná se tedy o buňku na okraji povodí deprese, která má ze všech okrajových buněk nejnižší elevaci. Z této buňky je (pomocí D8 algoritmu) nalezena cesta spojující ji s dnem deprese, a podél této cesty jsou identifikované směry odtoku jednoduše otočeny. Tak je zaručeno, že voda doputující na dno deprese nalezne cestu ven z deprese, jinými slovy je zachována kontinuita povrchového odtoku. Na rozdíl od metody první (a od naprosté většiny metod, viz dále) zde vůbec nedochází ke změnám elevací v původním DEM, změny jsou prováděny pouze v datové matici uchovávající informaci o směrech odtoku. Jinak řečeno, voda je po zmíněných cestách nucena téci do kopce.
56
Řešení složitých depresí je zajištěno zpracováváním depresí v sestupném pořadí (podle elevace dna), přičemž povodí jednotlivých depresí jsou průběžně aktualizována včetně nového hledání bodů přetečení. Autoři sami zmiňují slabiny popsané metody. Jde o vznik nereálně zkroucených odtokových cest v rozlehlejších depresích, neboť voda ze všech buněk deprese, které nenáleží cestě spojující dno s bodem přetečení, musí nejprve dotéci na dno deprese, odkud je teprve nalezenou cestou přesunuta ven z deprese. Správnější řešení vidí autoři v úpravě směrů odtoku u všech buněk deprese, čímž předznamenávají široce rozšířenou metodu tzv. vyplnění (filling), pojednanou v následující části.
2.3.3.2 Vyplnění (filling) Popis této metody včetně její implementace lze nalézt souběžně ve dvou článcích, Jenson et Domingue, 1988 a Martz et De Jong, 198817. Princip je jednoduchý a byl již naznačen v předešlé části. Pro každou depresi je nejprve nalezen bod přetečení, následně jsou elevace všech buněk deprese nahrazeny elevací bodu přetečení. Proces tak skutečně připomíná zaplnění deprese vodou do úrovně, kdy voda začne přetékat přes okraj deprese. Vzhledem ke značnému rozšíření této metody je vhodné se poněkud podrobně zmínit o její implementaci, přičemž hlavním problémem, který je třeba řešit, je efektivní nalezení bodů přetečení pro každou depresi. Klasický přístup, popsaný v obou výše zmíněných pracích, ošetřuje každou depresi zvlášť, což samo nutně znamená, že řešení je závislé na složitosti DEM, jinými slovy na počtu (a složitosti) depresí. To je základním omezením všech takovýchto metod. Nalezením bodu přetečení pro jednoduchou depresi se zabývají Martz et De Jong (1988). Úvodním proběhnutím D8 algoritmu nejprve identifikují dna depresí, lépe řečeno buňky, jež nemají do žádného ze svých osmi sousedů kladný sklon. Pro každou takovou buňku (autoři ji označují dead-end element) je posléze hledáno její povodí (dead-end zone) a na jeho okraji bod přetečení, a to následujícím způsobem:
1.
Nastav velikost prohledávacího okna na (např.) 10x10 buněk a umísti je tak, aby prohledávaná buňka ležela v jeho středu. Prohledávanou buňku označ.
Metoda sama je o něco starší, mimo jiné je popsána v článku Marks D. et al., Automated basin delineation from digital elevation data, Geo-Processing, 1984. Tento článek mi však není dostupný.
17
57
2.
Porovnej každou označenou buňku okna s jejími osmi sousedy. Pokud je elevace nějakého souseda vyšší než elevace dané buňky, tohoto souseda označ.
3.
Opakuj bod 2., dokud je co označovat. //první úroveň iterací
4.
Prohledej okno a každou buňku, která buď (1) je na okraji DEM nebo (2) sousedí s neoznačenou buňkou s nižší elevací přidej do seznamu potenciálních bodů přetečení.
5.
Pokud (1) je seznam potenciálních bodů přetečení prázdný nebo pokud (2) na okraji okna leží buňka s elevací nižší než nejnižší buňka ze seznamu potenciálních bodů přetečení, zvětši okno a celou proceduru opakuj od bodu 2. //druhá úroveň iterací
6.
Stanov bod přetečení jako nejnižší buňku ze seznamu potenciálních bodů přetečení.
Prohledávanou buňkou v kroku 1. je přirozeně v D8 nalezený dead-end element. Tato implementace, popsaná i v Martz et Garbrecht (1992), má řadu nevýhod, obecně je efektivní pouze pro jednoduché a ne příliš velké DEM. Základní slabinou je iterační prohledávání: jedna úroveň iterací je třeba k prohledání okna, druhá úroveň iterací k jeho případnému zvětšování. Případy složitých depresí, v nichž například můžou dvě sousedící deprese sdílet bod přetečení, jsou z důvodu použití pevného okna vyřešeny jen někdy, snadno však může nastat situace, kdy je z obou sousedících depresí, sdílejících bod přetečení, identifikován právě onen společný bod přetečení. Po vyplnění tak zůstane přítomna větší deprese, která obě předešlé obsahovala (viz Obr. 2.3.4). Při popsaném přístupu k depresím by bylo logickým východiskem řešit problém opět iteračně, jinými slovy opakovat celou proceduru, dokud nebudou všechny deprese odstraněny. Tím ovšem přibude ještě další, již třetí úroveň iterací.
Obr. 2.3.4. Příklad složité deprese, kdy dvě sousedící deprese sdílí zdánlivý bod přetečení (svislý řez DEM, elevace jednotlivých buněk odpovídají červeným svislicím). Řez terénem, znázorněný na obrázku, vychází z reprezentace terénu pomocí bodových hodnot elevací, přičemž jednotlivé hodnoty jsou umístěny ve středech buněk. Stejné platí i pro další podobné obrázky.
58
Jenson et Domingue (1988) popisují jednodušší a efektivnější metodu, zahrnující i řešení případů složitých depresí:
1.
Vyplň všechny jednobuňkové deprese (buňkám obklopeným sousedy, jež mají všichni vyšší elevaci, je přiřazena elevace nejnižšího souseda)
2.
spočítej směry odtoku (D8 algoritmus)
3.
pro všechna dna depresí nalezni jejich povodí pomocí směrů odtoku, určených v kroku 2.
4.
Nalezni všechny potenciální body přetečení mezi každým párem sousedících povodí (tento krok viz dále)
5.
Pro každé povodí označ nejnižší potenciální bod přetečení jako bod přetečení daného povodí (dané deprese)
6.
Podle vypočtených směrů odtoku sleduj u každého povodí cestu vedoucí z jeho bodu přetečení. Pokud narazíš na hranici DEM, pokračuj krokem 8., pokud cesta utvoří cyklus, pokračuj krokem 7.
7.
Všechna povodí, propojená zacyklenou cestou, spoj do jednoho povodí a pro ně nalezni nový bod přetečení. Vrať se na krok 6.
8.
U každého povodí vyber z identifikované cesty nevyšší bod přetečení ležící na této cestě a elevace všech buněk z daného povodí nižších než tento bod změň na elevaci tohoto bodu.
Krok 1. má za účel předběžné snížení počtu jednoduchých depresí odstraněním depresí velikosti jedné buňky, jichž často bývá většina a pro které je aplikace celé složité procedury zbytečná. V kroku 4., tedy při hledání potenciálních bodů přetečení, je budována tabulka obsahující pro každý pár sousedících povodí potenciální bod přetečení. Krok je uskutečněn následovně:
1.
Porovnej každou buňku z povodí dané deprese s jejími osmi sousedy. Pokud daná buňka náleží do jiného povodí než některý z jejích sousedů, pokračuj dále.
2.
Porovnej elevace těchto dvou buněk a vyšší z nich označ jako potenciální bod přetečení.
3.
Pokud daná dvojice povodí není dosud v tabulce, vytvoř novou položku tabulky odpovídající tomuto páru povodí a zaznamenej do ní nalezený potenciální bod přetečení. 59
4.
Pokud daná dvojice povodí již v tabulce je, porovnej již zaznamenaný potenciální bod přetečení s nově nalezeným a do tabulky zapiš nižší z nich.
5.
Opakuj pro všechny buňky.
Tato implementace se stala velmi oblíbenou a rychle se široce rozšířila, takže je například dodnes součástí hydrologické nadstavby pro ArcGIS (ArcHydro) či GIS systému GRASS. Ačkoli je oproti metodě Martze a De Jonga rychlejší a zahrnuje řešení složitých depresí, oba algoritmy mají složitost O(n2), kde n je počet buněk v DEM (O(n) pro vyhledání dna depresí a O(n) pro prohledávání povodí deprese, Wang et Liu, 2006), což je při větších souborech vstupních dat (velké DEM) dosti omezující, ne-li přímo nepoužitelné. Skutečně efektivní řešení podali až Soille et Gratin (1994). Jejich přístup je založen na prostředcích matematické morfologie, jichž se užívá pro zpracování digitálních obrazů (Soille 2003, 2007). Možnost využití takových metod vyplývá ze skutečnosti, že na DEM se lze dívat jako na rastrový digitální obraz ve stupních šedi, kdy jednotlivé tóny šedi odpovídají elevacím; to odpovídá způsobu, jakým jsou často DEM zobrazovány v GISových aplikacích. V kombinaci s použitím pokročilejších datových struktur, jakými jsou hierarchické či prioritní fronty (viz Apendix), je tak možné dosáhnout složitosti závislé již jen na složitosti dané datové struktury (fronty), tedy obvykle O(nlogn), kde n je počet buněk v DEM.18
Řečenou metodu lze popsat i bez užití pojmosloví matematické morfologie, jak ostatně dokazuje i posledně zmiňovaný článek (Wang et Liu, 2006). Této skutečnosti využiji, abych se tak vyhnul nutnosti obšírně zavádět nové pojmy a operace. Algoritmus v podobě, v jaké ho prezentujeme, využívá prioritní fronty (dále označované jen jako „fronta“), v níž je priorita hodnocena podle elevace, jinými slovy na začátku fronty je vždy přítomen člen s nejnižší elevací (viz Apendix). Vstupním modelem je označován původní DEM s depresemi, vznikající DEM bez depresí je nazýván výstupním modelem.
1.
Přidej do fronty všechny buňky ležící na okraji DEM, ve výstupním modelu pak těmto buňkám přiřaď elevaci, jakou mají ve vstupním modelu. Tyto buňky označ jako zpracované.
2.
Vyjmi z fronty první člen (tedy buňku s nejnižší elevací, dále označovaná jako aktuálně vybraná buňka).
Přes toto zásadní vylepšení, umožňující zpracovávání i velkých datových vstupů, se zmíněný článek nedočkal téměř žádné významné odezvy, ani implementace v zavedených softwarech nebyla nahrazena touto novou, jak by snad bylo očekávat. O stejném svědčí i článek autorů Wang a Liu z roku 2006 (!), v němž je popsán v podstatě totožný algoritmus jako v práci Soilla a Gratina, ovšem je představen jako zcela nový. 18
60
3.
Elevaci dosud nezpracovaných sousedů aktuálně vybrané buňky porovnej s elevací, jakou má tato aktuálně vybraná buňka ve výstupním modelu. Větší z těchto hodnot přiřaď danému sousedu jako jeho elevaci ve výstupním modelu.
4.
Označ nezpracované sousedy jako zpracované a zařaď je do fronty podle jejich elevace ve výstupním modelu.
5.
Opakuj kroky 2. až 4. dokud není fronta prázdná.
Obr. 2.3.5. Schematické dvourozměrné znázornění postupu při vyplňování depresí podle implementace autorů Wang et Liu (2005, Shodný postup popisují i Soille et Gratin, 1994), modré šipky znázorňují směr prohledávání. Jakmile by postup prohledávání DEM vyžadoval sestup k nižší elevaci, než je elevace posledně prohledávané buňky (na obrázku postup z buňky 3 na buňku 4), je elevace této nižší buňky nahrazena elevací posledně prohledávané buňky.
Celý proces lze dobře znázornit v jednorozměrném případě (viz Obr. 2.3.5), na němž je patrno, že úspěch takového přístupu závisí na jistotě, zda jsme zvolili správný výchozí bod a správný směr, v jakém je DEM zpracováván. Pro dvojrozměrný případ, tedy při zpracování skutečných DEM, je toto zaručeno právě použitím prioritní fronty, jež nám dává jistotu, že pokud jsme dospěli k nějaké buňce coby k nezpracovanému sousedu aktuálně vybrané buňky (krok 3.), což znamená že pro tuto buňku hodláme počítat její elevaci ve výstupním modelu, pak je nemožné, aby k této buňce bylo možno dojít z nějaké jiné, nižší buňky. Taková nižší buňka by totiž již nutně musela být dříve z fronty vybrána a její sousedé zpracováni. Složitost prioritní fronty je při vhodné implementaci O(nlogn), kde n je počet členů ve frontě (Ahuja et al., 1993: s. 778). Vzhledem k tomu, že v průběhu procedury je každá buňka zařazena do fronty právě jednou (a právě jednou vybrána), je celkový počet členů fronty roven počtu buněk v DEM. Proto složitost celého algoritmu je O(nlogn), kde n je počet buněk
61
v DEM. Co to v praxi znamená dokumentují Wang et Liu (2006) porovnáním výše popsané metody s klasickou (Jenson et Domingue, 1988), z kterého plyne, že např. DEM velikosti 8000x8000 buněk zpracovávala tradiční metoda přes 16 hodin, zatímco nová metoda byla hotova během osmi minut (Wang et Liu, 2006). Jinou výhodou této implementace je nezávislost na složitosti DEM, tedy na počtu, velikosti a složitosti depresí, neboť deprese nejsou ošetřovány každá zvlášť, nýbrž všechny naráz v jednom jediném prohledání modelu, které probíhá podle prioritní fronty a každou buňku navštíví právě jednou. V předešlých několika odstavcích jsem popsal příklady různých implementací metody vyplnění depresí, aniž bychom se však zabývali výhodami či slabými stránkami metody jako takové. Hlavním nedostatkem je skutečnost, že vyplnění depresí zanechá na jejich místě plošiny, neboť všechny buňky spadající dříve do deprese jsou vyzdviženy na stejnou úroveň (je jim přiřknuta elevace bodu přetečení). To je nepříjemné proto, že určení směrů povrchového odtoku, což bývá hlavní důvod řešení depresí, je problematické i na plošinách. Buňky uvnitř plošiny jsou totiž obklopeny sousedy se stejnou (případně vyšší) elevací a nemají tedy v žádném směru kladný sklon. Bez uspokojivého ošetření plošin proto zůstává metoda vyplnění jen poloviční, vytvářející při řešení jednoho problému problém jiný. Jiným sporným bodem je implicitní předpoklad, že deprese vznikly podhodnocením elevací příslušných buněk, proto je na místě řešit je zpětným navýšením elevací. Vedle tohoto, jakkoli častého případu však může stejně dobře nastat situace, kdy k depresi vedlo nadhodnocení elevací jedné či více buněk, které tak vytvořily jakousi hráz a tím i depresi. Zde by odpovídajícím řešení bylo naopak opětovné snížení buněk této „hráze“. Vzhledem k tomu, že takto může ve vhodném terénu chyba několika málo buněk vézt ke vzniku plošně rozsáhlých depresí, zatímco předchozím způsobem (tedy podhodnocením elevací) by k chybě muselo dojít u všech buněk takové deprese, je pravděpodobné, že větší deprese vznikají spíše nadhodnocením. To ovšem znamená, že na většině plochy deprese je v elevacích jejích buněk obsažena (relativně) správná informace umožňující správné určení směrů odtoku. Tato informace je však při vyplnění deprese kompletně ztracena a nahrazena následným ošetřením vzniklé plošiny. Nutnost měnit elevace všem buňkám deprese a s tím spojené nebezpečí ztráty informace je hlavním důvodem, který vedl k vývoji alternativních řešení. Ta budou popsána v následujících částech, zde se stručně zmíním jen o jednom (Rieger, 1998). Jde o modifikaci metody vyplnění, kdy jsou elevace buněk deprese navýšeny tak, aby jejich nová elevace ležela v rozmezí elevací buněk obklopujících depresi a zároveň byly 62
zachovány relativní výškové rozdíly mezi zvyšovanými buňkami. Výsledkem tedy není plošina, ale mírně skloněná plocha, zakřivená podle původního terénu dna deprese (Rieger, 1998). Tento přístup sice problém ztráty informace do značné míry řeší, ovšem pouze pokud se jedná o směry odtoku, nikoli např. z hlediska lokálních hodnot sklonů svahu apod., navíc je z pohledu příčin vzniku deprese vlastně nelogická. Pokud totiž deprese vznikla podhodnocením buněk deprese, pak je pravděpodobně informace obsažená v těchto buňkách celkově chybná a není důvod ji takto „zachraňovat“. Pokud naopak deprese vznikla nadhodnocením buněk „hráze“, pak je třeba modifikovat právě tyto buňky, a zvyšování ostatních buněk deprese se zachováním původních relativních výškových vztahů je vlastně jaksi nadbytečné.
2.3.3.3 Protržení hráze (outlet breaching) Jedním z pokusů alespoň částečně vyřešit výše zmíněné problémy spojené s metodou vyplnění depresí je přístup Martze a Garbrechta (1999), který autoři sami nazvali outlet breaching algorithm (překládáme jako „protržení hráze“). Autoři upozorňují na zmíněný skrytý předpoklad metody vyplnění, že totiž deprese vznikly podhodnocením elevací. Je-li příčinou vzniku depresí naopak nadhodnocení, pak jako vhodnější řešení předkládají metodu, v níž je před vyplněním díry ověřena případná existence „hráze“ utvořené z nadhodnocených buněk, a pokud je taková hráz nalezena, jsou její buňky sníženy. Deprese je tak buď zcela odstraněna (je jaksi „vylita“ skrz „protrženou hráz“), případně může hlubší část deprese přetrvávat (buňky ležící pod úrovní, na níž byla hráz snížena). Takové zbylé deprese jsou následně vyplněny předchozí metodou (filling). Metoda protržení hráze pracuje tak, že u bodu přetečení dané deprese zjišťuje, zda by snížením elevace tohoto bodu, či případně několika dalších bodů v jeho okolí, nedošlo k „vylití“ nebo alespoň zmenšení deprese. Pokud ano, pak elevace těchto buněk příslušně sníží. Rozsah případné snižované hráze je omezen maximálním počtem buněk, které mohou být u dané deprese sníženy. Jedná se v podstatě o délku „kanálu“ proraženého skrz hráz. Autoři tuto vzdálenost nazývají breaching length, tedy délku protržení, a upozorňují, že ačkoli je možné se na ni dívat jako na volitelný parametr metody, větší hodnoty by vedly k nepřirozeně zaříznutým dlouhým „kanálům“ odvodňujícím depresi, proto navrhují hodnoty v rozsahu jedné až dvou buněk. To odpovídá předpokladu, že větší vystouplé terénní útvary je spíše možné pokládat za skutečné než za chyby z nadhodnocení elevací. Nízká hodnota délky
63
protržení navíc zaručí relativně malý zásah do původního DEM (co do počtu buněk se změněnou elevací), většinou mnohem menší, než jaký vykazuje metoda vyplnění. Algoritmus je implementován následovně (Martz et Garbrecht, 1999):
1.
Nastav velikost prohledávacího okna na (např.) 5x5 buněk a umísti je tak, aby prohledávaná buňka ležela v jeho středu. Prohledávanou buňku označ.
2.
Porovnej každou označenou buňku okna s jejími osmi sousedy. Pokud je elevace nějakého souseda vyšší než elevace dané buňky, tohoto souseda označ.
3.
Opakuj bod 2., dokud je co označovat.
4.
Prohledej okno a každou buňku, která buď (1) je na okraji DEM nebo (2) sousedí s neoznačenou buňkou s nižší elevací přidej do seznamu potenciálních bodů přetečení.
5.
Pokud (1) je seznam potenciálních bodů přetečení prázdný nebo pokud (2) na okraji okna leží buňka s elevací nižší než nejnižší buňka ze seznamu potenciálních bodů přetečení, zvětši okno a celou proceduru opakuj od bodu 2.
6.
Stanov bod přetečení jako nejnižší buňku ze seznamu potenciálních bodů přetečení.
7.
Všechny buňky z povodí deprese, které (1) mají stejnou elevaci jako bod přetečení a (2) sousedí s buňkou, která jednak neleží v povodí deprese a jednak má nižší elevaci, a (3) v jejichž okolí do vzdálenosti délky protržení leží buňka z povodí deprese mající též nižší elevaci, označ jako potenciální bod protržení.
8.
Z potenciálních bodů protržení vyber takový, který má největší sklon směrem ven z povodí deprese. Je-li takových více, vyber z nich takový, který má největší sklon směrem do povodí deprese. Je-li i takových více, vyber jeden náhodně.
9.
Elevaci takto vybrané buňky sniž na elevaci nejnižšího jejího souseda, který leží mimo povodí deprese. Na tuto elevaci sniž také elevace všech buněk ležících podél cesty od vybraného bodu protržení směrem dovnitř deprese (je míněna cesta vždy následující nejstrmější sklon) do vzdálenosti délky protržení. (V praxi se při hodnotě délky protržení 2 buňky bude jednat o snížení elevace bodu protržení a jednoho jeho souseda.)
První část algoritmu (kroky 1. až 6.) je v podstatě totožná s hledáním povodí deprese Martze a De Jonga (1988), popsaným v předcházející části. Liší se však tím, že za prohledávanou buňku v prvním kroku není brán každý bod, jemuž nebyl v předcházejícím D8 64
algoritmu přiřazen směr odtoku, ale pouze takový, mezi jehož sousedy je alespoň jedna buňka s vyšší elevací, než je elevace daného bodu. Tímto omezením je zabráněno zbytečnému prohledávání buněk rozsáhlejších plošin. Samotné protržení hráze (kroky 7. až 9.) je uskutečněno tak, že jsou snižovány vždy pouze takové buňky, které od sebe oddělují dvě nižší oblasti, tedy buňky skutečně tvořící jakousi bariéru. Pro samotnou implementaci platí všechny výhody i nevýhody uvedené v předchozí části u algoritmu Martze a De Jonga (1988), nicméně to se skutečně týká pouze implementace, neboť metoda může být implementována odlišně, např. v duchu výše popsaného využití prioritní fronty a prohledávání „odspodu vzhůru“ (Soille et Gratin, 1994; Wang et Liu, 2006). Taková implementace, alespoň pokud je nám známo, není v literatuře popsána, nicméně je podle nás v principu možná a výhodná. Uvedený problém metody vyplnění se metodou protržení hráze skutečně poměrně uspokojivě řeší (Martz et Garbrecht, 1999), přestože většinou není řada depresí zcela odstraněna a jejich zbytky je třeba vyplnit. Je však možné předpokládat, že ta část depresí, kterou bylo třeba vyplnit (tzn. „přežila“ protržení hráze), více méně odpovídá depresím vzniklým podhodnocením elevací, proto jejich vyplnění je na místě. Rozsah vzniklých plošin se tak oproti metodě vyplnění sníží, ačkoli nějaké plošiny většinou přece jen vzniknou a samozřejmě tak představují další problém k řešení. 2.3.3.4 Vyrývání (carving) Myšlenkou této metody je dovedení metody protržení hráze do důsledku, tedy v podstatě povolení jakékoli potřebné délky protržení. Ačkoli by se mohlo ve světle předchozích úvah zdát, že jde v případě větších hlubších depresí o nevhodnou metodu, vytvářející zmíněné nepřirozené ostře zaříznuté „kanály“, z hlediska počtu ovlivněných buněk je to jistě metoda nejšetrnější. Mění totiž elevace pouze podél cesty spojující dno s nejbližší buňkou s nižší elevací, zatímco při vyplňování (filling) jsou elevace měněny všem buňkám na celé ploše deprese. Ponecháním původních elevací všem buňkám deprese neležících podél zmíněné cesty je tak zachováno maximum informace obsažené v originálním DEM. Název metody (carving, překládáme jako vyrývání) pochází od Soilla et al. (2003) a je zdůvodněn tím, že metoda skutečně připomíná jakési „vytlačení“ či „vyrytí“ odtokové cesty z deprese, a to snížením elevací podél zmíněné cesty19. Dno deprese je tak „kanálem“ či
19
V literatuře (Lindsay et Creed, 2005; Zandbergen, 2006) je někdy tato metoda nazývána breaching, zatímco outlet breaching (Martz et Garbrecht, 1999), zkráceně označovaný též jako breaching, tito autoři nazývají constrained breaching. To odpovídá omezení délky cesty vyrývání (neboli délky protržení), která se v metodě
65
„strouhou“ o šířce jedné buňky spojeno s nejbližší buňkou s nižší elevací, čímž je zajištěn kladný sklon. Tento princip byl představen různými autory, většinou bez vzájemné návaznosti. Pravděpodobně první popis lze nalézt v práci Riegera (1998), který navrhuje hledat nekratší spojnici bodu přetečení s nejbližším bodem dna deprese na jedné straně, a na straně druhé s nejbližší buňkou ve směru ven z deprese, která má nižší elevaci než buňka dna. Podél této cesty pak nastavuje rovnoměrně rozložený sklon, vypočtený lineární interpolací hodnot elevace dna a elevace nalezeného nižšího bodu. Tím je vytvořena cesta, jíž je celá deprese odvodněna, aniž by při tom vznikly jakékoli plošiny. Podobný postup uvádí Jones (2002) pomocí pojmů z teorie grafů, kdy buňky reprezentují vrcholy a spojnice mezi sousedy jsou hranami grafu. Hledání odtokové cesty z deprese (vyrývání) pak odpovídá postupné tvorbě stromu, jehož kořenem je buňka dna deprese. Hledání nejkratší cesty je realizováno pomocí prioritní fronty (viz Apendix), inicializované kořenem stromu, s prioritami odpovídajícími převráceným hodnotám elevací (nižší elevace znamená vyšší prioritu). Hledání končí ve chvíli, kdy je dosaženo buňky s nižší elevací než je elevace kořene stromu, a podobně jako v předchozím případě je podél nalezené cesty lineární interpolací nastaven konstantní sklon. Tato implementace se od předešlé liší především tím, že nevyžaduje předchozí nalezení bodů přetečení, což je významné zjednodušení a zefektivnění. Jones (2002) navíc stejnou procedurou řeší i případy plošin. Efektivní a jednoduchou implementaci popisují také Soille et al. (2003). Přístup je podobný jako výše popsaný způsob vyplňování (filling) (Soille et Gratin, 1994), je tedy opět založen na prioritní frontě a prohledávání DEM „odzdola nahoru“. Prioritou jsou opět převrácené hodnoty elevací:
1.
Přidej do fronty všechny buňky ležící na okraji DEM, tyto buňky označ jako zpracované.
2.
Vyjmi z fronty první člen (tedy buňku s nejnižší elevací, dále označovaná jako aktuálně vybraná buňka).
3.
Přidej do fronty všechny nezpracované sousedy aktuálně vybrané buňky a označ je jako zpracované. Těmto buňkám přiřaď odkaz (ukazatel) na aktuálně vybranou buňku.
outlet breaching používá. V logice terminologie přijaté v této práci by tak alternativou k názvu outlet breaching mohlo být constrained carving.
66
4.
Jakmile narazíš na dno deprese, sleduj pomocí zaznamenaných ukazatelů cestu, po níž bylo dna dosaženo, zpět až k buňce s nižší elevací, než je elevace dosaženého dna. Podél takto nalezené cesty sniž elevace buněk na elevaci dna deprese.
5.
Opakuj kroky 2. až 4. dokud není fronta prázdná.
Přiřazováním odkazů (ukazatelů) v kroku 3. je prakticky zaznamenáván postup, jímž byl DEM prohledáván, a umožňuje tak zpětně rekonstruovat, kudy bylo dané buňky dosaženo. To pochopitelně vyžaduje instanci příslušné datové struktury, nejlépe pole (matice) ukazatelů rozměrově odpovídající matici původního DEM. Zjištění, zda prohledávání dospělo na dno deprese (krok 4.), je umožněno díky vstupní matici (typu boolean), v níž jsou buňky spadající do nějakého dna deprese označeny. Složitost algoritmu je opět O(nlogn), kde n je počet buněk v DEM, a je dána složitostí prioritní fronty.
2.3.3.5 Metody s minimální cenou Snaha po co nejmenším ovlivnění původního DEM vedla k vyvinutí složitějších metod ošetřování depresí, založených na porovnání několika předchozích metod, výpočtu „ceny“ (cost) a výběru metody s cenou nejnižší. Přitom cena může být v principu počítána dvěma způsoby, buď jako počet ovlivněných buněk (tedy buněk, jimž byla při dané metodě snížena
či zvýšena elevace), nebo jako součet absolutních hodnot rozdílů elevací původního DEM a DEM bez depresí. První přístup je zaměřen na ovlivněnou plochu, druhý na objem (Soille, 2004). Samozřejmě jsou možné i další způsoby výpočtu ceny, např. největší změna v elevaci
či průměrný počet ovlivněných buněk na jednu depresi apod. Jednoduchým porovnáním několika metod pomocí výpočtu ceny se zabývají Lindsay et Creed (2005b), kteří mezi sebou srovnávají následující čtyři přístupy: 1. vyplnění (filling) 2. protržení hráze (outlet breaching, drobně obměněné oproti původní verzi Martze a Garbrechta (1999)) 3. vyrývání (carving, článek se odkazuje k implementaci Riegera (1998)) 4. metoda IRA (viz dále)
67
Vedle uvedených metod je ještě uvažována varianta, kdy před vlastním průběhem metody jsou vyplněné všechny deprese o rozloze jedné buňky, jako tomu bylo v případě algoritmu Jensonové a Domingua (1988) u metody vyplnění. Lindsay a Creed (2005b) použití tohoto přípravného kroku nazývají de-pitting, což vychází z jejich označení pro tyto jednoduché deprese (pits). S výjimkou metody vyplnění samozřejmě použití této před-procedury ovlivňuje cenu, proto autoři odlišují u metod 2. až 4. variantu s procedurou de-pitting a bez ní. Tím je skutečný počet porovnávaných metod navýšen ze čtyř na sedm.
Čtvrtá metoda, nazvaná IRA („Impact Reduction Approach“), je nová metoda vyvinutá autory (ibidem). Je vlastně kombinací metod vyplnění a vyrývání, a to v tom smyslu, že nejprve provede každou z těchto metod na všechny deprese, spočítá cenu a podle ní vybere metodu s nižší cenou. Cena se zde počítá pomocí počtu ovlivněných buněk (NMC, „Number of Modified Cells“) a střední absolutní odchylky původních a nových elevací (MAD, „Mean Absolute Difference“), jde tedy o kombinovanou cenu složenou z ceny plošné (NMC) i objemové (MAD). Je vyjádřena v tzv. koeficientu ovlivnění IF („Impact Factor“):
IF =
1 NMC f MAD f + 2 NMCc MADc
,
(2.3.1)
kde indexy f resp. c odkazují na metodu vyplnění (filling) resp. vyrývání (carving). Tento koeficient se vypočte na základě cen, spočtených pro každou metodu zvlášť (vždy při ošetření všech plošin, tedy celého DEM). Je-li IF větší nebo roven jedné, pak je vybrána metoda vyrývání, v opačném případě metoda vyplnění. Nabízí se pochopitelně úvaha, proč takové rozhodnutí nečinit zvlášť u každé deprese, což by mohlo zohlednit různé typy a příčiny vzniku depresí v rámci jednoho DEM. To je nicméně podle autorů problematické z důvodu možné existence kaskádovitého uspořádání depresí (viz Obr. 2.3.6), kdy vyplnění jedné deprese zapříčiní vznik překážky pro případné vyrývání následující, výše položené deprese (ibidem).
68
Obr. 2.3.6. Příklad kaskádovitého uspořádání depresí. Původní terén je vyznačen černou linií, upravený terén modrou linií. Při ošetřování každé deprese zvlášť způsobí vyplnění deprese na buňce 4 blokádu případného vyrývání deprese na buňce 2 a naopak.
Srovnání všech sedmi výše uvedených metod autoři provádí opět pomocí cen NMC a MAD, které lze pochopitelně počítat pro jakoukoli metodu. Ze statistického porovnání na vzorku 149 podpovodí v povodí Tureckých jezer v Ontariu, USA (cca 10,5 km2) vyplývá několik závěrů (ibidem): •
Odstranění depresí z DEM má podstatný vliv na plošné i statistické rozdělení terénních charakteristik odvozovaných z DEM.
•
Tento vliv je nejmarkantnější v případě terénu s vyšším zastoupením plochého reliéfu (cca nad 10% plošin).
•
Mezi jednotlivými metodami existují významné rozdíly, nejméně vhodnou (ačkoli nejvíce používanou) metodou je vyplnění (filling), nejvhodnější (co do míry ovlivnění původního DEM) jsou metody vyrývání a IRA, IRA je o trochu lepší než vyrývání.
•
Aplikace přípravného kroku (de-pitting) před metodami vyrývání IRA vede k redukci MAD, tedy objemové ceny, přitom však zároveň vykazuje malé zvýšení NMC, tedy ukazatele plošného.
Nejradikálnější krok směrem k minimalizaci (plošné či objemové) ceny při odstraňování depresí zatím učinil Soille (2004), který svůj přístup nazývá optimální hybridní metoda (Optimal Hybrid Approach, Soille, 2007). Jde opět o kombinaci vyplnění a vyrývání, tentokrát však skutečně u každé deprese zvlášť. Navíc namísto toho, aby bylo pro každou depresi vybráno buď vyplnění nebo vyrývání, může být deprese zčásti odvodněna vyrýváním
69
a její zbytek vyplněn. Poměr obou metod je nastaven tak, aby výsledek měl minimální cenu (buď objemovou nebo plošnou). Vzniká tak pochopitelně opět problém kaskádovitých depresí, který ve výsledku vede k tomu, že případné vyplnění nižší deprese ovlivní možnost vyrývání výše položené deprese (cena za vyrývání se zvětší). To však vzhledem k přepokládanému řídkému výskytu takových situací nemusí představovat významnější problém. Důležité je, že i v těchto situacích vede metoda k úspěšnému odstranění depresí, ačkoli u kaskádovitých depresí nemusí nutně nalézt nejlevnější variantu. K výpočtu ceny při dané úrovni, do níž je deprese vyplněna, slouží následující rovnice:
C − (∆ ) = C + (∆ ) =
∑ (DEM (x ) − ∆ ) ,
(2.3.2)
∑ (DEM (x ) − ∆ ) ,
(2.3.3)
x∈Path ; DEM ( x )> ∆
x∈Dep ; DEM ( x )< ∆
C (∆ ) = C − (∆ ) + C + (∆ ) ,
(2.3.4)
kde ∆ je úroveň elevace, na kterou je deprese vyplněna, C(∆) je celková cena při vyplnění do úrovně ∆, C-(∆) je cena za vyrývání (cena způsobená snižováním elevací), C+(∆) je cena za vyplnění (způsobená zvyšováním elevací), x je poloha buňky, Path je množina buněk náležejících cestě nalezené pro vyrývání (carving path, dále označována jako cesta vyrývání), Dep je množina buněk náležejících dané depresi a DEM(x) je elevace buňky x. Výpočet
celkové ceny se provede pro ∆ v rozsahu hodnot od elevace dna deprese do elevace bodu přetečení, což v praxi znamená plynulý přechod od čistého vyrývání po čisté vyplnění. Mezi cenami vypočtenými pro jednotlivé hodnoty ∆ je nalezeno minimum. Nakonec je deprese vyplněna a vyryta v poměru daném touto nalezenou úrovní ∆, jinými slovy buňky deprese s elevací nižší než toto ∆ jsou na tuto úroveň zvýšeny (vyplnění), a naopak buňky ležící podél cesty vyrývání, které tuto úroveň převyšují, jsou na ni sníženy (vyrývání). Formulace rovnice (2.3.3) se od originálního znění (Soille, 2004) mírně odlišuje, tak aby zahrnovala i řešení složitých depresí, obsahujících více než jedno dno.20 Jak je patrné ze sumačního indexu, vyplňování je z každého dna zahájeno okamžitě jak jeho elevace překročí
20
Soille (2004) naproti tomu uvádí pro složité deprese samostatnou rovnici pro výpočet C+. Její popis by se však neobešel bez zavedení potřebných operátorů matematické morfologie.
70
danou úroveň ∆. Podobně množina Path v sumačním indexu v rovnici (2.3.2) musí zahrnovat cesty vyrývání pro všechna dna přítomná v dané depresi.
2.3.3.6 Fyzikálně založené metody Nevýhodou výše uvedených metod je vznik velkého množství plošin, zvláště pokud daná metoda používá vyplnění. Jejich výsledkem tak není uspokojivý tvar terénu v místě deprese, který by odpovídal okolní krajině a co možná nejvíc souhlasil se skutečností, ale pouze terén bez depresí, tedy „průtočný“ povrchovým odtokem ze všech bodů na okraji daného povodí až do uzávěru na okraji DEM. Vznik terénu podobajícího se reálné orografii, a tím umožňujícího správné určení směrů povrchového odtoku jak na plošinách tak v místě depresí, je tak odsunut a řešen až v rámci ošetřování plošin. Následující dvě metody tyto dva kroky, tedy řešení depresí a následné řešení původních i nově vzniklých plošin, spojují do kroku jediného, přičemž se snaží vycházet z určitých fyzikálních parametrů čitelných z okolních elevací, tak aby výsledný terén odpovídal charakteru terénu v jiných místech DEM. Obě metody při implementaci v zásadě nerozlišují mezi plošinami a depresemi a obojí řeší stejně, přičemž výsledkem je DEM bez depresí, jehož každá buňka má kladný sklon a je povrchovým odtokem odvodňována do uzávěru. První, jednodušší z obou metod (Tianqi et al., 2003) vychází z určité úpravy metody vyplnění tak, že elevace buněk depresí (a podobně i plošin) navyšuje ne na úroveň bodu přetečení, ale o něco víc, tak aby na výsledné ploše vznikl pozitivní sklon. Toho je docíleno pomocí tzv. prostorově distribuovaného elevačního přírůstku („spatially distributed elevation increment“), který je počítán pro každou buňku deprese (resp. plošiny). Přitom prostorová distribuce elevačního přírůstku je nastavena tak, aby odrážela celkový sklon přítomný v celém DEM, jinak řečeno celkový přibližný směr, kudy voda z DEM odtéká. Počátek souřadnic jednotlivých buněk DEM je umístěn v tom rohu DEM, který je nejblíže nejvyšší části daného povodí. V praxi je toto uskutečněno tak, že je nejprve DEM rozdělen na
čtyři stejně velké části, přičemž každá z nich přiléhá k jednomu z rohů DEM. V rámci těchto částí je spočítána průměrná elevace a roh, jehož část má nejvyšší průměrnou elevaci, je vybrán za počátek souřadnic. Tím je zaručeno, že souřadnice dané buňky přímo vyjadřují vzdálenost této buňky od „nejvyššího“ rohu DEM. Velikost elevačního přírůstku klesá se vzdáleností od počátku souřadnic podle rovnice:
71
dh(i, j ) = hc [1 − (αi + β j ) / ( N r + N c )] ,
(2.3.5)
kde i a j jsou souřadnice dané buňky, dh je elevační přírůstek, hc je volitelný maximální přírůstek, α resp. β jsou koeficienty vyjadřující stupeň svažitosti terénu podél osy X (řádky) resp. Y (sloupce) a Nr resp. Nc je počet řádků resp. sloupců DEM. Je pochopitelné, že maximální přírůstek hc by měl být menší než je vertikální rozlišení DEM. Praktický experiment na dvou různých povodích vedl autory k doporučení hodnoty hc = 0.1m (ibidem). U koeficientů α a β se předpokládá, že jsou tím vyšší, čím větší je svažitost podél příslušné souřadné osy, přitom je však požadováno, aby platilo: α + β = 2. Provedená citlivostní analýza vedla autory k závěru, že vzhledem k malému vlivu koeficientů lze vystačit s hodnotami: α =
β = 1 (ibidem). Vzhledem k tomu, že při aplikaci popsané metody mohou snadno vznikat nové deprese (či plošiny) v okolí původních, je třeba ji provádět iteračně, dokud jsou nějaké deprese (či plošiny) přítomny. To je jednou z hlavních nevýhod, neboť tím jednak roste výpočtový čas (vždy je třeba znovu prohledat celý DEM a lokalizovat deprese včetně bodů přetečení) a jednak tím dochází ke ztrátě původní korektní informace v místech nově vzniklých depresí a plošin. Vzniklé deprese jsou nicméně většinou velice mělké a spolu s plošinami plošně malé, a jsou následně metodou poměrně šetrně odstraněny, proto lze i přes tuto nevýhodu metodu s úspěchem použít (ibidem). Jinou, pravděpodobně vážnější námitkou proti popsané metodě je skutečnost, že ne vždy je DEM dostatečně jednoduchý, aby reprezentoval jeden převládající směr odtoku. Velmi
často je např. přítomno vícero zhruba stejně velkých povodí s uzávěry na okraji DEM, přičemž tyto uzávěry mohou ležet klidně téměř naproti sobě. V takovém případě metoda tak jako tak vybere jeden z rohů DEM za počátek souřadnic a spočítá elevační přírůstek zcela bez ohledu na zmíněnou složitou orografii. Autoři sami konstatují, že sofistikovanější způsob určení prostorové distribuce elevačního přírůstku, který by bral v úvahu skutečné poměry v DEM, by pravděpodobně znamenal neúnosné zvýšení složitosti metody (ibidem). Z tohoto důvodu lze metodu doporučit jen pro případy jednoduchých DEM, reprezentujících jedno hlavní povodí jednoduchého tvaru. Odlišným, skutečně fyzikálně založeným přístupem je metoda autorů Grimaldi et al., 2007 nazvaná PEM4PIT („Physical Erosion Model for PIT filling“). Je založena na metodě
72
interpolace elevací při tvorbě čtvercové sítě DEM z bodových hodnot (Niemann et al., 2003), při níž je řešena rovnice kontinuity hmoty pro ustálenou topografii ve tvaru: 0 = U − βAθ S + D∆z ,
(2.3.6)
kde z je nadmořská výška [L], U je rychlost tektonického zdvihu [L/T], βAθS je člen vyjadřující fluviální zařezávání terénu [L/T], D∆z je člen vyjadřující rychlost eroze či ukládání [L/T] způsobených difúzními svahovými procesy závislými na tvaru terénu. Dále S je nejstrmější kladný sklon v daném bodě [L/L], A je přispívající plocha v daném bodě
(contributing area) [L2], θ je měřítkový parametr vyjadřující vztah mezi přispívající plochou a sklonem [-], β je erodovatelnost povrchu [L1-2θ/T] závislá na charakteru podloží, klimatu a geometrii toku, ∆z je křivost svahu [L-1] (∆ je značka pro Laplaceův operátor) a konečně D je koeficient difuzivity svahu [L2/T], odvozený z klasické rovnice pro lineární transport sedimentů po svahu (Martin, 2000):
∂q ∂q ∂z = − x + y , ∂t ∂y ∂x
∂z ∂z qx = − D , q y = − D , ∂x ∂y
∂2 z ∂2 z ∂z = D 2 + 2 = D∆z . ∂t ∂y ∂x
(2.3.7)
(2.3.8)
(2.3.9)
Rovnice (2.3.7) je rovnicí kontinuity pro pohyb sedimentu, rovnice (2.3.8) jsou vyjádřením horizontálních složek rychlosti pohybu sedimentu a jsou analogické Darcyho vztahu pro rychlost proudění nasyceným porézním prostředím. Z analogie vyplývá, že úlohu nasycené hydraulické vodivosti z Darcyho vztahu zde přebírá právě koeficient difuzivity svahu D. Spojením rovnic (2.3.7) a (2.3.8) vznikne rovnice (2.3.9), která je ve stejném smyslu analogií rovnice pro proudění nasyceným porézním prostředím a vyjadřuje rychlost eroze či ukládání sedimentu v daném bodě. Uvedenou rovnici (2.3.6) je pro případ čtvercové sítě DEM možné převézt do diskrétního tvaru a normalizovat na jednotkový tektonický zdvih U, jehož skutečná hodnota je tak
73
zahrnuta v parametrech ostatních členů rovnice (β a D). Rovnice (2.3.6) tak přechází na tvar (Grimaldi et al., 2007):
z − zd 4 D ( 0 = 1 − β Aθ + 2 (z − z ) , ∆l ∆x
(2.3.10)
kde z je odhadovaná nadmořská výška buňky deprese, zd je elevace sousední buňky ve směru ( největšího spádu, ∆l je vzdálenost mezi středy těchto buněk, z je elevace spočtená jako aritmetický průměr elevací čtyř kardinálních sousedů dané buňky a ∆x je horizontální rozlišení DEM. Přímá aplikace rovnice (2.3.10) je možná jen pro izolovaná jednobuňková dna depresí. U depresí větších rozměrů je třeba rovnici postupně řešit pro jednotlivé buňky daného dna, a to ve směru od bodu přetečení k výše položeným partiím terénu, jinými slovy ve směru opačném ke směru povrchového odtoku (Niemann et al., 2003). Implementace je, podobně jako u předešlé metody, provedena v iteračním cyklu, kontrolujícím po každém průběhu metody přítomnost depresí v upravené topografii. Metodu lze přitom stejně dobře použít jak pro deprese, tak pro plošiny. Jak ukazují analýzy vzniklých profilů (podélných řezů upraveným terénem), metoda mění topografii ve značném rozsahu, mnohem více (a to jak z hlediska ovlivněné plochy tak z hlediska změn elevací) než metoda vyplnění, navíc mění elevace i buňkám, které původně v depresi ani v plošině neležely. Těmto buňkám však elevace nemění příliš, a ačkoli je to možné vidět jako nežádoucí nevýhodu metody, jedná se vlastně o daň zaplacenou za vytvoření mnohem „reálnějších“, tedy skutečnosti se podobajících profilů, což by mělo vyústit i v reálněji tvarovanou odtokovou síť.
74
75
2.4 Plošiny 2.4.1 Použitá terminologie Plošina. Plošinou mám na mysli souvislou skupinu buněk, které mají všechny stejnou elevaci, přičemž alespoň jedna buňka skupiny nemá odtok a alespoň jedna buňka na okraji skupiny alespoň jeden odtok má. Jinými slovy jde o plochou část terénu s bezodtokým středem, která však není součástí deprese. V literatuře se pro plošiny většinou používá výraz flat areas, flat surfaces či jen flats (např. Garbrecht et Martz, 1997), někdy též plateaus (např.
Soille et Gratin, 1994). V praxi jsou možné dva přístupy k identifikaci plošin. Buď je za plošinu považována celá souvislá skupina buněk se stejnou elevací (ve smyslu výše uvedené definice), nebo je za plošinu považován jen střed takové skupiny buněk, konkrétně tedy jen takové buňky, které nemají odtok a které tak představují ona problematická místa vyžadující ošetření. Plošiny ve smyslu posledně uvedené definice vzniknou z předchozích odebráním okrajových buněk, majících stejnou elevaci jako buňky plošiny, nicméně sousedících s buňkami s elevací nižší, do nichž tak mohou odtékat. Ačkoli to takto vypadá, že je mezi oběma definicemi jen tento nepatrný rozdíl, ve skutečnosti přechod od jedné definice ke druhé může znamenat značné změny v ploše i počtu plošin. Některé plošiny původně propojené do jediné plošiny úzkým pásem o šířce jedné buňky se totiž po odebrání buněk s odtokem mohou rozpadnout do několika podstatně menších plošin. Takové změny v evidenci plošin mohou podstatně ovlivnit průběh některých algoritmů, které plošiny ošetřují, neboť ty často pracují s dopředu vypracovaným seznamem všech plošin přítomných v DEM. Přestože v níže popisovaném programu (viz kap. 3.1.4.2) používám druhou definici, která označuje za plošiny jen jejich bezodtoké části, v textu, který bezprostředně následuje, budu naopak používat definici první, která je pro popis některých algoritmů výhodnější. Spodní/horní okraj. Spodním okrajem plošiny mám na mysli množinu takových buněk plošiny, které sousedí s nějakou buňkou s elevací nižší, než je elevace plošiny. Pokud tedy vyjdeme z první definice plošiny (viz výše), pak má každá plošina spodní okraj, ať již jakkoli velký (od jedné buňky až po celý okraj plošiny)21. Analogicky za horní okraj plošiny považuji množinu buněk okraje plošiny sousedících s nějakou buňkou s elevací vyšší, než je elevace
Plošiny ve smyslu druhé definice naopak žádný spodní okraj mít nemohou, či lépe řečeno příslušný spodní okraj nebude součástí plošiny. 21
76
plošiny, zároveň však nesousedící z žádnou buňkou s elevací nižší. Je zřejmé, že plošiny (nezávisle na definici) mohou či nemusí mít horní okraj, každopádně horní okraj nemůže nikdy obsahovat celý okraj plošiny (jednalo by se o depresi).
2.4.2 Popis problému Plošiny mohou v DEM vznikat buď jako odraz skutečných plochých míst v terénu, jejichž sklon je pod hranicí danou vertikálním rozlišením DEM, nebo jako nereálný útvar, nemající předlohu ve skutečné krajině. Teoreticky by tak bylo možné rozlišovat mezi skutečnými a chybovými plošinami, jako tomu bylo u depresí. Nicméně charakter problému, který je třeba v souvislosti s plošinami řešit (viz dále), podobné dělení nevyžaduje, jinými slovy plošiny je třeba ošetřit bez ohledu na příčiny jejich vzniku. Původ chybových plošin může být velmi podobný původu chybových depresí, to znamená že je lze očekávat spíše v plochých terénech s nízkým poměrem signál-šum, kde mohou být způsobeny jednak příliš hrubým vertikálním rozlišením DEM (chyby ze zaokrouhlování), jednak chybami ve vstupních datech22. Velmi
často vznikají plošiny v DEM vytvořených z vrstevnic, zejména při použití nevhodných interpolačních metod. Podobné DEM mají pak často povahu jakýchsi „schodových“ modelů, s protáhlými plošinami mezi každými dvěma vrstevnicemi. Existence plošin je problémem především při simulaci povrchového odtoku. Uvnitř plošiny se totiž nacházejí buňky, které nemají v žádném směru kladný sklon, neboť jsou obklopeny buňkami se stejnou elevací. V reálné topografii však vždy nějaký minimální sklon existuje a voda se na plošině nezastaví23 (navíc i kdyby zde nulový sklon skutečně byl, voda poteče díky hybnosti). Z lokální informace obsažené v buňce obklopené buňkami se stejnou elevací však nelze nijak odvodit, kam ve skutečnosti voda z buňky odtéká. Pokud bychom v takových případech vybrali náhodně jeden z možných směrů (do některé buňky se stejnou elevací), na větší plošině dojde snadno k nevhodnému zacyklení toku. Navíc i kdyby ke vzniku cyklu nedošlo, tímto způsobem nalezené odtokové trasy budou vykazovat zcela nereálné tvary, což je nežádoucí např. při extrakci sítě vodních toků. Je tedy zřejmé, že přisouzení směrů odtoku buňkám plošin je třeba provézt sofistikovaněji, s využitím ne pouze lokální informace, ale i znalosti terénu v okolí plošiny. K ošetřování plošin existují dva základní přístupy. První přístup se snaží buňkám plošin pouze určit směry odtoku, aniž by jim jakkoli měnil elevaci (např. Jenson et Domingue, 1988; 22 23
Tento typ chyb byl podrobně rozebrán v části kap. 2.3.2.2. Upozorňujeme na zmiňovaný předpoklad nepropustného povrchu bez vegetace, viz kap. 2.2.1.
77
Tribe, 1992; Soille et al., 2003). To odpovídá předpokladu, že plošiny v DEM mají protějšek v plochých partiích ve skutečném terénu. Druhý přístup naopak buňkám plošin elevaci mění a pokouší se tak jakoby rekonstruovat skutečný terén, většinou na základě nějakých dosti obecných předpokladů (např. Grimaldi et al., 2007). V souvislosti s těmito dvěma přístupy je vhodné poznamenat, že druhý přístup, měnící buňkám elevace, je možné převézt na způsob první tím, že se buňkám se změněnými elevacemi nejprve určí směry odtoku, nicméně nakonec se jim ponechají původní elevace, takže plošina v DEM zůstane. Ještě jiným přístupem je sice buňkám elevace změnit, nicméně pouze velmi nepatrně (zanedbatelně vzhledem k vertikálnímu rozlišení DEM), což má v praxi stejný efekt, jako by jim zůstaly elevace původní (Garbrecht et Martz, 1997), nicméně je vytvořen „průtočný“ DEM, v němž na zdánlivých plošinách, podobně jako na těch skutečných, existují určité minimální sklony dovolující vodě téct. Snaha vytvořit realitě se podobající topografii také umožňuje následné použití vícesměrných odtokových algoritmů, u nichž je rozdělování odtoku z dané buňky do různých směrů dáno sklony v těchto směrech. Vedle problému s určením směrů odtoku je na plošinách také problém s určením sklonu. Ten je zde totiž roven nule, což působí problémy např. při výpočtu topografického indexu (vztah (2.1.12)), neboť zde je sklon ve jmenovateli zlomku. Přitom k určení sklonu na plošinách opět existují zmíněné dva přístupy, čili buď pouhé přisouzení jistého minimálního sklonu buňkám plošiny, nebo vytvoření nové topografie změnou elevací buněk plošiny. Vzhledem k tomu, že posledně jmenovaný přístup bude v následujících částech podrobně rozveden, věnujeme na tomto místě několik poznámek přístupu prvnímu, tedy určení minimálního sklonu pro buňky plošin. Nejjednodušší metodu popisují Wolock a McCabe (1995), kteří nulový sklon buněk plošin doporučují nahradit hodnotou Smin = 0.5*vr/hr, kde vr resp. hr je vertikální resp. horizontální rozlišení DEM. Jinou, o něco složitější metodu nazvanou TFD-algoritmus (Tracking Flow Direction) navrhli Pan et al. (2004). Jak název napovídá, tato metoda využívá pro určení
sklonu na plošinách informaci o směrech odtoku, které tak musí být nejprve určeny, a to pomocí jednosměrného odtoku (autoři k tomu účelu používají metodu gradientu ke spodnímu okraji, jež je popsána v kap. 2.4.4). Z dané buňky, pro niž je sklon počítán, je sledována odtoková trasa až k první buňce s nižší elevací, než je elevace plošiny. Sklon je následně vypočítán jako rozdíl elevace buňky plošiny a elevace této nižší buňky, dělený jejich horizontální vzdáleností počítanou podél odtokové trasy (čili délkou jejich spojnice).
78
2.4.3 Algoritmy řešící plošiny společně s depresemi Některé algoritmy vyvinuté za účelem řešení depresí lze bez problémů použít i pro ošetření plošin, neboť řeší obecně všechny buňky, u nichž neexistuje v žádném směru kladný sklon. Z algoritmů, které jsme popsali v kap. 2.2, se jedná o obě dvě fyzikálně založené metody (Tianqi et al., 2003 a Grimaldi et al., 2007) a algoritmus Jonesův (2002). Zatímco u fyzikálně založených metod dochází ke značné změně původní topografie (navíc nejen v místech původních plošin a depresí) a k modelaci topografie nové, přístup Jonese je naopak zaměřen na pouhé nalezení odtokových směrů, bez ambice vytvořit lepší, „opravený“ DEM. V praxi tak jeho metoda, nejvíce podobná metodě vyrývání (carving, viz kap. 2.3.3.4), vede ke vzniku dlouhých ostře zařízlých „kaňonů“, kterými je plošina (deprese) odvodněna. Nalezené odtokové směry však vykazují poměrně reálné tvary s výraznou konvergencí toku (Jones, 2002). Vzhledem k nereálnosti nově vzniklých sklonů je nicméně metoda omezena na jednosměrný odtokový algoritmus (D8). Bližší popis uvedených algoritmů lze nalézt v kap. 2.3.3.4 a 2.3.3.6.
2.4.4 Gradient ke spodnímu okraji Prvním řešením problému plošin byl patrně algoritmus Jensonové a Dominguea (1988). Tento algoritmus řeší plošiny iterativním procesem, kdy v každé iteraci jsou nalezeny ty buňky plošiny, které sousedí s nějakou buňkou mající směr odtoku již určen24 (na začátku se tedy jedná o buňky spodního okraje plošiny). Těmto buňkám je přisouzen směr odtoku do onoho již ošetřeného souseda. Takto je směr odtoku postupně přiřazován všem buňkám plošiny, a to ve směru od spodního okraje plošiny k hornímu okraji. Ve většině případů je nicméně nutné při hledání již ošetřeného souseda vybírat z více (většinou ze tří) možností, což je řešeno pomocí několika pravidel. Např. pro typický případ, kdy je směr odtoku vybírán z jednoho kardinálního a sousedních dvou diagonálních směrů, existuje pravidlo vybírající směr kardinální. Takto vzniknou na plošině pro tento algoritmus typické paralelní linie (odtokové trasy, viz Obr. 2.4.1.), pro které byl algoritmus opakovaně kritizován a většina dalších algoritmů vzešla ze snahy reprezentovat na plošinách konvergenci toku (Garbrecht et Martz, 1997; Soille et al., 2003).
24
Předpokládá se předchozí nalezení odtokových směrů pro všechny buňky, mající kladný sklon.
79
Obr. 2.4.1. Ukázka DEM o rozloze 6x6 buněk s plošinou (zelené buňky) uprostřed. Vlevo označují číslice elevace, šipky v pravém obrázku značí odtokové směry nalezené algoritmem Jensonové a Dominguea (1988). Číslice v pravém horním rohu buněk označují, v kolikáté iteraci byl buňce přiřazen směr odtoku.
Soille a Gratin (1994) ukázali, jak lze výše popsaný algoritmus převést na výpočet tzv. geodetické vzdálenosti (geodesic distance) buněk plošiny od jejího spodního okraje.
Geodetická vzdálenost dA(p,q) mezi buňkami p a q ležících v souvislé množině buněk A je definována jako délka (počet buněk) nejkratší spojnice spojující buňky p a q, přičemž všechny buňky této spojnice leží v množině A. Množina A, uvnitř které je vzdálenost počítána, se často nazývá geodetická maska (geodesic mask). Funkci geodetické vzdálenosti (geodesic distance function25) počítanou od podmnožiny Y geodetické masky A je možné označit jako DA(Y).
Tato funkce přiřazuje dané buňce p geodetické masky A hodnotu nekratší geodetické vzdálenosti mezi buňkou p a jakoukoli buňkou množiny Y, což lze zapsat jako (viz např. Soille et al., 2003; Soille, 2003):
[DA (Y )]( p ) = min{d A ( p, q ) q ∈ Y }.
(2.4.1)
V našem případě je geodetickou maskou množina buněk dané plošiny a podmnožinou Y, od níž je počítána funkce geodetické vzdálenosti, je spodní okraj plošiny. Odtokové směry jsou pak identifikovány příslušným algoritmem (jednosměrným či vícesměrným) na umělém povrchu, tvořeném funkčními hodnotami funkce geodetické vzdálenosti na jednotlivých buňkách plošiny (viz Obr. 2.4.2.). Použitím funkce geodetické vzdálenosti odpadá nutnost iteračního řešení a algoritmus se tak stává efektivním i pro rozsáhlé plošiny (případně pro velký počet plošin ve velkých DEM). Pro konkrétní implementaci pomocí front viz Soille et Gratin (1994), případně viz zdrojové kódy předkládaného programu na přiloženém CD.
25
Zde uváděné pojmosloví je převzato z teorie zpracování digitálního obrazu. Jak uvádíme v poznámce té a té, algoritmy vyvíjené Pierrem Soillem vděčí za svou efektivitu a eleganci právě svému zakotvení v matematické morfologii a teorii zpracování obrazu.
80
Obr. 2.4.2. Gradient ke spodnímu okraji pomocí geodetické vzdálenosti. Vlevo jsou hodnoty elevací, červeně je obtažena geodetická maska (plošina), žluté buňky znázorňují podmnožinu geodetické masky, od níž je počítána funkce geodetické vzdálenosti (odpovídá spodnímu okraji plošiny). Uprostřed jsou hodnoty funkce geodetické vzdálenosti, vytvářející nakloněnou plochu, vpravo jsou pak výsledné odtokové směry identifikované na této ploše. Upraveno podle Soille et al., 2003.
Podobným způsobem, tedy směrem od buněk spodního okraje plošiny k buňkám horního okraje, postupují i autoři Pilesjö et al. (1998). Ti na plošině definují odtokové směry postupně od buněk sousedících s buňkami, na nichž již byl odtokový směr identifikován, přičemž přednost mají buňky s více takovými sousedy. Odtokový směr je určen součtem vektorů odtokových směrů okolních buněk, na nichž je tento směr již určen. Jde o jednoduchý a účinný algoritmus, nicméně je omezen pouze na ty odtokové algoritmy, které reprezentují odtokový směr pomocí vektoru, jehož směr může nabývat libovolných hodnot od 0° do 360° (např. Tarboton, 1997; Pilesjö et al., 1998).
2.4.5 Nejkratší cesta Za účelem vystižení konvergence toku na plošinách vyvinula Tribeová (1992) algoritmus, který na plošině nejprve určí hlavní linii odtoku podél odtokové trasy procházející napříč plošinou, a odtokové směry ostatních buněk plošiny následně přizpůsobí tomuto hlavnímu toku. Na plošině jsou nejprve identifikovány dvě buňky, z nichž jednu by bylo možné označit jako vstupní buňku, neboť reprezentuje místo, kudy voda vstupuje do plošiny, a druhou bychom mohli nazvat výstupní buňkou, neboť naopak odpovídá místu, kudy voda z plošiny odtéká. Mezi těmito dvěma buňkami je posléze nalezena přímá (čili nejkratší) spojnice a buňkám této spojnice jsou přisouzeny směry odtoku ve směru od vstupní buňky k výstupní buňce. V dalším kroku jsou vybrány horní a dolní kardinální sousedé buněk spojnice s levým a pravým kardinálním směrem odtoku a leví a praví kardinální sousedé buněk spojnice s horním a dolním kardinálním směrem odtoku. Pokud tyto buňky patří do plošiny, je jim
81
přisouzen kardinální směr odtoku přímo do příslušné buňky spojnice. V dalším kroku je totéž provedeno pro buňky spojnice s diagonálními směry odtoku a nakonec je podobně určen směr odtoku i ostatním buňkám, sousedícím se spojnicí. Na závěr je všem ostatním buňkám plošiny, kterým dosud nebyl určen směr odtoku, tento směr určen stejným způsobem, jako v algoritmu Jensonové a Dominguea (1998), přičemž tentokrát jsou směry přisuzovány buňkám nikoli ve směru od spodního okraje plošiny, ale od zmíněné spojnice vstupní a výstupní buňky. Tak je zaručena zmiňovaná konvergence toku (viz Obr. 2.4.3.).
Obr. 2.4.3. Postup ošetření plošin podle Tribeové (1992). Vlevo je DEM s červeně označenou plošinou, zeleně označenou vstupní a žlutě označenou výstupní buňkou. Uprostřed je naznačeno přisouzení odtokových směrů podél spojnice vstupní a výstupní buňky. Vpravo jsou výsledné směry odtoku, malé číslice v rozích buněk označují krok, v němž byl buňce přiřazen směr odtoku. 1 – buňky spojnice, 2 – kardinální sousedé buněk spojnice s kardinálními směry odtoku, 3 – diagonální sousedé buněk spojnice s diagonálními směry odtoku, 4 - ostatní sousedé buněk spojnice a 5 – ostatní buňky plošiny. Upraveno podle Tribe (1992).
V případě, že má plošina složitější tvar a nalezená spojnice vstupní a výstupní buňky prochází přes buňky do plošiny nepatřící, algoritmus těmto buňkám změní elevace na elevaci plošiny a dál s nimi zachází jako s plošinou. Jinými slovy, v případě složitých tvarů plošin je těmto plošinám tvar upraven tak, aby spojnice z plošiny nevybočovala (Tribe, 1992). Tato skutečnost se pochopitelně stala hlavním kamenem úrazu tohoto algoritmu a důvodem jeho nízkého ohlasu. Jak poznamenávají Martz a Garbrecht (1995), algoritmus se sice pokouší vyřešit problém paralelních odtokových tras, nicméně vytváří problém jiný, možná ještě závažnější, a to vznik zařízlých koryt (s elevací plošiny) procházejících okolním vyšším terénem, v místech, kde původně žádný problém s nalezením směrů odtoku nebyl. Navíc autoři upozorňují, že metoda nepřiměřeně zkracuje výsledné odtokové trasy a tím i následně extrahované vodní toky, což je přímým důsledkem hledání nejkratší spojnice mezi vstupní a výstupní buňkou (Martz et Garbrecht, 1995). Kratší odtokové trasy, než by odpovídalo vodním tokům na mapách, vytváří podle stejných autorů i algoritmus Jensonové a Dominguea (1998). Další problémy jsou spojeny s nejednoznačností určení vstupní a výstupní 82
buňky, neboť v některých (nijak vzácných) případech může existovat větší množství buněk, které by bylo možné za vstupní či výstupní buňku považovat (Soille et al., 2003). Tribeové algoritmus je problematický také v případě náhorních plošin, které vstupní buňky zcela postrádají.
2.4.6 Gradient od horního okraje Zmíněné problémy s výše popsanými algoritmy (Jenson et Domingue, 1988; Tribe, 1992) vedly Garbrechta a Martze (1997) k vyvinutí takového algoritmu, který by reprezentoval konvergenci tak, aby hlavní odtoková trasa procházela pokud možno středem plošiny a odrážela tak její tvar. Jejich algoritmus se dá chápat jako určité rozvinutí či vylepšení gradientu ke spodnímu okraji, kdy je využita informace z celého okraje plošiny. Ke gradientu ke spodnímu okraji je jednoduše přidán gradient od horního okraje, takže výsledná odtoková síť odráží poměr a polohu všech přítoků resp. odtoků do resp. z plošiny. Základní tři kroky algoritmu jsou znázorněny na Obr 2.4.4. V prvním kroku je na plošině vytvořena umělá plocha, vytvářející gradient ke spodnímu okraji. Postup je takový, že jsou na plošině nejprve identifikovány všechny buňky, které nesousedí s žádnou buňkou s nižší elevací, jinými slovy buňky bez kladného sklonu, pro které zatím není určen směr odtoku. Elevace těchto buněk jsou následně navýšeny o jistou velmi malou hodnotu (elevační přírůstek), o hodně menší, než je vertikální rozlišení DEM (autoři doporučují hodnotu
2*vr/100000, kde vr je vertical resolution čili vertikální rozlišení). Toto navýšení je prováděno opakovaně, dokud v plošině existují nějaké buňky bez kladného sklonu. V druhém kroku je podobným způsobem na původní plošině vytvořena jiná plocha, odrážející naopak gradient směrem od horního okraje plošiny. Nejprve jsou navýšeny elevace těm buňkám plošiny, které sousedí s nějakou buňkou s vyšší elevací, přitom však nesousedí s žádnou buňkou s elevací nižší. Toto navýšení je dále iteračně opakováno s tím, že je vždy současně navýšena elevace všem buňkám, kterým již byla navýšena v předchozích iteracích. Navyšování opět končí tehdy, nejsou-li již v plošině žádné buňky, které by nesousedily s nějakou buňkou s nižší elevací. Třetím, a většinou i závěrečným krokem je kombinace obou gradientů, která je provedena prostým sečtením hodnot, o které byly elevace buněk plošiny navýšeny v obou předchozích krocích. Výsledná plocha pak většinou vytváří průtočný terén s dostatečně reprezentovanou konvergencí toku, odpovídající okolnímu terénu (Garbrecht et Martz, 1997). Autoři však upozorňují na občas se vyskytující výjimečný případ, kdy po sečtení obou ploch je uprostřed
83
původní plošiny vytvořena plošina nová, jak dokumentuje Obr 2.4.4. Tuto novou plošinu pak algoritmus řeší jednoduchým gradientem ke spodnímu okraji (první krok algoritmu), ovšem s použitím polovičního elevačního přírůstku (vs/100000).
Obr. 2.4.4. Tři kroky algoritmu Garbrechta a Martze (1997). Malé červené číslice značí elevace, velké modré číslice značí vzniklý gradient, čili počet, kolikrát byl k původní elevaci přičten elevační přírůstek. V levém sloupci je naznačen výpočet gradientu ke spodnímu okraji plošiny, v prostředním sloupci je výpočet gradientu od horního okraje plošiny a v pravém sloupci je součet obou gradientů a výsledné odtokové směry s výraznou konvergencí toku, odpovídající elevacím okolí plošiny. Součtem gradientů vzniká na buňkách D4 a E4 nová plošina, která je vyřešeno pomocí gradientu ke spodnímu okraji (není znázorněno) s polovičním elevačním přírůstkem, což by odpovídalo hodnotě 3,5 na buňce D4. Upraveno podle Garbrecht et Martz, 1997.
84
Vylepšenou variantu algoritmu založenou na geodetické vzdálenosti přednesli Soille et al. (2003). Zatímco první krok, shodný s algoritmem Jensonové a Dominguea (1988), lze opět realizovat prostým výpočtem funkce geodetické vzdálenosti od spodního okraje plošiny, druhý krok je možné získat jako inverzní hodnoty k funkčním hodnotám funkce geodetické vzdálenosti od horního okraje plošiny. Namísto tohoto postupu, při němž mohou vznikat již zmíněné výjimečné případy nových plošin, však autoři navrhli poněkud jiné řešení, založené na konceptu tzv. geodetického času (geodesic time, Soille, 1994). Časem τf(P), potřebným k překonání určité diskrétní trasy P(p1,p2,...,pn) nějakým diskrétním polem f (může jít např. o pole elevací, čili vlastní DEM, elevace buňky pi se pak bude značit f(pi)), je rozuměn součet (Soille, 1994; Soille et al., 2003):
n
τ f (Ρ ) = ∑ i =1
f ( pi −1 ) + f ( pi ) . 2
(2.4.2)
Geodetickým časem τf(p,q) mezi buňkami p a q je pak rozuměn nejkratší čas, dovolující propojit buňku p s buňkou q:
τ f ( p, q ) = min{τ f (Ρ ) p, q ∈ Ρ}.
(2.4.3)
Funkce geodetického času (geodesic time function) počítaná od podmnožiny Y diskrétního pole f je definována jako nejkratší čas, dovolující propojit danou buňku p s jakoukoli buňkou q podmnožiny Y:
[τ (Y )]( p ) = min{τ ( p, q ) q ∈ Y }. f
f
(2.4.4)
Jsou-li hledané spojnice, z nichž je vybírána ta s nejmenším geodetickým časem, omezeny z celého diskrétního pole f na nějakou jeho souvislou podmnožinu A, je tato množina (podobně jako v případě geodetické vzdálenosti) nazývána geodetickou maskou (geodesic mask). Zjednodušeně lze geodetický čas mezi dvěma buňkami počítat jako prostý součet
hodnot daného diskrétního pole podél příslušné trasy spojující dané dvě buňky. V případě pole elevací tedy půjde o součet elevací podél příslušné spojnice (Soille et al., 2003). V případě algoritmu na ošetření plošin (viz Obr. 2.4.5.) je geodetickou maskou A daná ošetřovaná plošina, podmnožinou Y, od níž je geodetický čas počítán, je spodní okraj plošiny
85
a ovšem diskrétním polem, z jehož hodnot je čas počítán, není pole elevací, ale pole převrácených hodnot funkce geodetické vzdálenosti počítané od horního okraje plošiny. Tak ve skutečnosti dochází k přímému spojení obou gradientů (ke spodnímu a od horního okraje), aniž by vznikaly výše uvedené nové plošiny, které by bylo třeba dodatečně řešit.
Obr. 2.4.5. Určení odtokových směrů na ploše vzniklé výpočtem funkce geodetického času od spodního okraje plošiny s geodetickou maskou v podobě inverzní geodetické vzdálenosti od horního okraje plošiny. a – původní DEM, b – inverzní hodnoty funkce geodetické vzdálenosti od horního okraje plošiny, c – funkce geodetického času od spodního okraje plošiny a d – výsledné odtokové směry. Upraveno podle Soille et al., 2003. Odtokové směry jsou shodné jako na Obr. 2.4.4., během výpočtu však nevznikla žádná nová plošina, kterou by bylo třeba dále řešit.
2.4.7 Šplhání do šířky Tímto kuriózním názvem označujeme algoritmus, který navrhli Wang a Liu (2006). Vychází z jejich postupu při identifikaci a vyplňování depresí (viz kap. 2.3.3.2) pomocí prioritní fronty, kdy se postupuje ve směru od nižších partií terénu k vyšším metodou prohledávání do šířky (proces tak připomíná šplhání). Touto metodou je prohledáván celý DEM najednou, přičemž v každém kroku prohledávání je zaručeno, že všechny nižší buňky jsou již prohledány, a do fronty kandidátů na další prohledávání se zařazují sousedé prohledávané buňky. Z této fronty je pak vždy vybírána buňka s nejnižší elevací. Jakmile toto prohledávání dorazí na plošinu, začne buňkám plošiny přiřazovat směry odtoku tak, že sousedům dané prohledávané buňky, kteří patří do stejné plošiny jako prohledávaná buňka, přiřadí směr odtoku právě do této prohledávané buňky. Výhodou tohoto algoritmu je jeho jednoduchost a rychlost, přičemž výsledná odtoková síť na plošinách vykazuje silnou konvergenci toku. Tato konvergence je nicméně poněkud „chaotická“, bez zřetelných hlavních linií odtoku, jako je tomu u algoritmů vytvářejících gradient. Pro bližší popis prohledávacího algoritmu viz kap. 2.3.3.2.
86
87
2.5 Extrakce sítě vodních toků 2.5.1 Použitá terminologie Pro popis říční sítě je možné použít různou terminologii. Jednou z možností je terminologie převzatá z matematické teorie grafů, přičemž lze využít faktu, že říční sítě mají z grafového hlediska strukturu tzv. stromů, na nichž jsou vedle obecných grafových pojmů (vrcholy-uzly,hrany) definovány pojmy jako kořen (ústí na Obr. 2.5.1) či list (vnější úsek na Obr. 2.5.1). Jinou možností, kterou jsem zvolil v této práci, je pojmenování uvedené na Obr. 2.5.1, které poněkud více odráží o jakou síť se jedná.
Obr. 2.5.1. Základní popis sítě vodních toků a její reprezentace pomocí pravidelné sítě DEM. Šipkami naznačen směr toku.
Zdroj je volný konec sítě odpovídající prameni. V reprezentaci říční sítě pomocí pravidelné sítě DEM odpovídá zdroji taková buňka říční sítě, která nemá žádný přítok z jiné buňky říční sítě. Naproti tomu ústí, čili volný konec sítě odpovídající většinou uzávěrnému profilu studovaného povodí, je v DEM reprezentován buňkou nemající žádný odtok do jiné buňky sítě. Soutokem je pak taková buňka, která má víc než jeden přítok z buněk říční sítě. Úsekem rozumím každou část sítě, která spojuje buď dva soutoky (vnitřní úsek), nebo soutok a ústí (vnitřní úsek), nebo soutok a zdroj (vnější úsek). V DEM je pak vnější úsek složen z buňky zdroje a buněk, které mají všechny právě jeden přítok i odtok z/do buněk sítě. Vnitřní úsek je složen vždy z buňky soutoku (v případě úseku spojujícího dva soutoky se
88
jedná o horní soutok, čili soutok s vyšší elevací) a buněk které mají buď jeden přítok a jeden odtok do buněk sítě, nebo mají pouze přítok (čili jde o ústí).
2.5.2 Základní přístupy Extrahovat z DEM síť vodních toků znamená určit pro každou buňku DEM, zda náleží permanentnímu toku nebo ne. K tomuto účelu bylo použito vícera odlišných konceptů, které je možné shrnout do tří kategorií (Tribe, 1992; Bertolo, 2000): 1. Metody vyšetřování lokální křivosti. 2. Metody simulace povrchového odtoku. 3. Kombinované metody. Ad. 1. Metody vyšetřování lokální křivosti. Jedná se o přístup, kdy je o dané buňce rozhodnuto na základě splnění či nesplnění určitých jejích morfologických vlastností, o nichž se předpokládá, že jsou typické pro morfologii údolí s vodním tokem. Jde především o křivost v místě buňky, kdy je přítomnost vodních toků očekávána v silně konkávní (konvergentní) topografii. Při hodnocení tvaru terénu v daném místě se většinou vychází z elevací buněk v rámci okna velikosti 3x3 buňky, v němž dané místo reprezentuje středová buňka. Jedním z možných přístupů je konstrukce příčných profilů v jednotlivých směrech a následná analýza vzniklých řezů. Pro buňku vodního toku je přitom očekáván v některém směru (kolmém na případný směr toku) řez ve tvaru „V“. Jednotlivé algoritmy se pak liší především v tom, jaké všechny řezy a v rámci jak velkého okna analyzují (Jenson, 1985 – in Tribe, 1992). Jinou metodou je hodnocení buněk na základě počtu sousedů s vyšší elevací, což je určitým indikátorem míry konvergence terénu. Nejznámější metodou tohoto druhu je algoritmus Peuckera a Douglase (1975 – in Mark, 1984; Tribe, 1992; Bertolo, 2000). V něm je DEM prohledáván pomocí okna velikosti 2x2 buňky, přičemž v rámci tohoto okna je vždy označena buňka s nejvyšší elevací. Po prohledání celého DEM jsou jako buňky vodních toků vybrány ty buňky, které nebyly ani jednou označeny. Vedle výše popsaných metod existují ještě další, založené na stejném principu (pro obsáhlý přehled a diskusi viz Tribe, 1992). Základní nevýhodou všech těchto algoritmů je, že vzniklá síť vodních toků je většinou silně nespojitá, což je důsledkem čistě lokálního vyšetřování prováděného pro každou buňku zvlášť, bez souvislosti s ostatními. Navíc při
89
vyšetřování lokálního tvaru terénu se většinou vychází z pouhého porovnávání elevací způsobem „vyšší-nižší“, bez přihlédnutí ke skutečným hodnotám rozdílů elevací26. Zejména v plošších partiích terénu s vysokým podílem šumu a malými sklony vede toto ke zcela nevhodně identifikovaným buňkám vodních toků, bez souvislosti s okolní vodní sítí. Častým jevem je v této souvislosti také přílišné „protahování“ sítě vzhůru do svahů, neboť použité kritérium bývá citlivé především na konvergenci terénu, takže výsledná síť odpovídá spíše síti údolnic než síti vodních toků (viz Obr. 2.5.5). Z uvedených důvodů je při aplikaci přístupu lokální křivosti většinou nutné vzniklou síť následně upravit, čímž se původně velmi jednoduché algoritmy stávají výrazně složitějšími. Úprava sítě se týká třech hlavních cílů: (1) odfiltrování nevhodně identifikovaných buněk, (2) propojení vzájemně nespojitých úseků sítě a (3) ztenčení (thinning) sítě na linii o šířce jedné buňky (Tribe, 1992). Příkladem metody, která úspěšně řeší všechny tyto nedostatky, je tzv. víceúrovňová skeletonizace (multilevel sceletonization) autorů Meisels et al. (1995). Tato
metoda nejprve pomocí kritéria lokální křivosti identifikuje samotné zdroje sítě, poté pomocí (taktéž lokálního) tzv. kritéria spojitosti nalezené zdroje propojí liniemi o šířce jedné buňky, a následně ošetří případně vzniklé cykly. Výslednou hustotu sítě je přitom možné upravit parametrem konvexnosti KT, kterým se nastavuje „přísnost“ podmínky křivosti, čili jak moc musí být v okolí dané buňky zakřivené vrstevnice, aby byla buňka prohlášena za buňku říční sítě.
Ad. 2. Metody simulace povrchového odtoku. Odlišným konceptem je využití nalezených odtokových směrů pomocí některého algoritmu simulujícího povrchový odtok (viz kap. 2.2). Základní myšlenkou zde je, že vodní tok se vytváří tam, kde dochází k dostatečnému soustředění odtoku a tím k převaze fluviálních procesů nad procesy svahovými (Mark, 1984). Podle tohoto předpokladu je pak buňka označena za buňku vodního toku tehdy, překročí-li určitou prahovou hodnotu přispívající plochy. Při použití jednosměrného algoritmu nedovolujícího disperzi toku je pak zásadní výhodou tohoto přístupu vznik spojité sítě, neboť hodnota přispívající plochy ve směru odtokových tras vždy roste. Při použití vícesměrných algoritmů s disperzí toku může docházet ke vzniku sítě nespojité, nicméně toto lze obejít logickým předpokladem, že u buněk permanentních vodních toků k žádné disperzi toku nedochází a odtok je veden pouze ve směru nejvyššího spádu.
26
Tento princip je často nazýván „vyšší než“ (higher then, Tribe, 1992; Bertolo, 2000).
90
Jakmile tedy přispívající plocha dosáhne na nějaké buňce zvolené prahové hodnoty a buňka je tak považována za buňku vodního toku, je odtok z ní a následně i ze všech buněk ležících na její odtokové trase simulován pomocí jednosměrného (většinou D8) algoritmu (viz např. Quinn et al., 1995; Sørensen et al., 2006). Nejdůležitějším problémem, který je třeba v rámci těchto metod řešit, je určení zmíněné prahové hodnoty přispívající plochy. Ta totiž ovlivňuje jednak výslednou hustotu sítě (čím menší prahová hodnota, tím hustší síť), jednak polohu zdrojů (čím nižší prahová hodnota, tím výše jsou lokalizovány prameny). Základní dva přístupy, jež budou dále rozvedeny, jsou buď stanovení prostorově konstantní prahové hodnoty nebo prahové hodnoty kontrolované sklonem (Montgomery et Foufoula-Georgiou, 1993; Ijjasz-Vasquez et Bras, 1995).
Ad. 3. Kombinované metody. Tyto metody, nazývané též „dvoukroké“ (two-step methods, Tribe, 1992; Bertolo, 2000), jsou kombinací obou předchozích v tom smyslu, že
nejprve pomocí vyšetření lokální křivosti identifikují zdroje (prameny), od nichž je dále síť rozšířena pomocí identifikovaných odtokových směrů (většinou pomocí D8 algoritmu). Na rozdíl od metod předchozích je zde simulace povrchového odtoku potřebná pouze pro zjištění odtokových směrů, nikoli kvůli hodnotám přispívající plochy. V základu je tak tento přístup podobný spíše metodám prvním, založeným na lokální křivosti, přičemž odtokové směry slouží pouze k získání spojitosti sítě. Z výše popsaných metod je zdaleka nejpoužívanější přístup využívající simulaci povrchového odtoku, proto i v dalším textu se na tento přístup omezím. Problém identifikace zdrojů a správné hustoty sítě je přitom možné řešit v zásadě třemi způsoby. Jedním z nich je využití znalosti polohy skutečné sítě buď z map či z terénního průzkumu, dalším je vytvoření nějakého fyzikálně založeného modelu procesu vzniku vodní sítě (jedná se o modely vývoje krajiny – Landscape Evolution Models – s předpokládanou převahou fluviálních procesů) a třetím možným přístupem je využití empiricky ověřených obecných morfologických vlastností říčních sítí.27 Vzhledem k tomu, že vznik permanentních toků je ve skutečné krajině značně komplexním procesem zahrnujícím jak vlivy klimatické (množství a rozložení srážek, výpar apod.), tak vliv podloží (půdní vlastnosti, sklon terénu a náchylnost k erozi, hydrogeologické poměry apod.), je nesnadné a pravděpodobně v principu ne zcela možné (Montgomery et
27
Tyto přístupy budou rozvedeny v kap. 2.5.5 a 2.5.6.
91
Foufoula-Georgiou, 1993) identifikovat síť vodních toků pouze na základě informace o nadmořských výškách. Jedním z možných a často používaných řešení je, jak bylo zmíněno v předešlém odstavci, využití dodatečné informace o skutečné poloze vodních toků (viz zejména Turcotte et al., 2001; Soille et al., 2003). Často bývá k tomuto účelu používáno mapových podkladů (např. jen pro vizuální porovnání extrahované a mapované sítě, Mark, 1984; Jenson et Domingue, 1988), jejichž kvalita však nebývá dostatečná a poloha „modrých
čar“ (blue lines) na mapě často neodpovídá skutečné síti permanentních toků (Montgomery et Foufoula-Georgiou, 1993). Mnohem spolehlivější jsou data získaná terénním šetřením, jež je však na druhou stranu časově i finančně nepoměrně náročnější. Data o poloze skutečných vodních toků mohou být využita buď doplňkově za účelem stanovení správné prahové hodnoty přispívající plochy či odvození morfologických vlastností terénu v místě zdrojů (Montgomery et Foufoula-Georgiou, 1993), nebo mohou být použita přímo na způsob přeložení mapy vodních toků přes DEM a označení těch buněk, které mapovaná síť překrývá, za buňky vodních toků. Tato metoda bývá označována jako „vypalování“ (burning) či „vynucení“ (enforcement, Soille et al., 2003) říční sítě. Aby takto identifikovaná říční síť byla kompatibilní s okolní odtokovou sítí, je různými způsoby v okolí toků upravován buď přímo původní DEM (Soille et al., 2003) nebo samotné odtokové směry (Turcotte et al., 2001). Vzhledem k zaměření této práce na plně automatické algoritmy využívající pouze výškové informace (viz kap. 1) se těmto metodám nebudu dále věnovat. Ve většině případů se při extrakci sítě vodních toků usiluje o vznik spojité sítě tvořené úseky o šířce jedné buňky. To by odpovídalo předpokladu, že skutečná šířka vodních toků zhruba souhlasí s horizontálním rozlišením DEM. Ve skutečnosti však tento předpoklad platí zřídka, častější jsou případy, kdy je říční síť tvořena poměrně malými toky o šířce cca do deseti metrů, přičemž horizontální rozlišení DEM bývá např. 30m. U větších DEM s rozlišením např. 250m už je celá síť sestavena z nerealistických „veletoků“. Jiným, i když asi méně častým případem může být naopak příliš podrobné rozlišení (1m) v kontrastu s většími toky (o šířce např. 50m). Souvisejícím problémem je také systematické zkracování toků vlivem prostorové diskretizace meandrujícího toku do úseků, jejichž minimální délka je opět omezena horizontálním rozlišením. Ačkoli správná reprezentace toku pomocí pravidelného DEM je nanejvýš relevantním problémem, v literatuře existuje (alespoň pokud je nám známo) minimum pokusů o jeho řešení. Výjimkou je např. článek autorů Quinn et al. (1995), kteří předpokládají mnohem menší šířku toků ve srovnání s rozlišením DEM a navrhují jednoduchou schematizaci buněk obsahujících vodní tok. Přestože by tato 92
problematika zasluhovala hlubší pozornost, vzhledem k rozsahu této práce se zaměřím na zcela převládající přístup, spokojující se s jednoduchou reprezentací toků pomocí linií o šířce jedné buňky.
2.5.3 Jednoduché empirické metody V této kapitole se budeme krátce věnovat jednoduchým metodám, pomocí nichž lze přibližně odhadnout prahovou hodnotu přispívající plochy a pomocí ní následně extrahovat síť vodních toků. Od výsledné sítě nelze očekávat přílišnou přesnost, proto se tyto metody hodí tehdy, jde-li nám pouze o orientační polohu vodních toků, nebo nedovoluje-li příliš hrubé rozlišení DEM polohu toků dále zpřesňovat. Nejjednodušším a nejstarším přístupem je prosté vizuální porovnání extrahované sítě buď se sítí uvedenou v mapách či se sítí zjištěnou terénním průzkumem, příp. pouze se zkušeností z jiných povodí. Ačkoli spolehlivost mapových děl nebývá v tomto ohledu velká, pro svou jednoduchost byla tato metoda zpočátku dosti užívaná (Mark, 1984; O´Callaghan et Mark, 1984; Jenson et Domingue, 1988; Martz et Garbrecht, 1992 ad.). Posledně jmenovaní autoři navíc přidávají volbu odebrání vnějších úseků kratších než je uživatelem definovaná prahová délka, čímž je možné celkově síť „zředit“, vykazuje-li příliš velkou hustotu (pojem hustoty sítě viz v kap. 2.5.4.1). Jednoduchý poloautomatický odhad prahové hodnoty přispívající plochy navrhli Quinn et al. (1995), kteří analyzovali chování třech vybraných veličin v závislosti na velikosti prahové hodnoty (viz Obr 2.5.2). přispívající plochy byly přitom počítány pro buňky svahů pomocí vícesměrného algoritmu (ibidem), a pro buňky identifikované jako buňky vodní sítě pomocí D8 algoritmu (viz kap. 2.2.4). Autoři nejprve zaznamenávali se snižující se hodnotou prahu přispívající plochy (1) maximální hodnotu topografického indexu, dále (2) poměr mezi počtem buněk, které dosáhly maxima topografického indexu28 a celkovým počtem buněk v DEM a nakonec (3) počet buněk, které příslušné prahové hodnoty přispívající plochy dosáhly (čili počet buněk říční sítě). Ve všech třech případech zaznamenali ostrý zlom odpovídající vždy přibližně stejné prahové hodnotě, přičemž nejvýraznější byl tento zlom v případě hodnot maxima topografického indexu (viz Obr 2.5.2). Při překročení tohoto zlomu a dalším snižování prahu prudce klesá maximum topografického indexu, stoupá relativní velikost plochy, na níž byla maximální hodnota topografického indexu dosažena a zároveň prudce roste počet buněk říční 28
Hodnoty topografického indexu jsou nejprve rozděleny do tříd.
93
sítě. Autoři (ibidem) toto interpretují tak, že od zmíněného zlomu začíná vodní síť expandovat z konvergentní topografie směrem do svahových partií DEM, což je nežádoucí, neboť zde je naopak na místě reprezentovat divergenci toku (pomocí vícesměrného algoritmu). Proto hodnotu odpovídající zlomu považují za optimální prahovou hodnotu pro extrakci sítě vodních toků. Jak autoři sami upozorňují (ibidem), jejich metoda nemá za cíl extrakci říční sítě, jež by svou polohou co nejlépe odpovídala síti skutečné, ale pouze optimální stanovení, kde je třeba odtok simulovat jednosměrně a reprezentovat tak konvergenci toku. Optimálnost odtokové sítě je hodnocena z hlediska správné prostorové distribuce topografického indexu, jež je podstatná pro aplikaci distribuovaného srážko-odtokového modelu (TOPMODEL, ibidem). Z tohoto důvodu není na místě metodu srovnávat s ostatními uváděnými metodami extrakce
říční sítě a její použití se jeví jako vhodné pouze ve výše uvedeném kontextu. Na druhou stranu porovnání, nakolik takto extrahovaná síť souhlasí se skutečnou sítí, by jistě nebylo bez zajímavosti.
Obr. 2.5.2. Změny v distribuci topografického indexu vlivem změn prahové hodnoty přispívající plochy, vyžadované u buněk vodních toků. Na vodorovné ose je prahová hodnota přispívající plochy, na svislé pak maximum topografického indexu (vlevo nahoře), poměr mezi plochou, na níž bylo maxima topografického indexu dosaženo, a celkovou plochou povodí (vpravo nahoře) a nakonec počet buněk extrahované sítě (dole). Převzato z Quinn et al., 1995.
94
2.5.4 Morfologie říční sítě 2.5.4.1 Hortonovy zákony Kvantitativním popisem morfologie říčních sítí se jako první zabýval Horton (1932, in Tarboton et al., 1991) a po něm především Strahler (1952, ibidem) a Shreve (1966, ibidem). Základem pro jejich analýzy se stalo tzv. Strahlerovo číslování vodních toků, které je realizováno následovně (viz Obr. 2.5.3): 1. Všechny vnější úseky sítě mají Strahlerův řád 1. 2. Pokud se stékají dva úseky se stejným řádem, je navazujícímu úseku přiřazen řád o jeden vyšší. 3. Pokud se stékají dva úseky různých řádů, je navazujícímu úseku přiřazen vyšší z těchto dvou řádů.
Obr. 2.5.3. Strahlerovo číslování vodních toků. Šipkou je naznačen směr toku.
Strahlerův řád úseku vodního toku je možné chápat jako topologickou, bezrozměrnou míru velikosti či měřítka daného toku-úseku (ibidem). Základní kvantitativní veličinou, popisující říční síť a zavedenou Hortonem (1932 – in Tarboton et al., 1991), je „hustota vodní sítě“ (drainage density) Dd:
Dd =
LT , A
95
(2.5.1)
kde LT je celková délka vodních toků uvnitř daného povodí a A je plocha tohoto povodí. Fyzikální rozměr hustoty sítě je m-1, přičemž její převrácená hodnota se dá chápat jako charakteristické základní měřítko dané krajiny (Tarboton et al., 1992). Z pozorování výše uvedených autorů vyplynulo několik empirických vztahů, popisujících měřítkově invariantní vlastnosti prostorového uspořádání vodních toků. Tyto vztahy bývají souhrnně označovány jako Hortonovy zákony (viz např. Tarboton et al., 1991; Roth et al., 1996 ad.) a lze je vyjádřit takto:
Rb =
N w−1 ≈ konst. , Nw
(2.5.2)
Rl =
Lw ≈ konst. , Lw−1
(2.5.3)
Ra =
Aw ≈ konst. , Aw−1
(2.5.4)
Rs =
S w−1 ≈ konst. , Sw
(2.5.5)
kde w je Strahlerův řád, N je počet úseků daného řádu, L je střední délka úseku daného řádu, A je střední přispívající plocha odvodňovaná úsekem daného řádu a S je střední sklon úseku
daného řádu. Jednotlivé poměry v uvedených vztazích (označované někdy jako „Hortonovy poměry“) bývají po řadě nazývány „bifurkační poměr“ (bifurcation ratio, Rb), „délkový poměr“ (length ratio, Rl), „poměr ploch“ (area ratio, Ra) a „poměr sklonů“ (slope ratio, Rs). Vztah (2.5.5), nazývaný Hortonův zákon o sklonu, vystihuje dobře známé pozorování, že vodní toky jsou strmější blíže zdrojům a mírněji svažité v nižších částech. Úpravou tohoto vztahu vyjádřením jako Rs = S1/S2 a substitucí za S2 = Sw *Rsw-2 dostaneme rovnici (ibidem):
Sw =
Rs S1 = Rs S1e − w ln Rs , w Rs
vyjadřující exponenciální pokles sklonu se Strahlerovým řádem.
96
(2.5.6)
Dalším pozorováním (Broscoe, 1959 – in Tarboton et al., 1991) je přibližně konstantní průměrný pokles elevace podél úseku daného Strahlerova řádu:
H w = S w Lw ≈ konst. ⇒
S w−1 L = w ⇒ Rs = Rl . Sw Lw−1
(2.5.7)
Vztah (2.5.7) bývá označován jako „zákon konstantního poklesu“ (constant drop law) a je někdy taktéž řazen mezi zákony Hortonovy (ibidem). Snad nejdůležitějším empirickým vztahem využívaným při extrakci sítě vodních toků je mocninný vztah mezi sklonem daného místa toku S a odpovídající přispívající plochou A (Tarboton et al., 1991; Montgomery et Foufoula-Georgiou, 1993; Ijjasz-Vasquez et Bras, 1995; Roth et al., 1996; Bertolo, 2000): SA −θ ≈ konst. ,
(2.5.8)
kde hodnota konstanty θ se uvádí v rozmezí 0.37 až 0.83 se střední hodnotou 0.6 (Tarboton et al., 1991)29. Dosazením do vztahů (2.5.4) a (2.5.5) obdržíme odhad konstanty θ jako (Flint, 1974 – in Tarboton et al., 1991):
θ=
ln RS . ln Ra
(2.5.9)
K podobnému vztahu, vyjadřujícímu tentokrát vztah mezi plochou povodí A a délkou hlavního toku L, dospěl Gray (1961 – in Tarboton et al., 1988; Roth et al., 1996): LA −α ≈ konst. ,
(2.5.10)
přičemž hodnota konstanty α je uváděna jako 0.568.
29
Různí autoři uvádí mírně odlišné odhady této hodnoty. Ucelený přehled jednotlivých odhadů různých autorů uvádějí Roth et al., 1996, přičemž hodnoty se zde pohybují v rozmezí 0.44 až 0.5. Stejná čísla, ovšem bez uvedení zdroje, uvádí i Bertolo (2000).
97
2.5.4.2 Metoda konstantního poklesu Na základě vztahu (2.5.7), vyjadřujícího zákon konstantního poklesu, odvodili Tarboton et al. (1991) jednu z metod extrakce říční sítě. Na extrahovanou síť je kladen požadavek splnění tohoto zákona, přičemž za optimální hustotu sítě je považována nejvyšší hustota, při níž ještě zákon platí. Tato hustota sítě totiž podle autorů (ibidem) odpovídá přechodu od erozních a transportních procesů podílejících se na tvorbě koryt (a projevujících se právě ve vlastnosti konstantního poklesu) k svahovým procesům mnohem menšího měřítka. Metoda pracuje tak, že postupně extrahuje sítě vodních toků pomocí prahové hodnoty přispívající plochy 30. Pro každou takto extrahovanou síť je ověřena platnost zákona konstantního poklesu, a to pomocí dvouvýběrového t-testu pro testování hypotézy o rovnosti středních hodnot dvou normálně rozdělených31 vzájemně nezávislých náhodných veličin. Testovací statistika T má tvar:
T=
X −Y
(n X
− 1)S
2 X
+ (nY
− 1)S Y2
n X + nY − 2
, ⋅
(2.5.11)
1 1 + n X nY
kde X resp. Y jsou výběrové průměry výběrů X resp. Y, SX2 resp. SY2 jsou výběrové rozptyly výběrů X resp. Y a nX resp. nY jsou velikosti výběrů X resp. Y. Veličina T má při splnění uvedených požadavků na náhodné veličiny t-rozdělení s nX + nY – 2 stupni volnosti (Anděl, 2007). V našem případě je porovnávanou náhodnou veličinou absolutní rozpětí (pokles) elevací úseku daného Strahlerova řádu, neboli rozdíl elevace nejvyšší a nejnižší buňky úseku. Výběrem je pak soubor všech úseků daného řádu a porovnávány jsou vždy každé dva výběry lišící se o jeden řád. Vzhledem k tomu, že při (nX + nY – 2) → ∞ je na hladině významnosti testu 0.05 kritická hodnota T statistiky rovna hodnotě 1.96 (ibidem), a vzhledem k předpokládané velikosti výběrů je možné prohlásit, že zákon konstantního poklesu pro danou síť přibližně platí, jestliže je pro každé dva sousední Strahlerovy řády splněna podmínka T ≤ 2 (Tarboton et al., 1991).
30
Z tohoto hlediska by mohla být popisovaná metoda zařazena mezi metody konstantního prahu, jež budou pojednány v kap. 2.5.5.2. 31 Jak uvádí Anděl (2007), porušení předpokladu normality obou rozdělení nemývá podstatný vliv na výsledek testu.
98
Nejmenší prahová hodnota přispívající plochy (a tedy odpovídající nejhustší síť), pro kterou je tato podmínka splněna, je prohlášena za hodnotu odpovídající hledané extrahované síti vodních toků, jež by měla souhlasit se sítí skutečnou. Vzhledem k popsanému postupu je třeba při hledání optimální hodnoty přispívající plochy zvolit určitý diskrétní krok, jímž bude počet statisticky hodnocených sítí omezen. Ačkoli má metoda v požadavku splnění zákona konstantního poklesu empirický základ, trpí základním nedostatkem, který je společný všem metodám využívajícím prostorově konstantní prahové hodnoty přispívající plochy. Hustota výsledné extrahované sítě je totiž vlivem konstantní prahové hodnoty také prostorově konstantní, což neodpovídá pozorování (Montgomery et Foufoula-Georgiou, 1993; Roth et al., 1996). Reálné říční sítě totiž vykazují zvyšování hustoty směrem od nížinných po horské reliéfy. Chyba způsobená konstantní hustotou říční sítě je nicméně zanedbatelná v oblastech s relativně nízkým rozptylem sklonů,
čili pro relativně homogenní krajiny. Z toho vyplývá, že je metoda vhodná spíše pro menší povodí, zastupující většinou pouze jeden typ krajiny. Jako řešení zmíněných problémů s konstantní prahovou hodnotou přednesli Tarboton a Ames (2001) modifikaci metody, kterou lze zároveň považovat za příklad kombinované metody extrakce ve smyslu členění uvedeném v kap. 2.5.2. Pro extrakci sítě není použita prahová hodnota přispívající plochy, ale prahová hodnota tzv. vážené přispívající plochy, která vznikne tak, že při výpočtu přispívající plochy jsou hodnoty přispívající plochy násobeny vahami, odrážejícími lokální křivost terénu. Váhové pole je přitom možné obdržet buď algoritmem Peuckera a Douglase (výsledkem jsou dvě hodnoty vah, např. 0 pro buňky algoritmem označené a 1 pro buňky neoznačené, což signalizuje velké zakřivení; viz kap. 2.5.2) nebo jakýmkoli jiným způsobem výpočtu lokální křivosti (např. podle vztahu (2.1.11) Gallanta a Willsona; váhy pak mohou nabývat např. hodnot 1 pro Kh > 0 a 0 pro Kh < 0, případně při Kh > 0 může být váha rovna 1 + Kh). Vzhledem k tomu, že větší křivost je typická pro svažitější terény, dostaneme tímto způsobem říční síť s prostorově heterogenní hustotou, jež odpovídá sítím reálným. Určení prahové hodnoty vážené přispívající plochy je pak provedeno pomocí kritéria platnosti zákona konstantního poklesu, zcela stejně jako ve výše popsané metodě využívající prahové hodnoty přispívající plochy32.
32
Zde se také ukazuje, že samotné kritérium zákona konstantního poklesu nemusí být nutně spojováno s nějakou konkrétní metodou extrakce, ale může být použito jako univerzální kritérium, jímž mohou být hodnoceny sítě extrahované jakoukoli metodou.
99
2.5.4.3 Fraktální povaha říční sítě33 Fraktální povahy říční sítě si všiml už zakladatel fraktální geometrie Benoit B. Mandelbrot (1983, in Tabroton et al., 1988). Přitom k samotnému objevu fraktálních struktur v přírodě jej přivedl problém anglického geografa L.F. Richardsona s měřením délky pobřeží (viz Kůrková, 1989). Richardson si uvědomil, že výsledná délka pobřeží bude silně záviset na délce měřící tyče, jinými slovy bude se jednat o aproximaci danou výrazem L = Nr, kde L je odhad délky pobřeží, r je délka měřící tyče a N je počet, kolikrát byla měřící tyč k pobřeží přiložena. Při r → 0 by pak měla délka L teoreticky konvergovat ke skutečné délce pobřeží. Empirická data, která Richardson shromáždil, však žádnou takovou konvergenci nepotvrdila (jinými slovy pobřeží by podle uvedeného předpokladu bylo nekonečně dlouhé). Problém spočívá v tom, že složitost pobřežní čáry zůstává při zmenšování měřítka pořád přibližně stejná,34 přičemž nelze rozhodnout, které měřítko je v nějakém smyslu „základní“. Tato tzv. měřítková invariance, nazývaná soběpodobnost, je vlastnost typická právě pro fraktály jakožto geometrické objekty.35 U objektů reálného světa je její analogií tzv. statistická soběpodobnost, jež může být definována jako invariance pravděpodobnostních
rozdělení popisujících strukturu objektu ke změně měřítka a k jednoduchým geometrickým transformacím (Tarboton et al., 1988). Aby Richardson problém délky pobřeží vyřešil, zkonstruoval na základě svých dat empirický vzorec pro takový odhad této délky, který nezávisí na délce měřící tyče (ibidem): F = Nr D = const. ,
(2.5.12)
kde N i D jsou konstanty typické pro dané pobřeží, přičemž D > 1. Mandelbrot si uvědomil, že vztahem (2.5.12) je vyjádřena právě zmíněná měřítková invariance (soběpodobnost) a nazval míru F, jíž je charakterizována „délka“ pobřeží, fraktální mírou a konstantu D fraktální dimenzí.
Dále si Mandelbrot všiml (1983, in Tarboton et al., 1988), že podobných empirických vztahů popisujících soběpodobnost reálných přírodních objektů je celá řada, přičemž jedním Ačkoli z fraktálních vlastností říčních sítí příliš konkrétních metod jejich extrakce neplyne, vedlo mě k zařazení následující kapitoly několik důvodů. Jednak jde o přirozené rozšíření předešlé kapitoly o morfologii říčních sítí se značným potenciálem využití nejen při extrakci vodní sítě, jednak jde o téma, jemuž je v odborné literatuře i ve výzkumu věnována značná pozornost, což snad může svědčit o jeho významu, a nakonec se jedná o téma neodolatelně krásné, a to natolik, že by to samo jistě mohlo stačit ke zdůvodnění následujících odstavců. 34 Jedná se o efekt dobře známý při „zoomování“ v GISových aplikacích 35 Dle přesné matematické definice je fraktál taková podmnožina eukleidovského prostoru, jejíž Hausdorfova dimenze je větší než dimenze topologická. Hlubší výklad přesahuje jak rozsah tohoto pojednání, tak autorovi znalosti. Zájemce odkazujeme na populárně podaný výklad Kůrkové (1989). 33
100
z nich je i Grayův vztah (2.5.10) mezi délkou hlavního toku a plochou jeho povodí. Z hodnoty konstanty α z tohoto vztahu odvodil Mandelbrot odhad fraktální dimenze vodního toku jako d = 2α = 1.136. Mandelbrot také ukázal (ibidem), že vedle fraktální povahy jednotlivých toků vykazuje fraktální strukturu i říční síť jako celek, a to díky soběpodobnému „stromovitému“ větvení. Přitom fraktální dimenze teoretické dvourozměrné nekonečně se větvící fraktální sítě (vykazující soběpodobnost při přechodu na libovolně malé měřítko), by byla blízká hodnotě D = 2, což odpovídá tomu, že taková síť by vyplňovala celou plochu. Měřítková invariance
platí ve skutečných říčních sítích pochopitelně pouze v určitém omezeném rozsahu měřítek, přičemž spodní hranicí je měřítko dané průměrnou délkou toků prvního Strahlerova řádu. Toto základní měřítko úzce souvisí s hustotou sítě a je možné je z ní odhadnout (Tarboton et al., 1992). Požadavek na vyplnění celé plochy, odpovídající předpokladu, že říční síť odvodňuje celou plochu povodí, je splněno na zmíněném základním měřítku v tom smyslu, že pokryjeme-li plochu povodí vzájemně sousedícími čtverci o hraně délky odpovídajícími délce toků prvního řádu (čili odpovídající základnímu měřítku), pak bude s vysokou pravděpodobností každým čtvercem procházet alespoň jeden tok (Tarboton et al., 1988). Za účelem ověření fraktálních vlastností říčních sítí vyvinuli Tarboton et al. (1988) několik způsobů měření (či spíše odhadu) fraktální dimenze pomocí DEM. Základem se jim stalo osm různých sítí extrahovaných z několika DEM metodou konstantní prahové hodnoty přispívající plochy. Uvedu zde jeden ze způsobů, který vychází z postupu, jaký použil Richardson při měření délky pobřeží. Rovnici (2.5.12) můžeme přepsat jako: N ∝ r − D ,36
(2.5.13)
L ∝ r 1− D .
(2.5.14)
a s použitím vztahu L = Nr dále jako:
Z toho vyplývá, že budeme-li postupně měřit délku extrahované říční sítě pomocí úsečky délky r a zaznamenávat do logaritmického diagramu závislost takto měřené délky na r, pak ze sklonu φ získané závislosti můžeme přímo odhadnout fraktální dimenzi jako D = 1 – φ. Při měření délky sítě jsou měřeny vždy úseky stejného Strahlerova řádu zvlášť, aby se předešlo Méně známý symbol ∝ značí operátor úměrnosti. Zápis x ∝ y znamená tedy „x je úměrné y“ a znamená, že existuje nějaká konstanta k, pro níž platí x = k*y (v našem kontextu ovšem spíše x ≈ k*y). 36
101
problémům s větvením sítě. Přitom při použití délky měřící úsečky r většinou na konci každého úseku zbude malá část, která je kratší než r. Pokud je tato část delší než 1/2r, je připočtena k délce jako kdyby byla dlouhá r. V opačném případě je naopak zcela zanedbána. Na vzniklém grafu (viz Obr. 2.5.4) je možné identifikovat dvě oblasti s rozdílným sklonem. Autoři (ibidem) tento graf interpretují tak, že pozvolnější sklon v levé části obrázku, odpovídající kratším délkám měřící úsečky, je projevem fraktální povahy jednotlivých toků a lze z něj odhadnout fraktální dimenzi d velmi blízkou teoretickým hodnotám odvozeným Mandelbrotem. Naproti tomu strmější pravá část grafu odpovídá fraktální dimenzi sítě jako celku a její hodnoty se pohybují okolo předpovídané hodnoty, tedy D = 2. Fraktální povaha sítě se přitom projeví ve chvíli, kdy délka měřící úsečky překročí délku základního měřítka daného hustotou sítě a síť se od té chvíle jeví jako vyplňující celou plochu. Prakticky se toto děje díky většímu počtu úseků, jež jsou menší než r a nejsou tak zahrnuty do délky sítě. Jinými slovy jde o skutečnost, že při hrubším rozlišení „vidíme“ méně toků než při bližším, což odpovídá fraktální povaze sítě způsobené soběpodobným větvením.
Obr. 2.5.4. Graf závislosti naměřené délky říční sítě na délce měřící úsečky. Znázorněna jsou data ze sítí z třech různých povodí, extrahovaných pomocí různých prahových hodnot přispívající plochy. V horní části je uveden součet dat z osmi použitých sítí. Čísla označují sklony regresních křivek. Převzato z Tarboton et al., 1988.
Měřítková invariance Hortonových zákonů přímo vybízí k pokusům nalézt vztah mezi nimi a fraktální povahou říčních sítí. Tento vztah jako první vyjádřili La Barbera a Rosso (1987 – in Tarboton et al., 1988) a po nich zejména Tarboton et al. (1988,1990) a Rosso et al. (1991 – in Roth et al., 1996).
102
Následující odvození je přejato od autorů Tarboton et al. (1988,1990). Uvažujme síť řádu
Ω37, v níž střední délka úseků řádu Ω je LΩ38. Pro střední délku úseků řádu ω (ω < Ω) pak můžeme s použitím Hortonova délkového poměru (2.5.3) psát:
Lω =
LΩ . RlΩ −ω
(2.5.15)
Podle Hortonova bifurkačního poměru (2.5.2) je takových úseků RbΩ-ω, takže celková délka toků řádu ω bude LΩ(Rb/Rl)Ω-ω. Pro celkovou délku všech toků sítě pak dostáváme:
R L = ∑ LΩ b ω =1 Rl Ω
Ω −ω
1 − (Rb Rl ) , 1 − (Rb Rl ) Ω
= LΩ
(2.5.16)
přičemž geometrická řada (2.5.16) při Ω → ∞ a při Rb/Rl < 1 konverguje k výsledné délce sítě (což odpovídá fraktální dimenzi D = 1), a naopak při Rb/Rl ≥ 1 diverguje a síť vykazuje fraktální povahu (D > 1). Přitom nerovnost Rb/Rl ≥ 1 nejčastěji odpovídá poměrům ve skutečných říčních sítích. Pro velké Ω pak můžeme zjednodušeně psát:
R L ∝ b Rl
Ω −1
,
(2.5.17)
a tudíž pro délku úseků prvního řádu s (odpovídající základnímu měřítku dané sítě):
1 s = Rl
Ω −1
,
(2.5.18)
a po úpravě:
Ω −1 = −
log s . log Rl
(2.5.19)
Sítí řádu Ω máme na mysli síť, v níž nejvyšší Strahlerův řád je Ω. Tarboton et al. (1988) uvádějí LΩ jako délku hlavního toku (main stream length), což nicméně nesouhlasí s dalšími úpravami, kdy je s LΩ zacházeno jako s průměrnou délkou úseků řádu Ω. 37 38
103
Dosazením vztahu (2.5.19) do rovnice (2.5.17) dostáváme: L ∝ s 1− ( log Rb
log Rl )
.
(2.5.20)
Porovnáním vztahu (2.5.20) se vztahem (2.5.14) nakonec dospějeme k odhadu fraktální dimenze D jako:
D=
log Rb . log Rl
(2.5.21)
Poslední krok při odvození byl proveden za jednoho podstatného předpokladu (ibidem), že totiž celkovou délku sítě L, vyjádřenou rovnicí (2.5.20), lze spočítat sečtením základních dílků sítě, jež mají podobu úseček délky s, čili pomocí tzv. lineární míry s. Tak bychom dospěli ke vztahu: L = Ns ,
(2.5.22)
kde N je počet úseček délky s, z nichž je síť složena. To se jinými slovy rovná předpokladu, že pomocí lineární míry lze změřit skutečnou délku vodních toků, tj. že jednotlivé toky nemají fraktální povahu. To ovšem koliduje z výše uvedeným zjištěním Mandelbrota o fraktální povaze vodních toků, navíc podpořeným odhadem jejich fraktální dimenze pomocí DEM, který provedli Tarboton et al. (1988). Stejní autoři (1990) proto uvažují s jako nikoli lineární, ale fraktální míru, pro kterou lze podle (2.5.12) psát: s ∝ rd ,
(2.5.23)
kde r je lineární míra (čili délka měřící úsečky) a d je fraktální dimenze vodního toku. Podle (2.5.22) a po dosazení do (2.5.20) lze potom psát:
N=
L ∝ s −log Rb s
Dosazením (2.5.23) do (2.5.24) obdržíme:
104
log Rl
.
(2.5.24)
N ∝ r − d (log Rb
log Rl )
,
(2.5.25)
z čehož po porovnání s rovnicí (2.5.13) dospějeme k odhadu fraktální dimenze říční sítě ve tvaru:
D=d
log Rb . log Rl
(2.5.26)
Skutečné hodnoty výrazu (2.5.26) se přitom blíží očekávané hodnotě blízké hodnotě D = 2. Na závěr zbývá doplnit, že Roth et al. (1996) uvádějí pro odhad fraktální dimenze jednotlivých toků pomocí Hortonových zákonů (tentokrát zákona o délce a o ploše) výraz:
log Rl d = max1,2 log Ra
.
(2.5.27)
Takto odhadnuté hodnoty fraktální dimenze d se dobře shodují s teoretickou hodnotou odvozenou Mandelbrotem (viz výše) jako d = 2α = 1.136, kde α je exponent ze vztahu (2.5.10).
2.5.4.4 Metoda relativní výšky podpovodí Tuto metodu odvodili z uvedené analýzy morfologie říční sítě Roth et al. (1996), přičemž vycházeli především z Hortonova zákona o sklonu (vztahy (2.5.5) a (2.5.6)). Měřítkovou invarianci mezi průměrnými sklony úseků v rámci jednotlivých Strahlerových řádů, kterou zákon popisuje, rozšířili na invarianci průměrných sklonů podpovodí příslušejících k jednotlivým úsekům: Sl ∝ S a ,
(2.5.15)
kde Sl je lokální sklon dané buňky a Sa je průměrný sklon v podpovodí, jehož je daná buňka uzávěrem (čili v její přispívající ploše). Vedle průměrného sklonu zavedli autoři ještě průměrnou relativní výšku podpovodí Ha jako (ibidem):
105
Ha =
1 n ∑ (H i − H l ) , n i =1
(2.5.16)
kde Hl je elevace dané buňky, Hi je elevace buňky i náležející přispívající ploše (podpovodí) dané buňky a n je počet buněk v podpovodí. Pomocí relativní výšky je možné vyjádřit průměrný sklon podpovodí jako:
Sa ∝
Ha , L
(2.5.17)
kde L je reprezentativní délkový rozměr podpovodí. Tuto délku lze aproximovat délkou hlavního toku podpovodí, pro níž je zaveden vztah (2.5.10), přičemž substitucí exponentu α v tomto vztahu pomocí fraktální dimenze vodních toků d = 2α dostáváme: L ∝ Ad 2 ,
(2.5.18)
kde A je plocha podpovodí. Dosazením vztahů (2.5.15) a (2.5.18) do rovnice (2.5.17) dostáváme pro relativní výšku podpovodí: H a ∝ Ad 2 Sl .
(2.5.19)
Tato rovnice popisuje vztah mezi relativní výškou podpovodí, přispívající plochou a sklonem, přičemž pravá strana navíc odpovídá strukturou empirickému vztahu (2.5.8), s číselně odpovídajícím exponentem. Vlastní extrakce probíhá tak, že je nejprve pro všechny buňky DEM vypočtena hodnota relativní výšky podpovodí podle rovnice (2.5.16) a poté jsou mezi buňky vodních toků zařazeny ty, jejichž relativní výška přesáhla zvolenou prahovou hodnotu. Díky vztahu (2.5.19) tato metoda v principu odpovídá metodě prahové hodnoty kontrolované sklonem (Montgomery et Foufoula-Georgiou, 1993; viz kap. 2.5.5.3), nicméně oproti ní obchází problém správného stanovení lokálních sklonů, což je její velkou výhodou. Bodový odhad lokálního sklonu je totiž zatížen vysokou mírou neurčitosti, kdežto hodnota relativní výšky, která je zprůměrována přes celou přispívající plochu, je mnohem méně citlivá jak na rozlišení
106
DEM tak na chyby ve výškových datech. Přitom výsledná říční síť vykazuje jednak uspokojivou spojitost sítě, jednak očekávanou prostorovou variabilitu hustoty s větší hustotou sítě ve strmějších partiích terénu a nižší v plošších terénech (Roth et al., 1996). Přes uvedené výhody metody zůstává problémem správné stanovení prahové hodnoty relativní výšky. Přitom autoři algoritmu (ibidem) toto vůbec neřeší a pouze se spokojují se zobrazením hodnot relativní výšky podpovodí pomocí vhodně zvolené škály šedi. Tím sice vizuálně síť vodních toků vystoupí a projeví se i prostorová variabilita hustoty sítě, nicméně nedojde k jednoznačnému určení, které buňky do sítě patří a které nikoli, čímž se výsledek stává pro jakékoli další aplikace nepoužitelným. Volbu prahové hodnoty by přitom bylo možné řešit různými způsoby. Podobně jako v případě metody prahové hodnoty kontrolované sklonem (Montgomery et Foufoula-Georgiou, 1993) se jako nejspolehlivější nabízí využití dodatečných informací o poloze či morfologických charakteristikách (např. právě relativní výšce podpovodí) zdrojů. Jinou variantou by mohlo být např. využití platnosti zákona konstantního poklesu (viz kap. 2.5.4.2.).
2.5.5 Procesy vzniku říční sítě Jak uvádějí Montgomery a Foufoula-Georgiou (1993), k extrakci sítě vodních toků pomocí modelů fyzikálních procesů odpovědných za jejich vznik lze použít dvou odlišných konceptů. První z nich předpokládá, že zdroje říční sítě představují v krajině místa, kde dochází k přechodu mezi převahou odlišných transportních procesů, a vede k postulátu konstantní prahové hodnoty přispívající plochy (area threshold). Druhým přístupem je oproti tomu předpoklad, že zdroje vodních toků se vyskytují tam, kde byla překročena určitá prahová hodnota sklonu a přispívající plochy, potřebná k projevu eroze a tím vzniku permanentního vodního toku. Tento přístup vede k prahové hodnotě, která je kombinací přispívající plochy a lokálního sklonu (slope-area threshold, slope-dependent area threshold). V následujících odstavcích budou stručně shrnuta základní teoretická východiska obou přístupů.
107
2.5.5.1 Teoretická východiska konstantní prahové hodnoty Tento přístup podrobně popisují Tarboton et al. (1992), z jejichž článku budu v následujících odstavcích vycházet. Zmínění autoři rozdělují procesy transportu sedimentu39 na stabilní, vedoucí ke vzniku zaoblených svahů, a nestabilní, projevující se v progresivním zařezávání konkávních údolí. Kritérium stability odvozené Smithem a Brethertonem (1972 – in Tarboton et al., 1992; Montgomery et Foufoula-Georgiou, 1993) má přitom tvar: ∂F F < , ∂q q
(2.5.20)
kde F je rychlost transportu sedimentu a q je povrchový odtok40. Není-li podmínka splněna, znamená to jinými slovy, že malé perturbance mají tendenci růst, což vede k nestabilitě a zařezávání koryt. Podmínku (2.5.20) lze přepsat jako:
F −q
∂F > 0. ∂q
(2.5.21)
Většina modelů transportních procesů uvažuje rychlost transportu sedimentu F jako funkci průtoku q, lokálního sklonu S a rychlosti produkce transportovatelného materiálu (např. zvětráváním matečné horniny) p, tedy F = F(q,S,p) (Montgomery et FoufoulaGeorgiou, 1993). Přitom vzhledem k malým hodnotám produkčního členu p lze tento většinou zanedbat a psát:
F = F (q, S ) .
(2.5.22)
Pokud je variabilita rychlosti transportu F určena především variabilitou sklonu S, odpovídá to převaze difúzních procesů, přičemž člen na levé straně nerovnice (2.5.20) je dostatečně malý na to, aby podmínka stability byla splněna. To vede ke vzniku konvexních zaoblených svahů. Naproti tomu je-li určující pro variabilitu F variabilita průtoku q, převažují ve vývoji
39
Jak uvádějí Tarboton et al. (1992), základními východisky většiny modelů transportních procesů jsou (1) zákon zachování hmoty (poskytující rovnici kontinuity), (2) transport sedimentu směrem dolů ze svahu (převaha svahových a fluviálních procesů nad tektonickými) a (3) prostorově uniformní srážka. 40 Zde je termínem povrchový odtok (surface flow) míněn skutečný fyzikální proces odtoku po povrchu, nikoli jeho schematizace pomocí odtokové sítě extrahované z DEM, jak je uvedeno v kap. 2.2.1.
108
reliéfu procesy advekční, vedoucí k nestabilitě a tvorbě konkávních tvarů. Podmínka stability pak nebude splněna díky příliš velkým hodnotám průtoku (Tarboton et al., 1992). Pokud pro průtok q uvažujeme existenci nějaké funkce q = q(a), kde a je specifická přispívající plocha (např. Kirkby, 1971 – in Tarboton et al., 1992), pak můžeme psát: F (q, S ) = F (q (a ), S ) = F (a, S ) ,
(2.5.23)
čímž dojde k náhradě průtoku plochou a41, jež má tu výhodu, že je odvoditelná z DEM. Tím je také teoreticky podložen koncept prahové hodnoty přispívající plochy pro extrakci sítě vodních toků. Pro odhad této prahové hodnoty je však třeba znát konkrétní podobu funkce F(a,S).
Nejčastěji používaným obecným modelem transportních procesů je mocninný vztah: F = ka n S m ,
(2.5.24)
kde k, n a m jsou konstanty. Různou volbou exponentů m a n lze přitom popsat různé konkrétní procesy. Pro svahové procesy se volí většinou n = 0 a m = 1, což jinými slovy znamená, že se na svazích předpokládá lineární závislost rychlosti transportu sedimentu na sklonu (Montgomery et Foufoula-Georgiou, 1993): F = kS .42
(2.5.25)
Fluviální transport je naproti tomu závislý jak na sklonu, tak na průtoku (a tím díky (2.5.23) na přispívající ploše), přičemž obvyklými hodnotami jsou n > 1 a m ≈ 2 (ibidem). Na svazích je tak transport určován sklonem, v místech vodních toků je určován sklonem a přispívající plochou. Kritérium, pomocí něhož by bylo možné určit prahovou hodnotu přispívající plochy, odvodili Tarboton et al. (1992), přičemž předpokládali konstantní rychlost degradace (snižování) povrchu U. To vede k proporcionalitě mezi rychlostí degradace a plochou a, což lze vyjádřit rovnicí dynamické rovnováhy:
41
Zde se uplatňuje předpoklad prostorově uniformní srážky, zmíněný v pozn. 39. Rovnice (2.5.25) je shodná s rovnicí (2.3.8), v níž koeficient difuzivity svahu D odpovídá konstantě k. Jde o tzv. lineární difúzní model transportu sedimentu. Konstanta k (či D ve vztahu (2.3.8)) se někdy též nazývá erozní difuzivita či koeficient lineární difúze. Blíže viz např. Martin, 2000.
42
109
F (a, S ) = Ua ,
(2.5.26)
udávající implicitní vztah mezi sklonem S a plochou a. V kombinaci s rovnicí (2.5.24) dospějeme k explicitnímu řešení:
1n
U S = a − (m −1) n , k
(2.5.27)
jež lze považovat za teoretické vysvětlení empirického vztahu (2.5.8). Budeme-li rovnici (2.5.26) řešit obecně (pro obecnou funkci F), pak jejím derivováním dostaneme: ∂F dS ∂F + =U . ∂S da ∂a
(2.5.28)
Dále po vynásobení a a dosazení Ua = F po úpravě obdržíme:
a
∂F dS ∂F = F −a . ∂S da ∂a
(2.5.29)
Pravá strana rovnice (2.5.29) je díky funkci q = q(a) ekvivalentní s kritériem stability Smithe a Brethertona (2.5.21). Vzhledem k tomu, že jak pro plochu a tak pro výraz ∂F/∂S (čili změnu rychlosti transportu se sklonem) lze očekávat kladné hodnoty, závisí splnění podmínky stability na hodnotě výrazu dS/da. Za podmínek dynamické rovnováhy (vyjádřené konstantní rychlostí degradace) je tak kritérium (2.5.21) ekvivalentní kritériu:
dS > 0. da
(2.5.30)
Je-li nerovnost (2.5.30) splněna, převažují svahové procesy kontrolované sklonem a vedoucí ke vzniku konvexních svahů. Naopak při dS/da < 0 jsou procesy nestabilní, kontrolované sklonem i plochou a vedoucí ke konkávním tvarům a vzniku permanentních toků. Základním principem při extrakci sítě vodních toků je pak analýza grafu vyjadřujícího závislost přispívající plochy a sklonu (dále označovaný jako „graf sklon-plocha“), ve kterém prahová hodnota přispívající plochy odpovídá bodu změny pozitivního gradientu v negativní.
110
2.5.5.1 Teoretická východiska prahové hodnoty závislé na sklonu Výše uvedený koncept kritizují Montgomery a Foufoula-Georgiou (1993), podle nichž kritérium (2.5.20) neodpovídá přechodu od svahů k vodním tokům, ale obecně od konvexních ke konkávním, a tedy od divergentních ke konvergentním partiím terénu, což je výsledek procesů vzniku údolní sítě, tedy procesů řádově delšího časového měřítka než je samotný vznik permanentních toků v těchto údolích. Metody konstantního prahu přispívající plochy tak podle nich ve skutečnosti extrahují nikoli říční, ale údolní síť, což se projevuje v nadhodnocené a prostorově konstantní hustotě extrahované sítě. Přitom terénní evidence ukazuje, že jednak zdroje říční sítě leží většinou poněkud níže než je horní konec příslušné údolnice (viz Obr. 2.5.5), což vede k méně husté síti, a jednak že reálné sítě vodních toků vykazují zvyšující se hustotu směrem od nížinných po horské reliéfy.
Obr. 2.5.5. Schematická topografická mapa, ilustrující rozdíl mezi svahem, údolím a vodním tokem. Svahy jsou oblasti topografické divergence, údolí naopak topografické konvergence. Hranice mezi nimi značí přerušované čáry. Jak je vidět z obrázku, vodní toky (tlustá čára) obvykle začínají v určité vzdálenosti od začátku údolí. Převzato z Montgomery et FoufoulaGeorgiou, 1993.
Teorie vedoucí k prahu kontrolovanému sklonem předpokládá, že zdroje vodních toků reprezentují skokovou změnu transportních procesů, způsobenou překročením kritických hodnot sklonu a průtoku (Montgomery et Dietrich, 1994). Vznik vodních toků je tak ztotožněn s projevením eroze, což je předpoklad, který v reálných povodích zdaleka nemusí platit (např. při existenci plošné eroze splachem). Jak však Montgomery a Foufoula-Georgiou (1993) poznamenávají, v humidních krajinách s dobře vyvinutým půdním pokryvem tento předpoklad víceméně odpovídá skutečnosti. Obecný model transportních procesů s prahovou hodnotou pro vznik vodních toků má podobu (ibidem):
k1S pro a < acr F = , n m k1 S + k 2 q S pro a ≥ acr
111
(2.5.31)
kde k1, k2, n a m jsou konstanty a acr je prahová hodnota specifické přispívající plochy. Tento model tedy uvažuje nad kritickou hodnotou specifické přispívající plochy svahové procesy kontrolované pouze sklonem, k nimž se při překročení kritické hodnoty přidává nový proces, kontrolovaný sklonem a průtokem (a tedy přispívající plochou) a transportující sediment vzniklým vodním tokem. Odhad kritické hodnoty acr je možné provézt pomocí jednoduchých modelů konkrétních erozních procesů, přičemž modely uvažující jako podstatné procesy povrchový odtok a mělký sesuv vedou k inverznímu vztahu mezi kritickou přispívající plochou a lokálním sklonem (ibidem). Budeme-li za hlavní transportní proces, odpovědný za vznik eroze a tím i vodního toku, považovat povrchový odtok, pak erozi je možné očekávat tehdy, překročí-li smykové napětí na styku vody s půdou τb (basal shear stress) kritické smykové napětí půdního povrchu τcr. Laminární odtokový model pak při uvažování ustálené srážkové intenzity qr vede k odhadu kritické prahové hodnoty acr jako (ibidem):
acr =
(
C , C = f τ cr3 , q r−1 2 S
)43,
(2.5.32)
kde C je konstanta závislá na intenzitě srážky a kritickém smykovém napětí půdního povrchu. Je vidět, že kritérium (2.5.32) vyžaduje pro dosažení kritické hodnoty menší přispívající plochy při větších sklonech a naopak, čili že výsledná extrahovaná síť vykazuje růst hustoty se svažitostí, což je v souhlase s pozorováním na skutečných říčních sítích. Kritérium můžeme přepsat jako44: aS 2 ≥ C .
43
(2.5.33)
Lokální sklon S je v původní formulaci (Montgomery et Foufoula-Georgiou, 1993) definován jako tanβ, kde β je úhel, který svírá povrch s vodorovnou rovinou. V této práci označuji sklon symbolem S, přičemž v praxi je možné lokální sklon odhadnout např. vztahem (2.1.7). 44 Podobnou, o něco složitější podmínku uvádějí Montgomery a Foufoula-Georgiou (1993) také pro vznik vodních toků, při němž je vedoucím procesem mělký sesuv. Zde přicházejí ke slovu další vlastnosti půd, jako je transmisivita, úhel vnitřního tření či objemová hmotnost. Podobně je možné uvažování i jiných řídících procesů. Přechod mezi erozí způsobenou sesuvem (častější ve svažitějších terénech) a povrchovým odtokem (v mírnějších terénech) autoři na základě polních šetření lokalizovali v oblastech se sklonem S ≈ 0.5.
112
2.5.5.2 Metody konstantního prahu Na základě podmínky (2.5.30) odvodili Tarboton et al. (1991) metodu extrakce sítě vodních toků, při níž je v grafu sklon-plocha hledán bod změny pozitivního gradientu v negativní. Tato změna je hledána metodou dvoufázové lineární regrese ve tvaru: S i = a0 + b0 Ai + b( Ai − c ) + ei ,
(2.5.34)
kde S je sklon, A je přispívající plocha, e je náhodná chyba (předpokládá se nezávislá a stejně rozdělená), i je index procházející všechny dvojice hodnot (Si,Ai) a a0, b0, b a c jsou parametry regrese. Přitom parametr c má význam polohy zlomového bodu (bodu hledané změny gradientu), parametr b0 udává sklon regresní přímky před zlomovým bodem a parametr b udává tento sklon za zlomovým bodem. Metodou nejmenších čtverců odchylek Simod – Siobs (index mod resp. obs značí modelované resp. měřené hodnoty), při uvažování konstantní hodnoty c dostaneme (po derivování a položení výsledku rovno nule) soustavu normálních rovnic ve tvaru:
n n na0 + ∑ Ai b0 + ∑ Ai − cn2 b = ∑ S i i =1 í =1 i:Ai >c n n 2 2 A a + A b + A − c A b = Ai S i ∑ i 0 ∑ ∑ ∑ i 0 i i i:∑ í =10 í =1 A > c i : A > c í = 1 i i n
(2.5.35)
∑ Ai − cn2 a0 + ∑ Ai2 − c ∑ Ai b0 + ∑ Ai2 + c 2 n2 − 2c ∑ Ai b = ∑ Ai S i − c ∑ S i , i: A >c i: A >c i: A >c i: Ai > c i: Ai > c i: Ai > c i i i i: Ai >c
kde n je počet párů hodnot S a A, n2 je počet hodnot, pro něž platí Ai > c. Pro různé hodnoty c, vybírané ve zvoleném diskrétním kroku, lze tak pomocí rovnic (2.5.35) dostat různé sady parametrů a0, b0 a b a porovnáním příslušných součtů čtverců odchylek vybrat nejlepší hodnotu c. Popsanou dvoufázovou regresi je ještě třeba porovnat s normální lineární regresí, zda tato neposkytuje lepší výsledky a zda tedy není rozumné žádný statisticky významný zlomový bod v datech nepředpokládat. Obyčejná lineární regrese má tvar: S i = a + bAi + ei ,
113
(2.5.36)
kde a a b jsou parametry. Pro testování hypotézy, že dvoufázová regrese se signifikantně neliší od obyčejné, doporučují autoři (Tarboton et al., 1991) testovací statistiku R ve tvaru:
R=
(SS 0 − SS ) 3 , SS (n − 4 )
(2.5.37)
kde SS resp. SS0 je suma čtverců odchylek dvoufázové resp. normální regrese. Tato statistika má podle autorů F-rozdělení s 3 a (n – 4 ) stupni volnosti, což znamená, že hypotéza o rovnosti obou regresí se zamítá na hladině významnosti testu α, pokud platí R ≥ F3,n – 4 (α).
Obr. 2.5.6. Výsledek dvoufázové regrese provedené na datech z povodí Big Creek, Idaho, USA. Hodnoty sklonů a přispívajících ploch jsou počítány pro úseky sítě extrahované z DEM pomocí prahové hodnoty přispívající plochy, která odpovídala ploše 50 buněk. Převzato z Tarboton et al., 1991.
Výsledek dvoufázové regrese je vidět na Obr. 2.5.6. Autoři (ibidem) přitom namísto sklonů a přispívajících ploch počítaných pro jednotlivé buňky DEM vynášejí do grafu sklonplocha hodnoty pro jednotlivé úseky extrahované sítě. Nejprve je tedy třeba zvolit výchozí prahovou hodnotu přispívající plochy, pomocí ní extrahovat říční síť a v rámci této sítě pro jednotlivé úseky s danou přispívající plochou (čili přispívající plochou buňky spodního konce úseku) spočítat sklon, definovaný jako rozdíl elevací horního a dolního konce úseku dělený 114
délkou úseku. Tento výpočet je následně opakován pro sítě extrahované pomocí různých prahových hodnot přispívající plochy a příslušné hodnoty jsou zanášeny do stejného grafu. Pro lepší vyjádření trendu jsou navíc následně data pro jednotlivé úseky nahrazena průměry, např. v rámci skupin po 100 úsecích (viz Obr. 2.5.6). Namísto přechodu od pozitivního gradientu k negativnímu však autoři popsaným způsobem často identifikovali spíše přechod od mírnějšího k strmějšímu zápornému gradientu (viz Obr. 2.5.7). Přesto podle nich nalezená změna gradientu odpovídá podmínce (2.5.30) a tím i požadované prahové hodnotě přispívající plochy, přičemž negativní gradient před tímto prahem vysvětlují chybami ve výškových datech. Ty se podle nich totiž při výpočtu sklonu projeví více v menších měřítcích (nejvíce pak u jednotlivých buněk), kde nedochází k dostatečnému vyrušení chyb průměrováním.
Obr. 2.5.7. Výsledek dvoufázové regrese na stejném povodí jako na Obr. 2.5.6, použity jsou hodnoty vypočtené na základě sítí extrahovaných různými prahovými hodnotami přispívají plochy. Převzato z Tarboton et al., 1991.
Naproti tomu Montgomery a Foufoula-Georgiou (1993) namítají, že pouze záporný gradient je výsledkem nedostatků metody, kterými je podle nich především užití hodnot sklonu a přispívající plochy pro jednotlivé úseky předem extrahované sítě. Sklony úseků sítě totiž způsobují v grafu sklon-plocha systematický posun, způsobený tím, že na profilech (vertikálních řezech terénem), podél nichž není gradient konstantní (což je splněno na většině reálných profilů), je sklon úseku funkcí jeho délky, která ovšem zase závisí na prahové
115
hodnotě přispívající plochy, použité k extrakci dané sítě. Tím je možné vysvětlit i pozorování, že při použití různých prahových hodnot se změna gradientu v grafu sklon-plocha identifikovaná metodou Tarbotona et al. (1991) liší. Navíc Montgomery a Foufoula-Georgiou (1993) upozorňují, že zmíněnou metodou nalezené prahové hodnoty pro extrakci říční sítě jsou nereálně vysoké, kolem 105 až 106 m. Jak uvádějí, pomocí prahové hodnoty přispívající plochy lze přibližně odhadnout „průměrnou“ délku svahů jako A/hr, kde hr je délka hrany buňky. Takto odhadnuté délky svahů, při použití DEM o běžném rozlišení 30m (což je i rozlišení použité Tarbotonem et al., 1991), jsou 3.3 – 33 km, přitom délky svahů typické v mírně svažité topografii jsou do 1 km. Montgomery a Foufoula-Georgiou (1993) uzavírají, že přechod od mírného ke strmému zápornému gradientu, který obvykle odhalí zmíněná metoda, nesouvisí s přechodem mezi divergentní a konvergentní topografií, ale s něčím jiným. Zároveň navrhují namísto sklonů a přispívajících ploch jednotlivých úseků použít sklony a plochy počítané pro jednotlivé buňky. Jsou-li taková data vhodně zprůměrována, vykazují přechod od pozitivního gradientu v negativní v podstatě vždy (viz Obr. 2.5.8). Nicméně takto odvozené prahové hodnoty, odpovídající již mnohem reálnějším délkám svahů, nepovažují autoři za hodnoty vhodné k extrakci říčních sítí, nýbrž k extrakci sítí údolnic (viz kap. 2.5.5.1).
Obr. 2.5.8. Logaritmický graf sklonplocha se zřetelným zlomem z pozitivního na negativní gradient. Hodnoty sklonu a přispívající plochy jsou počítány pro jednotlivé buňky, zobrazeny jsou setříděná a zprůměrovaná data. Povodí Schoharie Creek Basin, New York, USA. Převzato z Montgomery et Foufoula-Georgiou, 1993.
2.5.5.3 Metody prahu závislého na sklonu Použití kritéria (2.5.33) je bohužel velmi omezeno nesnadností správně určit hodnotu konstanty C. Jak bylo zmíněno, tato konstanta je závislá jak na klimatu (intenzita srážek) tak
116
na vlastnostech půd (kritické smykové napětí). Jistý hrubý empirický odhad uvádějí Montgomery a Foufoula-Georgiou (1993) jako:
C≈
10 6 , Ra
(2.5.38)
kde Ra je průměrná roční srážka v milimetrech. Upozorňují však, že tento vztah byl odvozen pouze na třech povodích v Kalifornii a Oregonu, kde bylo možné zanedbat vliv kritického smykového napětí. Extrapolace do jiných povodí je proto nepodložená a je třeba ji ověřit validací na sítích zjištěných terénním průzkumem. Autoři (ibidem) snahy o automatický odhad konstanty C uzavírají konstatováním, že vznik vodních toků je ve skutečnosti natolik komplexním a dynamickým procesem, že nejvhodnější metodou pro jejich extrakci jsou, alespoň omezená, terénní data o poloze zdrojů. Pomocí nich lze např. odhadnout konstantu C výpočtem výrazu acrS2 pro všechny v terénu identifikované zdroje a použitím jejich průměru.
Obr. 2.5.9. Čtyři oblasti s rozdílnými gradienty v log-log grafu sklon-plocha. Data jsou setříděna a znázorněny jsou průměry jednotlivých tříd. Povodí Brushy Creek Basin, Alabama, USA. Převzato z Ijjasz-Vasquez et Bras, 1995.
Detailní analýzou grafů sklon-plocha se zabývali také Ijjasz-Vasquez a Bras (1995), kteří v nich identifikovali celkem čtyři oblasti, každý s rozdílným gradientem (viz Obr. 2.5.9): oblast I nejvíce vlevo (odpovídající tedy nejmenším plochám) je charakterizována pozitivním gradientem, následuje oblast II s relativně prudkým poklesem, oblast III s velmi mírným záporným gradientem a nakonec oblast 4, v níž dochází opět k prudšímu poklesu, zároveň však dochází ke značnému rozptylu dat. Přechod mezi oblastmi I a II připisují, podobně jako
117
předešlí autoři, přechodu mezi konkávní a konvexní topografií. Klíčovou oblastí je pro ně oblast III, v níž se podle nich začíná projevovat sebe-organizující struktura říční sítě. Některé buňky spadající do této oblasti tak mohou již být součástí sítě, některé mohou ležet na konkávních partiích svahů. Oblast III tak vlastně představuje přechod mezi oblastí II, v níž všechny buňky náleží svahům, a oblastí IV, kde již všechny buňky spadají do říční sítě45. Pro určení, kudy vézt dělící čáru mezi buňkami toků a buňkami svahů, doporučují autoři (ibidem) následující jednoduchou techniku (viz Obr. 2.5.10): nejprve jsou oblastmi II a IV proloženy přímky (jednoduchou lineární regresí), poté je z bodů, kde tyto přímky protínají hraniční svislice oddělující od sebe oblasti II, III a IV, vytvořen čtyřúhelník, kterým je nakonec vedena úhlopříčka spojující jeho horní levý a dolní pravý roh. Tato úhlopříčka je přitom hledanou dělící čárou.
Obr. 2.5.10. Vykreslení dělící čáry mezi buňkami vodních toků a buňkami svahů. Daty v oblastech II a IV jsou nejprve proloženy regresní přímky, čtyřúhelníkem vzniklým jejich průsečíky s dělícími čarami mezi oblastmi II, III a IV je následně vedena úhlopříčka, představující hraniční čáru. Buňky napravo od ní jsou prohlášeny za buňky vodních toků, buňky nalevo za buňky svahů. Povodí Schoharie Creek Basin, New York, USA. Převzato z Ijjasz-Vasquez et Bras, 1995.
Tato interpretace by si jistě zasloužila hlubší zdůvodnění, příslušné články nám však v současné době nejsou k dispozici.
45
118
119
3. PRAKTICKÁ ČÁST Obsahem praktické části je popis předkládaného programu včetně uživatelského rozhraní, ukázky implementací vybraných procedur a ukázky výstupů z jednotlivých úloh. Grafické výstupy jsou vizuálně porovnány za účelem ověření, zda rozdíly mezi jednotlivými algoritmy odpovídají jejich typickému chování popsanému v literatuře.
120
121
3.1 Popis programu 3.1.1 Struktura programu Předkládaný program je vytvořen ve vývojovém prostředí Lazarus, verze 0.9.25beta, které používá programovací jazyk ObjectFreePascal. Lazarus je Open Source program distribuovaný pod GPL licencí a je vytvořen jako téměř identická kopie komerčního vývojového prostředí Delphi firmy Borland. Rovněž jazyk ObjektFreePascal je kopií jazyka ObjektPascal, s nímž pracují Delphi. Vývojové prostředí je zaměřeno na snadnou a rychlou tvorbu aplikací s vyvinutým uživatelským prostředím, což je umožněno především díky obsáhlé knihovně vizuálních komponent (LCL, Lazarus Component Library, kopie komerční VCL čili Visual Component Library od firmy Borland). Více informací o produktu Lazarus je možné nalézt na internetové adrese http://www.lazarus.freepascal.org. Program je vytvořen jako spustitelná *.exe aplikace nevyžadující instalaci, pracující pod operačním systémem Windows 2000 a novějšími verzemi Windows (včetně Windows Vista). Ovládání programu je zprostředkováno uživatelsky přátelským vizuálním rozhraním, v němž lze prohlížet a upravovat grafické výstupy z jednotlivých úloh a ukládat obrázky i výstupní textové soubory. Pro jednotlivé úlohy je k dispozici výběr z většího množství algoritmů, přičemž struktura programu umožňuje postupné použití více algoritmů a snadné porovnání výsledků. Název programu je DEMETERR, verze 1.0. Název je zkratkou Digital Elevation Models – Elementary TERRain analysis. Verze 1.0 symbolizuje skutečnost, že autor má v úmyslu
program dále rozvíjet a vylepšovat. Základní struktura programu je znázorněna na Obr. 3.1.1. Po spuštění programu je možné buď zahájit nový projekt načtením vstupních dat digitálního elevačního modelu, nebo otevřít již vytvořený a uložený projekt. Při práci s novými daty je nutné nejprve provézt úvodní scan, teprve pak je možné provádět s daty jednotlivé úlohy. Výstupem z jednotlivých úloh jsou vrstvy, reprezentované většinou maticí reálných čísel, s rozměry odpovídající rozměrům mřížky DEM (čili rozměrům základní matice nadmořských výšek). Odlišné vrstvy vznikají jednak jako výsledek úlohy „Catchment Delineation“ (Ohraničení povodí), jednak jako výsledek úlohy „Channel Network Extraction“ (Extrakce říční sítě, blíže viz dále). Vzniklé vrstvy lze jednak zobrazovat, jednak používat jako vstupy do dalších úloh. Pokud například chceme spustit úlohu Catchment Delineation, je nejprve nutné spustit úlohu „Overland Flow“ (Povrchový odtok), z níž jednou z výstupních vrstev je vrstva „FlowDirections“ (Směry
122
odtoku). Tato vrstva je pak vstupní vrstvou do úlohy Catchment Delineation. Spustíme-li úlohu Overland Flow vícekrát za sebou, při následném spuštění úlohy Catchment Delineation si můžeme vybrat mezi všemi vytvořenými vrstvami FlowDirections. Za tím účelem jsou všechny vytvářené vrstvy číslovány (např. FlowDirections1, FlowDirections2 atd.).
Obr. 3.1.1. Základní struktura programu, založená na vytváření zobrazitelných vrstev, použitelných pro další úlohy. Červeně jsou vyznačeny vrstvy zobrazitelné jako podkladové („Background Layers“), zeleně vrstvy hranic povodí a modře vrstvy říčních sítí. Dvě posledně jmenované vrstvy lze zobrazovat přes vrstvy podkladové. Vytvořené vrstvy (včetně vrstvy „OriginalDEM“, v níž jsou uchovány původní hodnoty nadmořských výšek) lze uložit do projektu, který je možné následně kdykoli otevřít a s vrstvami dále pracovat.
123
3.1.2 Načtení vstupních dat Po spuštění programu je možné zahájit práci s daty třemi různými způsoby: (1) načtením nových vstupních dat, (2) otevřením existujícího projektu a (3) vytvořením nového projektu výběrem menšího území.
3.1.2.1 Načtení nových vstupních dat Tato základní možnost slouží k načtení nových dat do programu a zahájení nového projektu s novými daty. Je umístěna v hlavní nabídce pod Project → New Project. Po kliknutí se otevře dialogové okno s hlavičkou „Data Loading“ (viz Obr. 3.1.2), v něm je nutné zadat parametry vstupního souboru (formát souboru, horizontální a vertikální rozlišení) a poté kliknout na tlačítko „Load...“. To vyvolá otevření standardního okna pro otvírání souborů. V něm je třeba vybrat správný soubor a výběr potvrdit. V případě volby správného souboru je načten příslušný digitální model terénu, který je ihned zobrazen. V hlavičce hlavního okna se objeví název (včetně adresy) vstupního souboru. Zároveň je v hlavní nabídce zpřístupněna volba „Initial Scan“.
Obr. 3.1.2. Dialogové okno pro zadání parametrů vstupního datového souboru, z něhož je načítán digitální elevační model.
Základním parametrem je formát vstupního souboru. V současnosti je na výběr pouze jediný formát, kterým je textová matice čísel v ANSII kódování, čili soubor s příponou .txt, obsahující číselné hodnoty elevací. Tento soubor lze obdržet jako výstupní soubor z Freeware programu 3DEM (dostupný z URL http://www.visualizationsoftware.com/3dem.html), který pracuje s nejrůznějšími formáty, používanými k uchovávání výškových dat, jako je např. GeoTIFF (*.tif),USGS DEM (*.dem,*.tar.gz,*.tgz,*.gz), SRTM Data (*.hgt,*.bil), Terrain Matrix (*.bin,*.txt), XYZ Point Cloud (*.bin,*.txt) a řada dalších. Výšková data lze z programu 3DEM exportovat mimo jiné ve formě textového souboru, v němž jsou hodnoty
124
elevací zapsány za sebou v jediném řádku, oddělené mezerami. K vytvoření souboru, který lze načíst programem DEMETERR, je třeba k těmto číslům doplnit informaci o počtu řádků a sloupců matice, do níž mají být data uspořádány. Za tím účelem je nutno na začátek souboru exportovaného programem 3DEM vložit řádek a na něj zapsat nejprve číslo udávající počet sloupců a za něj (oddělené mezerou) číslo udávající počet řádků. Obě hodnoty je možné získat ze souboru s příponou .hdr, který je exportován z programu 3DEM společně se souborem s výškovými daty. Pro správné hodnoty vypočtených veličin, jako je např. přispívající plocha, je nutné zadat před načtením souboru horizontální rozlišení (v metrech, celé číslo). Vertikální rozlišení je taktéž nutné zadat (v metrech, reálné číslo), především pro správný chod některých algoritmů pro ošetření plošin.
3.1.2.2 Otevření existujícího projektu Jedná se o možnost pracovat s již dříve vytvořenými a uloženými vrstvami, bez nutnosti znovu načítat původní vstupní data. Otevření projektu je možné opět provézt z hlavní nabídky pomocí příkazu Project → Open Project. Po kliknutí se otevře standardní dialogové okno pro otvírání souborů, v němž je třeba vybrat správný soubor s příponou .dprj (zkratka „DEMETERR Project“). Blíže o formátu souboru projektu viz kap. 3.1.5. Pokud byly vytvořeny nějaké vrstvy, které nejsou dosud uloženy, otevře se při klinutí na nový projekt upozornění o existenci těchto vrstev a dotaz, zda se mají vrstvy uložit do projektu. Tento dotaz je možné potvrdit, nebo celou akci zrušit a vrátit se tak k vrstvám, s nimiž bylo do té chvíle pracováno.
3.1.2.3 Vytvoření nového souboru výběrem menší oblasti Třetí možností jak zahájit práci s daty je vytvoření nových dat interaktivním výběrem menšího území v rámci již načteného modelu terénu (je jedno, zda byl načten pomocí vstupního datového souboru nebo pomocí již vytvořeného projektu). Tato akce může být výhodná např. tehdy, když načtený model terénu obsahuje větší území, než je území zájmové, přičemž je možné například nejprve provézt na původních datech simulaci povrchového odtoku, pomocí vrstvy FlowDirections ohraničit povodí a následně z DEM vybrat pouze obdélníkovou oblast ohraničující vybrané povodí. Zmenšením počtu buněk DEM tak lze výrazně urychlit výpočty.
125
Možnost výběru menšího území je umístěna v hlavní nabídce pod příkazem Edit → Select Smaller Area. Po kliknutí se nad aktuálně zobrazovanou vrstvou změní podoba kurzoru v podobu symbolizující výběr obdélníkové oblasti. Myší je pak možné v zobrazované vrstvě vybrat obdélníkovou oblast, která se při tahu myší přes plátno zobrazuje jako červený obdélník (viz Obr. 3.1.3). Po uvolnění tlačítka myši se ukáže dialogové okno s upozorněním, že výběr menší oblasti způsobí zahájení nového projektu, a tím ztrátu všech dosud vytvořených a neuložených vrstev. Současně je zobrazena informace o počtu neuložených vrstev. Kliknutím na „Cancel“ lze akci zrušit a vrátit se do původního projektu. Pokud naopak výběr potvrdíme stisknutím tlačítka „OK“, dojde k založení nového projektu, přičemž namísto obvyklého otevření a načtení vstupního datového souboru se do příslušné matice elevací rovnou načtou data z vybrané oblasti původního modelu terénu. Dále je možné pokračovat jako po načtení nových dat, tedy úlohou „Initial Scan“ (viz dále).
3.1.3 Datová struktura vrstev Jak již bylo řečeno, výstupem z jednotlivých úloh jsou vrstvy, které lze ve většině případů zobrazovat a v případě potřeby použít jako vstupní data do dalších úloh. DEMETERR pracuje se čtyřmi základními typy vrstev:
1. Podkladová vrstva (Background Layer). 2. Vrstva směrů odtoku (Flow Directions Layer). 3. Vrstva hranic povodí (Catchment Boundaries Layer). 4. Vrstva říční sítě (Channel Network Layer).
3.1.3.1 Podkladové vrstvy Tyto vrstvy obsahují především matici reálných čísel, v níž jsou uloženy hodnoty příslušné charakteristiky, kterou vrstva reprezentuje. Tato matice má přirozeně stejné rozměry jako samotný DEM, přičemž jednotlivé hodnoty reprezentují hodnoty v bodě umístěném ve středu příslušné buňky, proto je možné je chápat jako průměrnou hodnotu pro celou buňku. Každá podkladová vrstva obsahuje také seznam plošin, které mají být v souvislosti z vrstvou zobrazovány46. Podkladová vrstva obsahuje také základní informace o svém původu a
46
Deprese jsou zobrazovány vždy tytéž, počet a rozsah plošin se však mění po odstranění depresí, a to různě v závislosti na použité metodě.
126
vlastnostech ve formě textových řetězců, a dále informace o způsobu, jak má být vrstva zobrazována (odstín a jemnost barevné škály, barva zobrazovaných depresí a plošin apod.). Mezi podkladové vrstvy patří: - OriginalDEM. Tato vrstva je vždy pouze jedna, není proto číslována. Jedná se o základní vrstvu, v jejíž matici jsou uloženy hodnoty elevací původního digitálního elevačního modelu, jak byl načten ze vstupního souboru (případně vytvořen výběrem menší oblasti, viz výše). V informacích o vrstvě jsou po řadě uloženy následující údaje: jméno (včetně adresy) původního datového souboru (tato informace se předává i při vytvoření nové vrstvy výběrem menší oblasti, i při ukládání a otvírání projektu), typ vrstvy (= OriginalDEM), celkový počet buněk, počet sloupců, počet řádků, horizontální a vertikální rozlišení, nejvyšší a nejnižší elevace, počet depresí a počet plošin. - SinklessDEM. Jedná se o vrstvu, v jejíž matici jsou opět uloženy nadmořské výšky jednotlivých buněk. Nejedná se však o původní DEM, ale DEM upravený odstraněním depresí a případně i plošin, tedy DEM připravený pro úspěšný průběh většiny dalších úloh, především pak simulace povrchového odtoku. Těchto vrstev lze vytvořit libovolné množství pomocí libovolných (dostupných) algoritmů, proto jsou vrstvy číslovány (SinklessDEM1,SinklessDEM2 atd.). V informacích o vrstvě jsou uloženy údaje o původním datovém souboru (včetně adresy), typu vrstvy (= SinklessDEM), metodě, kterou byla vrstva vytvořena, celkové a maximální změně v elevaci způsobené odstraněním depresí a o počtu zbývajících plošin.
- Ostatní podkladové vrstvy. Jedná se o vrstvy Aspect, HorizontalCurvature, VerticalCurvature, Slopes, ContrubutingAreas, DispersalAreas, SpecificAreas a TopographicIndex. Tyto vrstvy obsahují ve své matici vždy hodnoty příslušné charakteristiky. V informacích pak obsahují údaje o původním souboru (stejně jako předchozí dvě vrstvy), o typu vrstvy a o metodě, jakou byla vrstva vytvořena, a o vstupní vrstvě, která byla pro výpočet dané vrstvy použita, včetně metody, kterou byla tato vstupní vrstva vytvořena. Všechny tyto vrstvy jsou číslovány.
127
3.1.3.2 Vrstvy směrů odtoku V této vrstvě je pro každou buňku DEM uložen seznam všech směrů, do nichž daná buňka odtéká (v seznamu jsou uloženy souřadnice příslušných buněk, do nichž odtok směřuje), včetně příslušných vah, kterými je odtok v jednotlivých směrech vážen. V případě jednosměrného odtoku má vrstva stejnou strukturu jako pro vícesměrné algoritmy, pouze příslušné seznamy mají nejvýše jednu položku a váhy jsou rovny jedné. V informacích vrstvy je opět uložena adresa původního datového souboru, typ vrstvy (= FlowDirections), metoda, jakou byla vrstva vytvořena, název a metoda vzniku vstupní vrstvy DEM, na níž byl povrchový odtok simulován. Vrstva je číslována a je zobrazitelná pouze ve formě šipek ve směru největšího spádu.
3.1.3.3 Vrstvy hranic povodí V této vrstvě je uchovávána informace o hranicích povodí, extrahovaných zvolenou metodou (těchto povodí může být v jedné vrstvě vícero, viz dále kap. 3.1.4). Vedle základních informací o původním datovém souboru, typu vrstvy (= Catchments) a metodě jejího vzniku a o vstupní vrstvě směrů odtoku a metodě jejího vzniku, obsahuje vrstva navíc informaci o počtu povodí, které reprezentuje. Vrstva je opět číslována.
3.1.3.4 Vrstvy říční sítě V této vrstvě je především uložen strukturovaný seznam buněk, patřících do říční sítě. Seznam je uspořádán podle jednotlivých Strahlerových řádů, a dále podle jednotlivých úseků sítě. V informacích vrstvy je jednak opět adresa původního datového souboru, jednak typ vrstvy (= ChannelNetwork), metoda, jíž byla vrstva vytvořena, seznam vstupních vrstev a prahová hodnota, pomocí níž byla síť extrahována. Jedná se opět o číslovanou vrstvu.
3.1.4 Základní úlohy Přehled úloh a příslušných vstupních a výstupních vrstev je uveden v Tabulce 3.: Tabulka 3. Přehled úloh programu DEMETERR. Úloha Vstupní vrstvy Initial Scan Matice elevací, načtená buď ze vstupního datového souboru nebo výběrem menší oblasti
128
Výstupní vrstvy OriginalDEM
Sinks and Flats Terrain Attributes
OriginalDEM OriginalDEM nebo SinklessDEM
Overland Flow
OriginalDEM nebo SinklessDEM
Topographic Index
Slopes ContributingAreas nebo SpecificAreas Catchment Delineation FlowDirections Channel Network Extraction FlowDirections ContributingAreas nebo SpecificAreas OriginalDEM* nebo SinklessDEM* Slopes* HorizontalCurvature* *Takto označené vrstvy jsou vyžadovány jen některými metodami
SinklessDEM Slopes Aspect HorizontalCurvature VerticalCurvature Slopes FlowDirections ContributingAreas SpecificAreas DispersalAreas TopographicIndex
Catchments ChannelNetwork
3.1.4.1 Úvodní scan Úvodní scan má za účel shromáždění základních informací o načteném digitálním elevačním modelu, nalezení a vytvoření seznamu plošin a depresí a vytvoření základní podkladové vrstvy OriginalDEM. Úvodní scan je třeba provézt vždy po načtení nových dat, ať již z nového vstupního souboru nebo výběrem menší oblasti. Teprve po proběhnutí úvodního scanu je možné pokračovat dalšími úlohami, jako je např. ošetření depresí a plošin. V případě načtení již uloženého projektu není třeba (a není ani možné) úvodní scan znovu provézt, neboť vrstva OriginalDEM je již vytvořena a je součástí projektu. Úvodní scan je možné spustit z hlavní nabídky příkazem Tasks → Initial Scan. Tato volba je zpřístupněna pouze po načtení nových dat, a po proběhnutí úvodního scanu je opět nepřístupná. Po kliknutí na úlohu se ihned spustí prohledávání DEM, přičemž na stavovém
řádku se objeví zpráva „DEM scanning...“. Po skončení se na stavovém řádku objeví „DEM scanned successfully“. Po proběhnutí scanu lze jednak spouštět další úlohy a jednak zobrazovat nalezené deprese a plošiny.
129
3.1.4.2 Ošetření depresí a plošin Cílem této úlohy je vtvořit DEM vhodný pro simulaci povrchového odtoku, jinými slovy neobsahující plošiny a deprese. Název výstupní vrstvy „SinklessDEM“ značí, že prvotním úkolem úlohy je odstranění depresí, přičemž ošetření plošin47 k němu může být přidáno či nemusí (např. je-li cílem porovnat mezi sebou jednotlivé algoritmy na ošetření depresí, zvláště vzhledem k rozsahu vzniklých plošin). Pokud z nějakého důvodu nechceme plošiny a deprese ošetřovat (např. proto, že DEM žádné neobsahuje), je možné úlohu vynechat a tam, kde je jako vstupní vrstva vyžadována matice elevací použít namísto SinklessDEM vrstvu OriginalDEM.
Obr. 3.1.4. Dialogové okno úlohy ošetření depresí a plošin, v němž lze vybrat metody, nastavit případné parametry zvolených metod a zvolit název výstupní vrstvy.
Úlohu lze spustit z hlavní nabídky příkazem Tasks → Sinks and Flats. Po kliknutí se otevře dialogové okno (viz Obr. 3.1.4), v němž je třeba vybrat metodu ošetření depresí, metodu ošetření plošin (jako první je na výběr -None-, čili volba plošiny neošetřovat) a případné parametry vybrané metody. Zároveň je možné zadat název výstupní vrstvy (výchozím názvem je SinklessDEM, s připojeným číslem).
47
Je třeba podotknout, že za plošinou zde rozumíme souvislou skupinu bezodtokých buněk se stejnou elevací.
130
Přehled metod a parametrů pro ošetření depresí je uveden v Tabulce 4.: Tabulka 4. Přehled metod pro ošetření depresí. Metoda Specifikace Filling Vyplnění, viz kap. 2.3.3.2 Outlet Breaching Protržení hráze, viz kap. 2.3.3.3 Carving SDI PEM4PIT
Vyrývání, viz kap. 2.3.3.4 Spatially Distributed Increment, viz kap. 2.3.3.6 Fyzikálně založená metoda, viz kap. 2.3.3.6
Parametry Breaching Length – délka protržení, nabývá hodnot 1 nebo 2 D – difuzivita svahu, [L2T-1] Theta – bezrozměrný měřítkový parametr upravující vztah mezi přispívající plochou a sklonem Beta – erodovatelnost povrchu, [L1-2ThetaT-1]
Vedle uvedených metod na ošetření depresí je navíc (s výjimkou u metody Filling) zaškrtnout volbu „Preliminary Depitting“, která před spuštěním vlastní vybrané metody odstranění (metodou Filling) všechny deprese velikosti jedné buňky (tato volba je popsána a hodnocena v články autorů Lindsay et Creed, 2005b). U metody Filling tato volba postrádá smyslu, neboť pochopitelně nijak neovlivní výsledek ani neurychlí výpočet. Přehled metod a parametrů pro ošetření plošin je uveden v Tabulce 5.: Tabulka 5. Přehled metod pro ošetření plošin. Metoda Specifikace -NoneŽádná metoda, plošiny jsou ponechány v DEM Towards Lower Gradient ke spodnímu okraji, viz kap. Gradient 2.4.4
Combined Gradient
Gradient od horního okraje (kombinovaný s gradientem ke spodnímu okraji), viz kap. 2.4.6
Parametry Slopes between – Flat’s Boundaries/Vertical Resolution (určuje rozpětí elevací, v rámci něhož jsou na plošině interpolovány nové sklony) Slopes between – Flat’s Boundaries/Vertical Resolution (určuje rozpětí elevací, v rámci něhož jsou na plošině interpolovány nové sklony)
Zvolíme-li pro ošetření depresí metodu SDI či metodu PEM4PIT, není možné dále volit metodu pro ošetření plošin. Uvedené metody totiž řeší plošiny společně s depresemi a výstupem je tedy DEM bez depresí i bez plošin. Vstupní vrstvou pro ošetření plošin a depresí je vždy vrstva OriginalDEM, pročež není třeba vstupní vrstvu vybírat. Po kliknutí na „Run“ proběhnou zvolené metody; během ošetřování depresí je na stavovém řádku hlavního okna programu zobrazen nápis „Sinks treating...“, při ošetřování plošin pak „Flats treating...“. Po skončení všech výpočtů se na
131
stavovém řádku objeví „Sinks and flats treated successfully“. Je vytvořena příslušně očíslovaná (případně jinak uživatelem pojmenovaná) vrstva SinklessDEM typu Background Layer, kterou je ihned možno zobrazovat a používat jako vstupní vrstvu do dalších úloh.
3.1.4.3 Charakteristiky terénu Pomocí této úlohy je možné spočítat vybrané základní charakteristiky terénu, jejichž výpočet není obsažen v ostatních úlohách. Jedná se o sklon, aspekt, horizontální a vertikální křivost. Úlohu lze spustit z hlavní nabídky příkazem Tasks → Terrain Attributes. Po kliknutí se otevře dialogové okno se zadáváním vstupní vrstvy DEM, volbou metody a názvem výstupní vrstvy (viz Obr. 3.1.5). Vstupní vrstvou je buď vrstva typu SinklessDEM nebo vrstva OriginalDEM. Při výběru vrstvy se v pravé části okna zobrazují informace o vybrané vrstvě. Výběr metody se týká pouze výpočtu horizontální křivosti, neboť ostatní charakteristiky jsou vypočteny pomocí diskrétních derivací metodou konečných diferencí (Gallant et Wilson, 1996, viz kap. 2.1.3.2). Horizontální křivost je možné navíc spočítat metodou Peuckera a Douglase, popsanou v kap. 2.5.2. Zde se dopouštíme určité generalizace, neboť výstupem z Peuckerova-Douglasova algoritmu ve skutečnosti nejsou přímo hodnoty křivosti, ale výběr buněk s extrémní konkávní křivostí, které lze využít při extrakci říční sítě. Naproti tomu při použití metody Finite Diference je výstupem skutečně matice hodnot křivosti. Tato generalizace je provedena z toho důvodu, že v obou případech je výsledná vrstva HorizontalCurvature použitelná v jedné z metod extrakce říční sítě jako matice vah (jedná se o metodu „Constant Drop Weighted Area Threshold“, viz dále), přičemž výstup z Douglasova-Peuckerova algoritmu je v jistém smyslu možné považovat za velmi hrubý odhad horizontální křivosti. Výstupní vrstva Slopes je v této úloze počítána podle vzorce (2.1.7), přičemž matici sklonů počítaných jinými metodami lze obdržet v rámci úlohy Overland Flow (viz dále). Ostatní dvě výstupní vrstvy jsou Aspect a VerticalCurvature. Tyto dvě vrstvy již nejsou dále používány žádnou další úlohou a lze je pouze zobrazovat. Po kliknutí na „Run“ proběhne výpočet, během něhož je na stavovém řádku hlavního okna programu zobrazen nápis „Terrain attributes computing...“. Po skončení všech výpočtů se na stavovém řádku objeví „Terrain attributes computed successfully“.
132
Obr. 3.1.5. Dialogové okno úlohy Terrain Attributes se zadáváním vstupní vrstvy DEM, výběrem metody pto výpočet horizontální křivosti a názvy výstupních vrstev.
3.1.4.4 Simulace povrchového odtoku Jedná se o zcela zásadní úlohu, během níž je na zvolené vrstvě DEM provedena zvoleným algoritmem simulace povrchového odtoku, jinými slovy každé buňce DEM je přiřazen jeden
či více směrů odtoku do sousedních buněk a váhy, kterými jsou jednotlivé směry odtoku váženy (výstupní vrstva FlowDirections). Zároveň je provedena simulace akumulace toku, čili výpočet přispívajících ploch (výstupní vrstva ContributingAreas). Jejich vydělením příslušnými hodnotami vrstevnicových délek (závislými na použitém algoritmu, viz následující tabulku) je obdržena matice specifických ploch (výstupní vrstva SpecificAreas). Současně jsou také vypočteny sklony (výstupní vrstva Slopes), a to vždy metodou odpovídající použitému odtokovému algoritmu (viz následující tabulku). Na závěr je pomocí nalezených směrů odtoku vypočtena matice ploch ovlivnění (výstupní vrstva DispersalAreas). Přehled metod a parametrů je uveden v Tabulce 6.: Tabulka 6. Přehled metod pro simulaci povrchového odtoku. Metoda Specifikace Výpočet Výpočet sklonů vrstevnicových délek SFD8 Jednosměrný Hr* Sklon ve směru (O’Callaghan et odtok, viz kap. největšího spádu, Mark, 1984) 2.2.2 vybíráno je z osmi směrů do osmi sousedů MFD8 Vícesměrný Součet délek pro Vážená suma všech (Quinn et al., odtok, jednotlivé směry kladných sklonů 1991; viz kap. 2.2.4 odtoku, 0.4*Hr pro (vybíráno je z osmi Holmgren, diagonální a směrů do osmi 1994) 0.6*Hr pro sousedů), vahami jsou kardinální směr vrstevnicové délky
133
Parametry
-
Slope Exponent – exponent, na nějž je umocňován sklon při výpočtu vah, [-]
MFD8 – Variable Exponent (Quinn et al., 1995)
Vícesměrný odtok s prostorově proměnným exponentem, viz kap. 2.2.4
Součet délek pro jednotlivé směry odtoku, 0.4*Hr pro diagonální a 0.6*Hr pro kardinální směr
Vážená suma všech kladných sklonů (vybíráno je z osmi směrů do osmi sousedů), vahami jsou vrstevnicové délky
SFD – Infinite (Tarboton, 1997)
Jednosměrný odtok, viz kap. 2.2.5
Hr
MFD – Infinite (Seibert et McGlynn, 2007)
Vícesměrný odtok, viz kap. 2.2.6
Hr
Sklon ve směru největšího spádu, nalezený na jedné z osmi trojúhelníkových plošek (viz kap. 2.2.5) Průměr ze všech kladných sklonů, nalezených na jednotlivých trojúhelníkových ploškách (viz kap. 2.2.6)
Slope Exponent – exponent, na nějž je umocňován sklon při výpočtu vah, [-] CA Threshold – prahová hodnota přispívají plochy, [km2] (CIT ze vzorce (2.2.7)), -
Slope Exponent – exponent, na nějž je umocňován sklon při výpočtu vah, [-]
*Hr je zkratka pro horizontální rozlišení (v metrech)
Úloha je přístupná z hlavní nabídky pod příkazem Tasks → Overland Flow. Po kliknutí se otevře dialogové okno pro zadávání vstupní DEM vrstvy, volbu metody a parametrů a pojmenování výstupních vrstev (viz Obr. 3.1.6). Vedle uvedených metod je u všech algoritmů s výjimkou SFD8 zpřístupněna volba „Channel Handling“. Při jejím zaškrtnutí je třeba zvolit prahovou hodnotu přispívající plochy (parametr CA Threshold), přičemž při výpočtu přispívající plochy je u buněk, které dosáhly či překročily tuto prahovou hodnotu, veden odtok pouze ve směru nejvyššího spádu, čili podle SFD8 algoritmu. To je výhodné např. při extrakci říční sítě, kdy volba vícesměrného algoritmu (bez modifikace Channel Handling) vede vlivem povolené disperze toku k nespojité síti. V případě, že vybraná metoda vyžaduje stanovení prahové hodnoty přispívající plochy (parametr CA Threshold), je možné zaškrtnout volbu „Automated Search“, která způsobí automatický odhad této prahové hodnoty. Tento odhad je proveden na základě analýzy maximálních hodnot topografického indexu v závislosti na zvyšující se prahové hodnotě přispívající plochy, což je metoda popisovaná autory Quinn et al. (1995, viz kap. 2.5.3). Zde je třeba upozornit, že při zjišťování závislosti maxima topografického indexu na přispívající ploše je provedena simulace povrchového odtoku stokrát za sebou (vždy s různou prahovou hodnotou přispívající plochy), čímž je jednak dán výběr možných hodnot odhadu (diskrétní krok zvyšování prahové hodnoty je nastaven vydělením celkové plochy DEM stem), jednak je při větším DEM výpočet dosti dlouhý.
134
Obr. 3.1.6. Dialogové okno úlohy Overland Flow.
Po kliknutí na „Run“ proběhne výpočet, během něhož je na stavovém řádku hlavního okna programu zobrazen nápis „Flow directions computing...“. Po skončení všech výpočtů se na stavovém řádku objeví „Flow directions computed successfully“. Zároveň jsou vytvořeny výstupní vrstvy FlowDirections, ContributingAreas, SpecificAreas, DispersalAreas a Slopes, všechny typu Background Layer.
3.1.4.5 Topografický index Během této pravděpodobně nejjednodušší úlohy jsou pouze vyděleny a zlogaritmovány hodnoty dvou veličin (viz vzorec (2.1.12)) ze dvou již vytvořených vrstev, čímž vznikne nová vrstva TopographicIndex. Vstupními vrstvami jsou vrstva SpecificAreas (je možné místo ní použít i vrstvu ContributingAreas) a vrstva Slopes (vytvořená buď úlohou Terrain Attributes nebo úlohou Overland Flow). Úloha je dostupná z hlavní nabídky pod příkazem Tasks → Topographic Index. Po klinutí se otevře dialogové okno se zadáváním vstupních vrstev a jména výstupní vrstvy (viz Obr. 3.1.7). Vzhledem k tomu, že úloha sestává z jediného vždy stejného výpočtu, není k dispozici žádný výběr metod či parametrů. Po kliknutí na „Run“ proběhne výpočet, během něhož je na stavovém řádku hlavního okna programu zobrazen nápis „Topographic index computing...“. Po skončení všech výpočtů se na stavovém řádku objeví „Topographic index computed successfully“. Výslednou vrstvu
135
TopographicIndex typu Background Layer nelze použít jako vstupní vrstvu do žádné další úlohy+, lze ji pouze zobrazovat.
Obr. 3.1.7. Dialogové okno úlohy Topographic Index.
3.1.4.6 Ohraničení povodí Tato úloha slouží k vykreslení hranic povodí při zadání polohy (souřadnic v DEM) uzávěrného profilu. Uzávěrným profilem může přitom být buď samostatná buňka, nebo jakákoli skupina buněk (spojitá i nespojitá). Navíc může být uzávěrných profilů libovolný počet, přičemž ve výsledné vrstvě Catchments jsou potom uložena všechna odpovídající povodí. Úlohu je možné spustit z hlavní nabídky příkazem Tasks → Catchment Delineation. Po kliknutí se objeví dialogové okno se zadáváním vstupní vrstvy FlowDirections, jména výstupní vrstvy, výběrem metody a souřadnic uzávěrných profilů (viz Obr. 3.1.8). Metody jsou k dispozici dvě. Jednak je to metoda „Border Outlets“, která automaticky vyhledá všechny uzávěrné profily, ležící na okraji DEM. V praxi jsou jako uzávěrné profily vybrány ty buňky okraje DEM, které mají nějaký přítok z vnitřku DEM. Druhou metodou je „User Defined Outlets“. Při volbě této metody je třeba zadat polohu buněk uzávěrných profilů ručně do tabulky v dialogovém okně. Souřadnice dané buňky je přitom kdykoli možné obdržet kliknutím na právě zobrazovanou podkladovou vrstvu, při čemž se souřadnice a příslušná hodnota uložená v matici zobrazované vrstvy objeví vlevo v hlavním okně programu, pod tlačítkem „Refresh“. Po kliknutí na „Run“ proběhne výpočet, během něhož je na stavovém řádku hlavního okna programu zobrazen nápis „Catchment delineating...“. Po skončení všech výpočtů se na 136
stavovém řádku objeví „Catchment delineated successfully“. Zároveň je vytvořena vrstva Catchments typu Catchment Boundaries Layer, kterou je možné zobrazovat přes podkladové vrstvy a použít jako vstupní vrstvu pro extrakci říční sítě (viz dále).
Obr. 3.1.8. Dialogové okno úlohy Catchment Delineation.
3.1.4.7 Extrakce říční sítě Cílem této metody je automatizovaný odhad polohy permanentních vodních toků. Variabilita metod, které lze k tomuto účelu použít, se doráží i ve variabilitě vstupních vrstev. Úloha je přístupná z hlavní nabídky pod příkazem Tasks → Channel Network. Po kliknutí se otevře dialogové okno pro zadávání vstupních vrstev, volbou metody a parametrů a pojmenováváním výstupní vrstvy (viz Obr. 3.1.9). Při výběru kterékoli metody je možné zvolit, zda bude říční síť extrahována z celé plochy DEM, nebo pouze v rámci zvoleného povodí. Zde je možné vybírat z již dříve vytvořených vrstev Catchments. Tato volba je důležitá především při použití metod, v nichž je příslušná prahová hodnota hledána metodou konstantního poklesu. Platnost zákona konstantního poklesu, která je hlavním kritériem správnosti extrahované sítě, může být totiž značně ovlivněna malými úseky vodních toků z částí jiných povodí, než je povodí zájmové. Tato okolní povodí nemusí být v DEM obsažena celá (jejich rozvodnice se dotýká okraje DEM), takže hodnoty přispívající plochy, na základě nichž jsou jednotlivé porovnávané sítě extrahovány, neodpovídají skutečným hodnotám. 137
Obr. 3.1.9. Dialogové okno úlohy Channel Network.
Přehled metod a požadovaných vstupních vrstev je uveden v Tabulce 7.: Tabulka 7. Přehled metod pro extrakci říční sítě. Metoda Specifikace Constant Area Threshold Metoda konstantní prahové hodnoty přispívající plochy, viz kap. 2.5.3 Slope-Area Threshold
Metoda prahové hodnoty konstanty C ze výrazu (2.5.32)
Weighted Area Threshold
Prahová hodnota vážené přispívající plochy, vahami jsou hodnoty horizontální křivosti, viz kap. 2.5.4.2.
Relative Elevation Threshold
Prahová hodnota relativní výšky podpovodí (viz kap. 2.5.4.4)
Vstupní vrstvy FlowDirections ContributingAreas* SinklessDEM** FlowDirections ContributingAreas* Slopes SinklessDEM** FlowDirections ContributingAreas* SinklessDEM** HorizontalCurvature FlowDirections ContributingAreas* SinklessDEM**
*Takto označené vrstvy lze nahradit vrstvami SpecificAreas **Takto označené vrstvy lze nahradit vrstvou OriginalDEM
Všechny metody lze použít buď způsobem uživatelsky zvolené prahové hodnoty (parametr „Threshold“), nebo může být (po zaškrtnutí volby „Constant Drop Analysis“) příslušná prahová hodnota nalezena automaticky, metodou konstantního poklesu (viz kap. 2.5.4.2). Diskrétní krok při navyšování prahové hodnoty je vždy nastaven na 1/1000 maximální hodnoty (u prahové hodnoty přispípvající plochy jde tedy o 1/1000 celkové plochy
138
DEM), maximální počet analyzovaných sítí je tedy 1000 (v případě, že žádná síť nesplní podmínku konstantního poklesu). U metod Slope-Area Threshold a Relative Elevation Threshold, které většinou vedou k extrakci nespojité sítě, může být zaškrtnuta volba „Connecting“, která způsobí propojení nalezených úseků sítě pomocí D8 směrů odtoku. Po kliknutí na „Run“ proběhne výpočet, během něhož je na stavovém řádku hlavního okna programu zobrazen nápis „Channel network extracting...“. Po skončení všech výpočtů se na stavovém řádku objeví „Channel network extracted successfully“. Výstupem z úlohy je vrstva ChannelNetwork typu Channel Network Layer, zobrazitelná přes podkladové vrstvy.
3.1.5 Zobrazování výsledků Pro zobrazování slouží kreslící plátno umístěné v hlavním okně programu. V tomto plátně je zvolenou kombinací vrstev (viz dále) možné vytvořit vždy pouze jeden obrázek, který lze uložit jako bitmapový soubor s příponou .bmp kliknutím na tlačítko „Save as Bitmap“. Po kliknutí se otevře standardní dialogové okno pro ukládání souborů, v němž je třeba pouze doplnit název obrázku a potvrdit „OK“ (přípona .bmp je doplněna automaticky). Současně s uložením obrázku je automaticky uložena legenda, a to v té podobě, v jaké je právě zobrazována v levém dolním rohu hlavního okna programu. Název obrázku legendy je vytvořen ze zvoleného názvu obrázku přidáním „_legend.bmp“. Vytvořeným obrázkem je možné zoomovat pomocí posuvného tlačítka umístěného v dolní
části panelu „View“ (panel je umístěn vlevo nahoře v hlavním okně programu). Toto zoomování je možné provádět v diskrétních krocích se zvětšením 2x až 11x. Po posunutí zoomovacího tlačítka je třeba obrázek překreslit kliknutím na „Refresh“. V souvislosti se zoomováním je však třeba dát pozor na to, že při ukládání zvětšeného obrázku je uložen obrázek v rozlišení, v jakém je právě zobrazován. Při aplikaci jednotlivých úloh lze u výstupních vrstev v příslušném dialogovém okně zaškrtnout volbu „Show Layer“. Tato volba způsobí, že výsledná vrstva bude přidána do seznamů zobrazitelných vrstev, umístěných v hlavním okně programu v panelu View, v nichž lze vybírat aktuálně zobrazované vrstvy. Tyto seznamy jsou čtyři, pro každý typ vrstvy jeden, což v praxi znamená, že je možné najednou zobrazovat čtyři různé vrstvy. Přes vybranou podkladovou vrstvu je možné zároveň zobrazit vrstvu hranic povodí, vrstvu říční sítě a vrstvu směrů odtoku. Příkazem Show → Layers Info umístěným v hlavní nabídce je možné zapnout zobrazování informací o jednotlivých aktuálně zobrazovaných vrstvách. Je-li tato volba
139
zapnutá, objeví se v levé části hlavního okna programu panel „Layers Info“ (viz Obr. 3.1.11), v němž jsou po řadě informace o zobrazované podkladové vrstvě, vrstvě hranic povodí, vrstvě
říční sítě a vrstvě směrů odtoku. Tato možnost je velmi důležitá při porovnávání výsledků různých algoritmů, neboť poskytuje okamžitý přehled o původu jednotlivých vrstev.
Obr. 3.1.10. Hlavní okno programu se zobrazenými vrstvami OriginalDEM (ve stupních šedi), Catchments3 (oranžově) a ChannelNetwork1 (modře).
3.1.5.1 Zobrazování podkladových vrstev Podkladové vrstvy jsou zobrazovány ve zvolené barevné škále, přičemž výchozí škálou je 32 odstínů šedi. Dalšími volitelnými škálami jsou odstíny červené, odstíny modré a odstíny zelené, počet odstínů lze nastavit (viz dále). Zobrazení vybrané vrstvy lze provézt jejím 140
výběrem v seznamu podkladových vrstev v levém horním rohu hlavního okna programu a následným kliknutím na tlačítko „Refresh“ (viz Obr. 3.1.10).
Obr. 3.1.11. Hlavní okno programu se zobrazovanou vrstvou SinklessDEM. V záložce Show hlavní nabídky je zaškrtnuto zobrazování depresí (červeně), plošin (zeleně), legendy (vlevo dole) a informací o zobrazovaných vrstvách (vlevo uprostřed).
Se zobrazením jakékoli podkladové vrstvy lze zároveň zobrazit odpovídající deprese a plošiny. Tyto dva prvky jsou zobrazovány obtažením jednotlivých depresí a plošin a označením jejich okrajových buněk tečkou uprostřed. V případě rozsáhlých DEM, v nichž při zobrazování každé buňce odpovídá jediný pixel, je obtažení provedeno vybarvením pixelů
141
obvodových buněk depresí a plošin. Výchozí barvou pro zobrazení depresí je červená, pro plošiny je to zelená (viz Obr. 3.1.11). Zobrazování plošin a depresí je možné zapnout či vypnout v hlavní nabídce příkazem Show → Sinks a Show → Flats. Vedle depresí a plošin je také možné zobrazovat samotnou mřížku DEM, k čemuž je třeba zapnout volbu z hlavní nabídky Show → Grid. Současně se zobrazením podkladové vrstvy je automaticky v levém dolním rohu hlavního okna programu zobrazena legenda, která se vztahuje pouze k právě zobrazované podkladové vrstvě. Zobrazování legendy lze vypnout či zapnout v hlavní nabídce příkazem Show → Legend. Nastavení zobrazování jednotlivých podkladových vrstev je možné pomocí dialogového okna „Drawing Options“, které se otevře při kliknutí na příkaz z hlavní nabídky Settings → Drawing Options. V tomto okně je třeba otevřít záložku „Background Layers“ (viz Obr. 3.1.12). Zde je možné nastavit barvu a jemnost škály, barvu mřížky, plošin a depresí a také měřítko, v jakém budou hodnoty vrstvy zobrazovány. Na výběr je buď normální nebo logaritmické měřítko, při němž jsou namísto samotných hodnot příslušné matice zobrazovány jejich dekadické logaritmy. Tento způsob zobrazení je výchozím zobrazením u vrstev ContributingAreas, SpecificAreas, DispersalAreas a Slopes, a to vzhledem k typickému rozsahu a rozložení hodnot těchto veličin.
Obr. 3.1.12. Dialogové okno Drawing Options, záložka Background Layers.
142
Nastavení je třeba potvrdit kliknutím na „Apply“, přičemž zvolené nastavení je uloženo pouze pro vrstvy zaškrtnuté v seznamu vrstev umístěném vlevo dole v popisovaném okně. Při nastavování barev je třeba vždy kliknout na příslušné tlačítko označené „...“, při čemž se otevře dialogové okno s možností namíchat libovolnou barvu poměrem třech základních kanálů. tedy červené, zelené a modré (viz Obr. 3.1.13).
Obr. 3.1.13. Dialogové okno Color Selection.
3.1.5.2 Zobrazování vrstev hranic povodí Vrstvy hranic povodí je možné zobrazovat jako linii přes aktuálně vybranou podkladovou vrstvu. Výchozí šířka linie hranic povodí je dva pixely, výchozí barvou je oranžová. Je-li velikost buňky při zobrazování rovna velikosti pixelu, je hranice povodí zobrazena vybarvením hraničních pixelů. Pokud nechceme žádnou vrstvu hranic povodí zobrazovat, je možné v seznamu vrstev vybrat položku „-None-“. Způsob zobrazování hranic povodí lze pro každou jednotlivou vrstvu nastavit v dialogovém okně Drawing Options pod záložkou „Catchment Boundaries Layers“ (viz Obr. 3.1.14). Zde je možné zvolit barvu a šířku linie hranic.
3.1.5.3 Zobrazování vrstev říční sítě Zobrazování vrstev říční sítě je analogické k zobrazování vrstev hranic povodí, s tím rozdílem, že linie vodních toků nejsou tvořeny linií tloušťky dvou pixelů, ale vybarvením buněk, patřících do vodní sítě. Výchozí barvou buněk říční sítě je modrá. Opět je možné nezobrazovat žádnou vrstvu říční sítě výběrem položky -None- v seznamu vrstev. V záložce „Channel Network Layers“ dialogového okna Drawing Options je možné nastavit barvu jednotlivých vrstev říční sítě (viz Obr. 3.1.15).
143
Obr. 3.1.14. Dialogové okno Drawing Options, záložka Catchment Boundaries Layers.
Obr. 3.1.15. Dialogové okno Drawing Options, záložka Channel Network Layers.
144
3.1.5.4 Zobrazování vrstev směrů odtoku Vrstvy směrů odtoku lze zobrazovat pouze jako jednoduché šipky, označující D8 směr,
čili směr do toho sousedu, do něhož má daná buňka největší spád (viz Obr. 3.1.17). Barvu šipek lze nastavit v okně Drawing Options pod záložkou „General“ (viz Obr. 3.1.16). Jednoduché D8 šipky se zobrazují i v případě vícesměrných algoritmů, neboť grafické vyjádření většího množství odtokových směrů by bylo vzhledem k obvyklé velikosti buněk příliš složité. Přesto má taková informace velký význam, především při porovnávání výsledků jednotlivých algoritmů na ošetření depresí a plošin. Pro zobrazení šipek je nutné, aby délka hrany buňky DEM byla při zobrazování větší než 8 pixelů.
Obr. 3.1.16. Dialogové okno Drawing Options, záložka General.
3.1.6 Ukládání a otvírání projektu Pokud vytvoříme více než jednu vrstvu, je možné kdykoli vzniklou soustavu vrstev uložit jako projekt a ten kdykoli v budoucnosti programem zase otevřít. Ukládání je možné provézt dvěma způsoby. Při kliknutí na příkaz z hlavní nabídky Project → Save Project je nejprve provedena kontrola, zda již byl projekt uložen. Pokud ano, jsou již vytvořené soubory (viz
145
dále) pouze přepsány, pokud ne, otevře se standardní dialogové okno pro ukládání souborů, v němž je třeba zvolit název souboru. Ke zvolenému názvu je automaticky přidána přípona .dprj (zkratka výrazu „DEMETERR Project“). Druhou možností je kliknutí na příkaz Project
→ Save Project As. V tomto případě je možné zadat název a umístění ukládaného projektu bez ohledu na to, zda byl projekt již dříve uložen.
Obr. 3.1.17. Hlavní okno programu se zobrazovanými vrstvami ContributingAreas1 (ve stupních šedí), Catchments3 (oranžově, tloušťka čáry 4 pixely) a FlowDirections1 (červené šipky). Obrázek je 8x zvětšen (Zoom: 800%).
Při ukládání projektu je uložen jednak hlavní soubor projektu, jednak soubory reprezentující jednotlivé vrstvy. Soubory vrstev jsou bez přípony a jsou automaticky uloženy 146
do stejné složky, v jaké se nachází hlavní soubor projektu.48 Hlavní soubor projektu je ve skutečnosti obyčejným textovým souborem, v němž jsou zapsány adresy jednotlivých souborů vrstev. Na prvním řádku souboru je uvedena adresa souboru s původními výškovými daty. Tento původní datový soubor se při otvírání souboru znovu nenačítá (DEM je načten pomocí uložené vrstvy OriginalDEM). Na druhém řádku je počet sloupců, na třetím počet
řádků, na čtvrtém horizontální a na pátém vertikální rozlišení DEM. Dále následují na jednotlivých řádcích adresy souborů jednotlivých vrstev. Soubory vrstev jsou automaticky pojmenovány jmény jednotlivých vrstev, přičemž se opět jedná o textové soubory. Všechny soubory vrstev obsahují na začátku veškeré informace o vrstvě. Dále následuje textová matice čísel, reprezentujících hodnoty dané veličiny na jednotlivých buňkách. Pod dále následuje seznam plošin, které je třeba společně s danou vrstvou zobrazovat. Tento seznam začíná řádkem, na němž je uveden počet plošin, dále následují souřadnice buněk jednotlivých plošin. Každá plošina je zapsána na samostatném
řádku, přičemž řádek vždy začíná počtem buněk v dané plošině, a poté následují vždy nejprve souřadnice sloupce a poté souřadnice řádku daných buněk. U vrstvy OriginalDEM je navíc pod plošinami stejným způsobem zapsán seznam depresí. U vrstev hranic povodí jsou po zapsání informací o vrstvě zapsány souřadnice jednotlivých buněk povodí. Každému povodí přitom náleží samostatný řádek, který je uvozen údajem o počtu buněk v daném povodí. Soubory vrstev říční sítě obsahují vedle informací zapsaný seznam buněk říční sítě, ovšem uspořádaný podle jednotlivých Strahlerových řádů. Každý nový řád začíná nadpisem „Strahler Order“, po něm je na zvláštním řádku zapsáno číslo řádu a pod ním počet úseků daného řádu. Následuje seznam jednotlivých úseků. Každý úsek je na zvláštním řádku a začíná údajem o počtu buněk v daném úseku. Soubory vrstev směrů odtoku mají opět vlastní strukturu. Po informacích o vrstvě obsahují seznam odtokových směrů a příslušných vah pro jednotlivé buňky. Každé buňce odpovídá jeden řádek, na jehož začátku je zapsán počet odtokových směrů a souřadnice sloupce a řádku dané buňky. Následují informace o jednotlivých odtocích dané buňky, a to po
řadě vždy souřadnice sloupce, souřadnice řádku a hodnota váhy pro daný směr odtoku. Otvírání projektu je umožněno kliknutím na Project → Open Project. V následně otevřeném standardním dialogovém okně pro otvírání souborů je třeba vybrat soubor s příponou .dprj. Při otvírání souboru program nejprve zkontroluje příponu, a teprve potom 48
Vzhledem k tomu, že zde nefunguje žádná kontrola přepisování, je vhodné pro každý projekt založit samostatnou složku.
147
začne načítat jednotlivé informace zapsané do souboru projektu. Nejprve je to adresa původního datové souboru, potom počet sloupců a řádků a horizontální a vertikální rozlišení. Poté začne otvírat jednotlivé soubory vrstev, uložené na adresách zapsaných v souboru projektu. Při otevření každého dalšího souboru vrstvy program příslušnou vrstvu vytvoří a zařadí ji jednak do seznam vrstev pro zobrazování, jednak do příslušných seznamů vstupních vrstev v dialogových oknech jednotlivých úloh. Způsob zobrazení se s vrstvami neukládá, vrstvy jsou zobrazovány výchozím způsobem.
3.1.7 Implementace vybraných procedur Procedur a funkcí, pomocí nichž jsou přímo implementovány jednotlivé algoritmy (nikoli tedy procedury, pomocí nichž je implementováno grafické rozhraní programu) je cca 40. Protože detailní popis všech by byl příliš rozsáhlý a ne vždy zajímavý, omezím se zde pouze na vybrané procedury a funkce, které jsou z algoritmického hlediska nejzajímavější. Pro podrobnější studium implementace jsou na přiloženém CD k dispozici veškeré zdrojové kódy, včetně projektu spustitelného v programovacím prostředí Lazarus. Jednotlivé procedury a funkce jsou popsány pomocí pseudokódu vycházejícího z použitého programovacího jazyka, jehož základem je jazyk Pascal. Tento jazyk rozlišuje mezi funkcemi a procedurami, s tím že funkce obsahuje implicitní proměnnou result, která může být libovolného (avšak pevně definovaného) datového typu. Výsledek funkce může být proto při volání funkce přímo přiřazen proměnné stejného typu, jako je proměnná result. Naproti tomu procedury obsahují pouze explicitní parametry, které mohou být volány odkazem (před parametrem v hlavičce procedury je klíčové slovo var) či hodnotou. Jazyk ObjectFreePascal je objektově orientovaný programovací jazyk, umožňující vytváření tříd s různou hierarchií. Uvedené pseudokódy toto příliš neodráží, neboť popis implementace je z důvodu větší přehlednosti značně zjednodušen. Proměnné a metody patřící různým třídám jsou zde uváděny samostatně, jako by žádné třídě nepatřily. Také některé parametry a lokální proměnné jsou ve skutečnosti proměnnými globálními apod. Komentáře jednotlivých příkazů jsou (ve shodě s konvencí jazyka Pascal) uvozeny znakem „//“, části kódu popsané pouze slovně jsou ohraničeny složenými závorkami. Klíčová slova jsou vyznačena tučně, proměnné kurzívou.
148
3.1.7.1 Datové typy, třídy, globální proměnné a procedury Zde následuje seznam a popis datových typů, tříd, globálních proměnných a procedur, používaných napříč dále popisovanými procedurami.
Datové typy: position = record i,j: integer; end; //záznam o souřadnici sloupce (i) a řádku (j) dané buňky direction = record i,j: integer; w: real; end; //záznam o souřadnicích (i,j) a váze (w) odtoku z dané buňky rvector = array of real;
//jednorozměrné dynamické pole reálných čísel
bvector = array of boolean;
//jednorozměrné dynamické pole hodnot true/false
pvector = array of position;
//jednorozměrné dynamické pole souřadnic
dvector = array of direction;
//jednorozměrné dynamické pole směrů odtoku
rmatrix = array of rvector;
//dvourozměrné dynamické pole reálných čísel
bmatrix = array of bvector;
//dvourozměrné dynamické pole hodnot true/false
pmatrix = array of pvector;
//dvourozměrné dynamické pole souřadnic
dmatrix = array of dvector;
//dvourozměrné dynamické pole směrů odtoku
dcube = array of dmatrix;
//třírozměrné dynamické pole směrů odtoku
Třídy: TBinHeap = class;
//třída prioritní fronty (blíže k implementaci prioritní fronty viz Apendix)
proměnné: queue: dvector;
//vlastní fronta, realizovaná jako seznam souřadnic a hodnot, podle nichž se fronta řadí
metody:
Create;
//vytvoří instanci třídy
Free;
//uvolní instanci třídy
Insert (i,j: integer; w: real); //vloží buňku (i,j) a příslušnou hodnotu na odpovídající pozici ve frontě DeleteTop
//vymaže z fronty buňku, nacházející se na jejím začátku
Procedury: function OutOfMatrix (i,j: integer): boolean; //vrací true, pokud souřadnice (i,j) neleží mimo matici
149
Globální proměnné: n,m: integer;
//počet sloupců (n) a řádků (m) DEM
hr: integer;
//horizontální rozlišení DEM
vr: real;
//vertikální rozlišení DEM
SINKS,FLATS:
//seznamy depresí a plošin
unit_matrix: rmatrix:
//pomocná jednotková matice o rozměrech n x m
OPEN: TBinHeap;
//prioritní fronta
3.1.7.2 Úvodní scan V této proceduře je prohledán vstupní DEM (parametr inputDEM) a je vytvořen seznam depresí (parametr sinks), seznam plošin (parametr flats) a mapa typu bmatrix, v níž hodnota true odpovídá poloze dna nějaké deprese. Seznam depresí se od seznamu plošin odlišuje tím, že na začátku seznamu souřadnic každé jednotlivé deprese jsou uloženy souřadnice bodu přetečení této deprese. Buňka bodu přetečení přitom do samotné deprese nepatří, nicméně znalost její polohy je výhodná pro některé algoritmy (především pro metodu „Outlet Breaching“). Při scanování je nejprve vytvořena mapa depresí (lokální proměnná sinkMAP), mapa plošin (lokální proměnná flatMAP) a seznam buněk, ležících v nějaké plošině (lokální proměnná flatLIST). Z těchto map a seznamů je nakonec vytvořen konečný seznam depresí a plošin pomocí pomocných procedur FindFlat a FindSink. Pro nedostatek místa nebudeme závěrečnou tvorbu seznamů popisovat, případné zájemce odkazujeme na zdrojové kódy programu, umístěné na přiloženém CD. Scan je proveden pomocí prioritní fronty, do níž jsou na začátku vloženy všechny buňky okraje DEM. Hodnotami, podle nichž se fronta řadí, jsou elevace buněk, což znamená, že na začátku fronty jsou zapsány souřadnice buňky s nejnižší elevací (OPEN.queue[0].i, OPEN.queue[0].j) a samotná tato elevace (OPEN.queue[0].w).
Během scanu je automaticky jako vedlejší produkt vytvořen DEM bez depresí (lokální proměnná sinkDEM), odpovídající metodě Filling. Jelikož při scanování není dosud jasné, jakou metodu ošetření depresí uživatel později zvolí, není tento DEM bez depresí nadále uchováván a využíván. Jak bude uvedeno dále, metoda Filling je implementována velmi podobně jako úvodní scan.
150
procedure SCAN (inputDEM: rmatrix; var sinks: pmatrix; var flats: pmatrix; var pit_map: bmatrix); //deklarace lokálních proměnných
var i,j,ii,jj: integer;
//indexy cyklů
sinkDEM: rmatrix;
//matice elevací bez depresí
done,sinkMAP,flatMAP: bmatrix;
//pomocné matice
list,flatLIST: pvector;
//pomocné seznamy
nbs: neibrs;
//sousedé dané buňky
slps: rneibrs;
//sklony z dané buňky do všech osmi sousedů //začátek těla procedury
begin
{Inicializace: nastavení velikosti všech jednorozměrných polí na 0 a dvourozměrných polí na n x m, pole hodnot typu boolean mají na začátku všechny hodnoty rovny false.}
//vytvoření instance třídy prioritní fronty
OPEN:= TBinHeap.Create;
{Zařazení obvodových buněk do fronty. Hodnotami, podle nichž se fronta řadí, jsou hodnoty vstupní matice elevací inputDEM, na začátku fronty je tedy vždy buňka s nejmenší elevací. Zároveň jsou všechny obvodové buňky označeny jako zpracované, čili příslušná hodnota v matici done je nastavena na true.} //vlastní průběh scanu while (length(OPEN.queue) > 0) do begin
//dokud není fronta prázdná
i:= OPEN.queue[0].i;
//uvolnění buňky fronty s nejnižší elevací
j:= OPEN.queue[0].j;
//uvolnění buňky fronty s nejnižší elevací
sinkDEM[i,j]:= OPEN.queue[0].w;
//zápis do DEM bez depresí
OPEN.DeleteTop;
//vymazání buňky (i,j) z fronty
for ii:= i-1 to i+1 do for jj:= j-1 to j+1 do begin //prohledání okna 3x3 buňky if (OutOfMatrix(ii,jj) = false)
//neleží-li buňka (ii,jj) mimo matici
and (done[ii,jj] = false) then begin
//nebyla-li buňka (ii,jj) již scanována
if (inputDEM[ii,jj] < sinkDEM[i,j]) then begin //leží-li buňka (ii,jj) v depresi sinkDEM[ii,jj]:= sinkDEM[i,j];
//zápis do DEM bez depresí 151
sinkMAP[ii,jj]:= true;
//zápis do mapy depresí
if (buňka (ii,jj) nemá v žádném směru kladný sklon) then pit_map[ii,jj]:= true;
//zápis dna deprese //neleží-li buňka (ii,jj) v depresi
end-if else begin sinkDEM[ii,jj]:= inputDEM[ii,jj];
//zápis do DEM bez depresí
if (buňka (ii,jj) nemá v žádném směru kladný sklon) then begin //leží-li buňka (ii,jj) v plošině flatMAP[ii,jj]:= true;
//zápis od mapy plošin
SetLength(flatLIST,length(flatLIST)+1); //zápis do seznam buněk plošin flatLIST[high(flatLIST)].i:= ii;
„
flatLIST[high(flatLIST)].j:= jj;
„
end-if; end-else; OPEN.Insert(ii,jj,sinkDEM[ii,jj]);
//zařazení buňky (ii,jj) do fronty
done[ii,jj]:= true;
//označení, že buňka (ii,jj) je zpracována
end-if; end-for; end-while;
//konec scanu
OPEN.Free;
//uvolnění instance prioritní fronty
{Vytvoření konečného seznamu plošin pomocí procedury FindFlat, jejímž vstupem je jediná buňka ležící v nějaké plošině a výstupem je seznam všech buněk této plošiny. Výsledkem je konečný seznam plošin flats.} {Vytvoření konečného seznamu depresí pomocí procedury FindSinks, jejímž vstupem je jediná buňka ležící v nějaké depresi a výstupem je seznam všech buněk této deprese. Výsledkem je konečný seznam depresí sinks.} //konec těla procedury
end;
152
3.1.7.3 Ošetření depresí: Filling Tato procedura se velmi podobá proceduře SCAN, s tím, že zde odpadá nutnost vytvářet seznamy plošin a depresí. Níže uvedená implementace je v jádru totožná s implementací autorů Soille et Gratin (1994) a Wang et Liu (2006), blíže viz kap. 2.3.3.2. Vstupem je původní matice elevací (parametr inputDEM), výstupem matice elevací bez depresí (parametr outputDEM).
procedure Filling (inputDEM: rmatrix; var outputDEM: rmatrix); //deklarace lokálních proměnných
var i,j,ii,jj: integer;
//indexy cyklů
done: bmatrix;
//pomocná matice //začátek těla procedury
begin
{inicializace: nastavení velikosti matic done a outputDEM na n x m, všechny hodnoty matice done jsou rovny false}
//vytvoření instance třídy prioritní fronty
OPEN:= TBinHeap.Create;
{Zařazení obvodových buněk do fronty (stejné jako v proceduře SCAN). Všechny obvodové buňky označeny jako zpracované, čili příslušná hodnota v matici done je nastavena na true.}
//hlavní cyklus while (length(OPEN.queue) > 0) do begin
//dokud není fronta prázdná
i:= OPEN.queue[0].i;
//uvolnění buňky fronty s nejnižší elevací
j:= OPEN.queue[0].j;
//uvolnění buňky fronty s nejnižší elevací
outputDEM[i,j]:= OPEN.queue[0].w;
//zápis od výstupního DEM
OPEN.DeleteTop;
//vymazání buňky (i,j) z fronty
for ii:= i-1 to i+1 do for jj:= j-1 to j+1 do begin //prohledání okna 3x3 buňky if (OutOfMatrix(ii,jj) = false)
//neleží-li buňka (ii,jj) mimo matici
and (done[ii,jj] = false) then begin
//nebyla-li buňka (ii,jj) již zpracována
if (inputDEM[ii,jj] < outputDEM[i,j]) then //leží-li buňka (ii,jj) v depresi outputDEM[ii,jj]:= outputDEM[i,j];
//zápis do výstupního DEM //neleží-li buňka (ii,jj) v depresi
else
153
outputDEM[ii,jj]:= inputDEM[ii,jj];
//zápis do výstupního DEM
OPEN.Insert(ii,jj,outputDEM[ii,jj]);
//zařazení buňky (ii,jj) do fronty
done[ii,jj]:= true;
//označení, že buňka (ii,jj) je zpracována
end-if; end-for; end-while;
//konec scanu
OPEN.Free;
//uvolnění instance prioritní fronty //konec těla procedury
end;
3.1.7.4 Ošetření depresí: Carving Tato metoda (viz kap. 2.3.3.4) opět využívá prioritní frontu, a to podobným způsobem jako předešlé procedury, to znamená že DEM je zpracováván od okrajů směrem vzhůru. Při zpracovávání DEM je do zvláštní matice (proměnná dirs) zaznamenáván směr prohledávání. Jakmile zpracovávání dorazí na dno nějaké deprese, je pomocí zaznamenaného směru sledována trasa, kudy bylo dna dosaženo, dokud toto trasování nenarazí buď na okraj DEM či na buňku s nižší elevací, než je elevace dna. Tato nalezená trasa je pak celá snížena na elevaci dna deprese. Procedura pracuje s třemi parametry: se vstupním a výstupním DEM a s maticí pit_map, která je výstupem z procedury SCAN a jsou v ní hodnotami true označena dna depresí.
procedure Carving (pit_map: bmatrix; inputDEM: rmatrix; var outputDEM: rmatrix); //deklarace lokálních proměnných
var i,j,k,l: integer;
//indexy cyklů
done: bmatrix;
//mapa zpracovaných buněk
dirs: pmatrix;
//matice, v níž je na buňce (i,j) uložen odkaz na buňku, z níž zpracovávání DEM k buňce (i,j) dospělo
elevation: real;
//pomocná proměnná
path: pvector;
//pomocný seznam, do nějž je ulkládána cesta ze dna deprese proti směru zpracovávání DEM až k nejbližší nižší buňce
154
//začátek těla procedury
begin
{Inicializace: nastavení velikosti matic dirs, done a outputDEM na n x m. Matice done je inicializována hodnotami false, matice outputDEM je inicializována maticí inputDEM.} //vytvoření instance třídy prioritní fronty
OPEN:= TBinHeap.Create;
{Zařazení obvodových buněk do fronty.Všechny obvodové buňky jsou označeny jako zpracované, čili příslušná hodnota v matici done je nastavena na true.}
//hlavní cyklus while (length(OPEN.queue) > 0) do begin
//dokud není fronta prázdná
i:= OPEN.queue[0].i;
//uvolnění buňky fronty s nejnižší elevací
j:= OPEN.queue[0].j;
//uvolnění buňky fronty s nejnižší elevací
OPEN.DeleteTop;
//vymazání buňky (i,j) z fronty
if (pit_map[i,j] = true) and (pit_map[dirs[i,j].i,dirs[i,j].j] = false) then begin //pokud zpracovávání DEM dospělo ke dnu deprese, z buňky, která dnu nepatří elevation:= 100000;
//inicializace pomocné proměnné
setlength(path,1);
//inicializace pomocného seznamu
path[0].i:= i;
„
path[0].j:= j;
„
while (elevation > outputDEM[i,j]) do begin // trasování proti směru zpracovávání DEM, až k buňce s nižší elevací, než je buňka dna deprese, nebo k okraji DEM k:= path[high(path)].i;
„
l:= path[high(path)].j;
„
SetLength(path,length(path)+1);
„
path[high(path)]:= dirs[k,l];
„
if (EndOfMatrix(k,l) = true) then elevation:= 0
„
else begin
„
elevation:= outputDEM[dirs[k,l].i,dirs[k,l].j];
„
if (elevation <= outputDEM[i,j]) then
„
155
SetLength(path,length(path)-1);
„
end-else; end-while; for k:= 1 to high(path) do outputDEM[path[k].i,path[k].j]:= outputDEM[i,j]; //snížení buněk nalezené cesty na elevaci dna deprese end-if; for (všechny sousedy (k,l) buňky (i,j)) do if (OutOfMatrix(k,l) = false) and (done[k,l] = false) then begin //kontrola, zda není buňka (k,l) mimo matici či již zpracována OPEN.Insert(k,l,outputDEM[k,l]);
//zařazení buňky (k,l) do fronty
done[k,l]:= true;
//označení buňky (k,l) jako zpracované
dirs[k,l].i:= i;
//záznam o směru zpracovávání DEM
dirs[k,l].j:= j;
//záznam o směru zpracovávání DEM
end-if; end-for; //uvolnění instance prioritní fronty
OPEN.Free;
//konec těla procedury
end;
3.1.7.5 Ošetření depresí: Spatially Distributed Increment Tato metoda je podrobně popsána v kap. 2.3.3.6. Níže popsanou implementaci je možné rozdělit do dvou částí. V první části je určen počátek souřadnic, jímž je roh DEM odpovídající kvadrantu s největší průměrnou elevací. V druhé části pak probíhá iterační výpočet, kdy v každé iteraci je pro každou buňku ležící v nějaké depresi či plošině vypočteno navýšení elevace, které je tím vyšší čím je buňka blíž počátku souřadnic. Na závěr iterace je DEM prohledán procedurou SCAN za účelem aktualizace seznamů depresí a plošin (jednak mohly části depresí či plošin v DEM zůstat, jednak mohly vzniknout deprese a plošiny nové). Je třeba upozornit, že vzhledem k uvedenému iteračnímu charakteru algoritmu může být výpočet dosti dlouhý (řádově až hodiny), zvláště v případě rozsáhlejších datových souborů. Metoda zároveň s depresemi řeší i plošiny, což je nutné, neboť při řešení plošin mohou vznikat nové deprese a naopak. Vzhledem k tomu, že struktura úloh v programu vyžaduje
156
nejprve ošetřit deprese a poté plošiny, nově vzniklé deprese při řešení plošin by zůstaly nepovšimnuty a vedly by k nespojité odtokové síti. Metoda je implementována jako funkce s návratovou hodnotou (result) v podobě počtu iterací.
function SDI (inputDEM: rmatrix; var outputDEM: rmatrix): integer; //deklarace lokálních proměnných
var i,j,ii,jj,k,l: integer;
//indexy cyklů
m1,m2,m3,m4,total_max: real;
//pomocné proměnné
increment: real;
//elevační přírůstek
copy_sinks,copy_flats: pmatrix;
//kopie seznamů depresí a plošin
pitmap_copy: bmatrix;
//kopie mapy den depresí //začátek těla procedury
begin
{Inicializace: seznamy depresí a plošin copy_sinks a copy_flats jsou inicializovány seznamy SINKS a FLATS, matice outputDEM je inicializována maticí inputDEM. Implicitní proměnná result je inicializována nulou.}
{Do proměnných m1, m2, m3, m4 jsou po řadě uloženy průměrné elevace levého horního, pravého horního, levého dolního a pravého dolního kvadrantu DEM} //výběr počátku souřadnic
total_max:= max(m1,m2,m3,m4);
if vr > 0.1 then increment:= 0.1 else increment:= vr - vr/10; //výpočet elevačního přírůstku
//hlavní cyklus //dokud existují v DEM nějaké deprese
while length(copy_sinks) > 0 do begin
//záznam o počtu iterací
inc(result);
for k:= 0 to high(copy_sinks) do for l:= 1 to high(copy_sinks[k]) do begin //cyklus přes všechny buňky depresí i:= copy_sinks[k,l].i; j:= copy_sinks[k,l].j; if total_max = m1 then //transformace souřadnic
begin ii:= i; jj:= j; end else if total_max = m2 then 157
//transformace souřadnic
begin ii:= n-1-i; jj:= j; end else if total_max = m3 then
//transformace souřadnic
begin ii:= i; jj:= m-1-j; end else if total_max = m4 then
//transformace souřadnic
begin ii:= n-1-i; jj:= m-1-j; end;
outputDEM[i,j]:= outputDEM[copy_sinks[k,0].i,copy_sinks[k,0].j]
+ increment*(1-(ii+jj)/(m+n-2)); //výpočet prostorově distribuovaného elevačního přírůstku end-for; {Stejný cyklus, jaký byl proveden pro všechny buňky depresí, je proveden pro všechny buňky plošin}
SCAN(outputDEM,copy_sinks,copy_flats,pitmap_copy); //volání procedury SCAN pro kontrolu existence depersí a vytvoření jejich seznamu end-while; //konec těla procedury
end;
3.1.7.6 Ošetření depresí: PEM4PIT Tato fyzikálně založená metoda, podrobně popsaná v kap. 2.3.3.6, je založena na řešení rovnice kontinuity pro ustálenou topografii modelovanou fluviálními procesy. Tato rovnice, použitá pro modelování vývoje reliéfu, generuje terény bez depresí, což je využito tak, že pro buňky depresí je ověřena platnost rovnice a provedena taková korekce elevace, aby byla rovnice splněna. Opravou elevací může, stejně jako v metodě SDI, dojít ke vzniku nových depresí, proto je metoda opět iterační. Jelikož v této rovnici vystupuje přispívající plocha, je v každé iteraci nutné provézt simulaci povrchového odtoku a výpočet přispívajících ploch (viz níže). Tato simulace je provedena pomocí D8 algoritmu (procedury SFD8 a ContributingAreas). Na konci každé iterace je zároveň nutné prohledat DEM procedurou SCAN pro aktualizaci seznamů depresí a plošin.
158
Jak již bylo zmíněno, metoda ošetřuje plošiny zároveň s depresemi. Ve skutečnosti opravuje elevace pouze u bezodtokých buněk, tzn. buněk den depresí a buněk plošin. Vzhledem k tomu, že výstupem z procedury SCAN je mapa den depresí (proměnná pit_map), je v každé iteraci nutné do této mapy připsat plošiny. Zpracovávání DEM je prováděno „odzdola nahoru“ pomocí prioritní fronty, přičemž jakmile se narazí na bezodtokou buňky, je provedena oprava elevace. Toto schema je nezbytné z toho důvodu, že oprava elevace vychází z elevací sousedních buněk, které však v případě spojitých množin bezodtokých buněk mohou sami vyžadovat opravu. Vzhledem k tomu, že v každé iteraci je nutné nejprve provézt simulaci povrchového odtoku, poté DEM zpracovat za současného opravování elevací bezodtokých buněk a na závěr DEM prohledat procedurou SCAN (včetně vytvoření seznamů plošina a depresí), a vzhledem k tomu, že pro úspěšné ošetření všech depresí a plošin (není-li jich v DEM jen velmi málo) je zpravidla třeba až stovek iterací, je metoda pro rozsáhlejší DEM časově dosti náročná (výpočet může trvat řádově hodiny). Jedná se bezpečně o časově nejnáročnější metodu ze všech metod nabízených programem DEMETERR. Stejně jako předchozí metoda, i tato je implementována jako funkce s návratovou hodnotou (result) v podobě počtu iterací.
function PEM4PIT (beta,theta,D: real; inputDEM: rmatrix; var outputDEM: rmatrix): integer; //deklarace lokálních proměnných
var i,j,ii,jj,num: integer;
//indexy cyklů
term: boolean;
//pomocná proměnná
Zm,Zd,dl: real;
//pomocné proměnné pro výpočet elevace buňky deprese rovnicí pro ustálenou topografii
done: bmatrix;
//mapa zpracovaných buněk
copy_flats,copy_sinks: pmatrix;
//kopie seznamů depresí a plošin
pit_map: bmatrix;
//mapa bezodtokých buněk
CA: rmatrix;
//matice přispívajících ploch (CA)
FD: dcube;
//matice odtokových směrů (na místě i,j je uložen seznam souřadnic odtoků buňky (i,j) a příslušných vah //začátek těla procedury
begin 159
{Inicializace: matice done, pit_map a outputDEM jsou nastaveny na velikost n x m. Matice outputDEM je inicializována maticí inputDEM. Seznamy copy_sinks a copy_flats jsou
inicializovány seznamy SINKS a FLATS. Proměnná term je inicializována hodnotou false, proměnná result hodnotou 0. Matice pit_map je inicializována hodnotou true pro buňky ležící ve dnu nějaké deprese a hodnotou false pro ostatní buňky.}
//hlavní cyklus //začátek hlavního iteračního cyklu
while (term = false) do begin
{Inicializace matice done hodnotami false a proměnné term hodnotou true. Do matice pit_map jsou pro všechny buňky plošin zapsány hodnoty true}
//určení směrů odtoku metodou SFD8,
SFD8(outputDEM,FD);
výstupem je matice směrů odtoku FD ContributingAreas(n*m*hr*hr*2,unit_matrix,FD,CA); //výpočet přispívajících ploch //vytvoření instance třídy prioritní fronty
OPEN:= TBinHeap.Create;
{Zařazení obvodových buněk do fronty.Všechny obvodové buňky jsou označeny jako zpracované, čili příslušná hodnota v matici done je nastavena na true.}
while (length(OPEN.queue) > 0) do begin
//dokud není fronta prázdná
i:= OPEN.queue[0].i;
//uvolnění buňky fronty s nejnižší elevací
j:= OPEN.queue[0].j;
//uvolnění buňky fronty s nejnižší elevací
OPEN.DeleteTop;
//vymazání buňky (i,j) z fronty
if (pit_map[i,j] = true) then begin
//je-li buňka (i,j) bezodtoká //inicializace pomocných proměnných
term:= false; Zm:= 0; jj:= 0;
„
{Do proměnné Zm je uložena hodnota průměrné elevace kardinálních sousedů buňky (i,j)}
outputDEM[i,j]:= (hr*hr) / (4*D) + Zm;
//počáteční odhad opravené elevace
if (nejvyšší sklon (odpovídající sousedu (x,y)) z buňky (i,j) je kladný) then begin if (x <> i) or (y <> j) then dl:= hr*sqrt(2) else dl:= hr; 160
Zd:= outputDEM[x,y]; outputDEM[i,j]:= (hr*hr *beta*CA[i,j]^theta*Zd + dl*4*D*Zm + hr*hr *dl)
/ (hr*hr *beta*CA[i,j]^theta + dl*4*D); //výpočet opravené elevace buňky (i,j) end-if; end-if; for (všechny sousedy (x,y) buňky (i,j)) do if OutOfMatrix(x,y) = false and done[x,y] = false then begin //kontrala, zda buňka (x,y) neleží mimo matici či již není zpracována done[x,y]:= true;
//označení buňky (x,y) jako zpracované
OPEN.Insert(x,y,outputDEM[x,y);
//zápis buňky (x,y) do fronty
end; end-while; //uvolnění instance prioritní fronty
OPEN.Free;
SCAN(outputDEM,copy_sinks,copy_flats,pit_map); //volání procedury SCAN pro kontrollu existence depresí či plošin a vytvoření jejich seznamu //záznam o počtu iterací
inc(result); end-while;
//konec těla procedury
end;
3.1.7.7 Výpočet přispívajících ploch Při simulaci povrchového odtoku je nejprve provedeno určení směrů odtoku pro každou buňku DEM. K tomu účelu slouží příslušná procedura, odpovídající zvolenému algoritmu, jejímž výstupem je vždy matice směrů odtoku (datový typ dcube; příkladem je procedura SFD8 použitá v předchozí proceduře PEM4PIT). Tato matice směrů odtoku je pak vstupem do procedury ContributingAreas, která je pro všechny algoritmy stejná. jedinou výjimku z tohoto schématu tvoří algoritmus MFD8 – Variable Exponent, v němž je třeba počítat přispívající plochu během určování směrů odtoku, neboť ty jsou určovány právě na základě velikosti přispívající plochy.
161
Parametr thres představuje prahovou hodnotu přispívající plochy. Při jejím překročení je v příslušném místě v matici směrů odtoku (parametr input) zkrácen seznam odtokových směru na jediný směr, a to směr odpovídající největšímu spádu, a příslušná váha nastavena na 1. Této možnosti se využívá tehdy, je-li při zadávání parametrů úlohy zaškrtnuta volba „Channel Handling“. Pokud volba zaškrtnuta není, je velikost parametru thres nastavena tak, aby jí žádná buňka nikdy nedosáhla (k tomu ji zastavit jen o málo větší, než je plocha DEM). Parametr weights představuje matici vah, jejímiž hodnotami jsou na začátku simulace vynásobeny hodnoty přispívající plochy. Toho je využíváno při extrakci říční sítě metodou „Constant Drop Weighted Area Threshold“, kdy váhovou maticí je upravená matice horizontální křivosti. Při obyčejné simulaci povrchového odtoku je za tento parametr dosazena jednotková matice, takže počáteční hodnoty přispívající plochy odpovídají velikosti plochy jedné buňky (viz použití procedury ContributingAreas v proceduře PEM4PIT). Výstupem z procedury je pochopitelně matice přispívajících ploch (parametr CA). Ve skutečnosti jsou však dalšími výstupy z procedury matice vrstevnicových délek, matice specifických ploch a matice sklonů, což však je zde pro větší názornost vypuštěno. Výpočet probíhá „odzhora dolů“, a to nikoli pomocí prioritní fronty, ale pomocí obyčejného seznamu (proměnná starts), do nějž jsou postupně ukládány ty buňky, pro jejichž všechny přítoky již byla přispívající plocha vypočtena. Na začátku jsou do tohoto seznamu uloženy ty buňky, které žádný přítok nemají, což odpovídá buňkám na okraji povodí. Ze seznamu jsou postupně vyjímány jednotlivé buňky, přičemž pokaždé je vypočtena přispívající plocha buněk, do nichž z aktuálně vybrané buňky směřuje odtok. Těmto buňkám je zároveň o jeden snížen počet nezpracovaných přítoků (tyto počty jsou uloženy v proměnné inflows). Kdykoli dosáhne na nějaké buňce počet nezpracovaných přítoků hondoty 0, je buňka zařazena do seznamu starts.
procedure ContributingAreas (thres: real; weights: rmatrix; var input: dcube; var CA: rmatrix); //deklarace lokálních proměnných
var i,j,ii,jj,k,l: integer;
//indexy cyklů
inflows: imatrix;
//matice počtů nezpracovaných přítoků
starts: pvector;
//seznam buněk, pro jejichž všechny přítoky je již vypočtena přispívající plocha
begin 162
{Inicializace: velikost matic inflows a CA je nastavena na n x m. Matice inflows je inicializována hodnotami počtu přítoků do dané buňky, matice CA je inicializována hodnotami matice weights vynásobenými velikostí plochy buňky DEM. Pole starts je vytvořeno jako seznam buněk, jejichž hodnota inflows je rovna nule (bezpřítoké buňky).}
while (length(starts) > 0) do begin
//dokud je seznam neprázdný //uvolnění buňky (i,j) ze seznamu
i:= starts[high(starts)].i; j:= starts[high(starts)].j;
„
SetLength(starts,length(starts)-1);
„
if (length(input[i,j]) > 0) then begin
//není-li seznamu dosud prázdný //překročí-li přispívající plocha buňky (i,j)
if (CA[i,j] >= thres) then
prahovou hodnotu CA[input[i,j,0].i,input[i,j,0].j]:= CA[input[i,j,0].i,input[i,j,0].j] + CA[i,j];
//výpočet přispívající plochy else for k:= 0 to high(input[i,j]) do CA[input[i,j,k].i,input[i,j, k].j]:= CA[input[i,j, k].i,input[i,j, k].j]
+ CA[i,j]*input[i,j, k].w; //výpočet přispívající plochy //cyklus přes všechny odtoky buňky (i,j)
for k:= 0 to high(input[i,j]) do begin ii:= input[i,j,k].i; jj:= input[i,j,k].j;
//snížení záznamu o počtu přítoků
inflows[ii,jj]:= inflows[ii,jj]-1;
if (inflows[ii,jj] = 0) and (EndOfMatrix(ii,jj) = false) then begin //pokud jsou všem přítokům buňky (i,j) vypočteny přispívající plochy a buňka (i,j) neleží mimo matici SetLength(starts,length(starts)+1);
//zápis do seznamu
starts[high(starts)]:= input[i,j, k];
„
end-if; end-for; end-if; end-while; //konec těla procedury
end;
163
3.2 Ukázky simulací Cílem následujících ukázek je prokázat funkčnost implementace úloh programu DEMETERR a stručně nastínit možnosti jeho použití. Vzhledem k počtu úloh a jejich jednotlivých metod není možné deatilně předvézt výsledky všech z nich, navíc zajímavé by bylo i porovnání výsledků algoritmů na různých datových souborech ať již co do krajinných typů či rozlišení. V tomto ohledu je předkládaná práce pouze nakročením, které přímo vybízí k dalšímu používání programu a detailnímu porovnávání jednotlivých algoritmů. Vzhledem k rozsahu práce se zde omezím pouze na vizuální porovnání grafických výstupů z programu, které by měly souhlasit s obecně zjištěnými rozdíly mezi jednotlivými algoritmy, jak jsou uvedeny v řadě porovnávacích studií v literatuře, či jak je lze z povahy algoritmů předvídat v případě, že příslušné porovnávací studie dosud neexistují.
3.2.1 Použitá data Pro účely demonstračních simulací byly použity výškové modely dvou, pravděpodobně nejrozšířenějších, hlavně však volně dostupných typů: USGS DEMs. Tato data shromažďuje a zpracovává Americká geologická služba (USGS, United States Geological Survey) v rámci rozsáhlého amerického Národního mapovacího
programu (National Mapping Program) (USGS, 2006). Americká geologická služba poskytuje ze svých internetových stránek (URL: http://edc2.usgs.gov/geodata/index.php) zcela zdarma množství nejrůznějších digitálních geografických dat, mezi nimiž jsou i DEM různého formátu, velikosti a rozlišení. Data použitá v této práci jsou DEM s horizontálním rozlišením 30m (odpovídá 1 úhlové vteřině), dostupná jsou také data v rozlišení 10m (1/3 úhlové vteřiny). Dostupné pokrytí těmito daty zahrnuje téměř celé Spojené státy, Havaj a Puerto Rico. Jsou uložena v jednotkách velikosti 7,5x7,5 úhlové minuty, při použití UTM (Universal Transverse Mercator) zobrazení. Tyto jednotky odpovídají mapovým listům USGS topografických map v měřítku 1:24 000 a 1: 25 000. Hlavní čtyři kroky při získávání těchto dat jsou následující: (1) automatická fotogrammetrie systémem Gestalt Photo Mapper II (GMP2), (2) ruční profilace fotogrammetrických snímků pomocí stereoplotrů, (3) digitalizace vrstevnic a (4) interpolace výškových a hydrografických dat z digitálních liniových modelů (DLG, Digital Line Graph). Nadmořské výšky jsou v metrech (či v některých případech ve stopách), vztažené k americkému Národnímu geodetickému výškovému údaji NGVD 29 (National Geodetic 164
Vertical Datum of 1929), vertikální přesnost je zhruba 15m a lepší. Data jsou uložena a
distribuována ve formátu SDTS (Spatial Data Transfer Standard) v podobě archivovaného souboru s příponou .sdts.tar. SRTM DEMs. SRTM (Shuttle Radar Topographic Mission) je společný projekt NGA (National Geospatial-Intelligence Agency) a NASA (National Aeronautics and Space Administration), v rámci něhož během jedenácti dnů v únoru 2000 obletěl Zemi rakotoplán
Endeavour a metodou radarové interferometrie pořídil zatím první globální digitální výškový model Země (NASA, 2006). Zpracovaná data z této mise jsou volně dostupná z vícera zdrojů, mimo jiné přímo z ftp NASA (URL: ftp://e0srp01u.ecs.nasa.gov/) ve formátu .hgt. Horizontální rozlišení výsledného výškového modelu je 1 úhlová vteřina (cca 30m) pro území Spojených států a 3 úhlové vteřiny (cca 90m) pro zbytek světa. U nás toto rozlišení odpovídá buňkám velikosti cca 90x60m. Vertikální přesnost je cca 5m a lepší (Gesch, 2005).
3.2.2 Ošetření depresí Výsledky jednotlivých algoritmů pro ošetření depresí lze porovnat mimo jiné srovnáním počtu a rozlohy plošin, které v DEM po ošetření depresí zůstaly. Z takového srovnání pochopitelně vypadnou algoritmy SDI a PEM4PIT, které nezanechávají v DEM plošiny žádné. Jiným smysluplným srovnáním je celková a největší změna v elevacích, která byla při ošetřování provedena. Pro srovnání metod byla použita data USGS DEMs s horizontálním rozlišením 30m. Z dostupných výškových modelů byla vybrána oblast hustě pokrytá depresemi různých velikostí. Jedná se o část území Cedar Springs v okrese Grayson ve státě Virginia (USA). Výškový model vzniklý výběrem zájmové oblasti z původního USGS modelu má 41360 buněk (176 sloupců, 235 řádků), rozpětí elevací je od 717 do 1006 m n.m., počet depresí je 673 (2954 buněk, 7,14% plochy), počet plošin 447 (582 buněk, 1,4% plochy). Výsledky jsou uvedeny v Tabulce 8. a na Obr. 3.2.1. Tabulka 8. Výsledky ošetření depresí v DEM území Cedar Springs. Metoda Počet vzniklých Počet buněk Celková změna plošin vzniklých plošin v elevacích [m] Filling 505 4010 8503 Outlet Breaching 1* 441 3893 8380 Outlet Breaching 2 416 4025 8763 Carving 573 1965 4387 SDI 0 0 8960,455 PEM4PIT 0 0 23999,033
165
Největší změna v elevacích [m] 16 16 16 16 15,033 22,466
*Číslo 1 či 2 u této metody značí hodnotu parametru breaching length
(a)
(b)
(c)
(d)
Obr. 3.2.1. Výsledky ošetření depresi. Na obrázku (a) je původní výškový model s vyznačenými depresemi (červeně) a plošinami (zeleně). Dále jsou výsledky metod Filling (b), Outlet Breaching (c) (breching length = 2) a Carving (d).
166
Jak je vidět z obrázku, metoda Filling skutečně vede ke vzniku plošin přesně v místech bývalých depresí49. Metoda Outlet Breaching s délkou protržení rovnou 1 počet i rozsah depresí poněkud snížila, přičemž trochu kleslo i celkové ovlivnění elevací. To odpovídá očekávanému výsledku, neboť díky „protržení hrází“ nemusely být některé deprese celé vyplněny, ale namísto toho vznikly menší plošiny v okolí bodů přetečení. Poněkud překvapivý je výsledek metody Outlet Breaching při použití délky protržení rovné hodnotě 2. Zatímco počet plošin dále klesl (jak bylo očekáváno), jejich rozsah i celkové ovlivnění elevací naopak stouply a dosáhly hodnot mírně vyšších než u metody Filling. Tento výsledek však nemusí mít obecnou platnost, pročež by bylo vhodné jej prověřit na větším souboru různých DEM. Metoda Carving, zcela v souhlase s očekáváním, vedla k většímu počtu plošně mnohem méně rozsáhlých plošin, jimž odpovídá i nejmenší celkové ovlivnění elevací. Z tohoto hlediska se zdá být tato metoda (pro tento datový soubor) nejvhodnější (či lépe
řečeno k původnímu DEM nejšetrnější). Tvar plošin vzniklých metodou Carving dobře odráží sponice den depresí s nižší topografií, které metoda vytváří. Z tohoto hlediska se tato metoda nejlépe hodí v případech protáhlých depresí táhnoucích se koryty vodních toků, což je velmi
častý případ, patrný i z uspořádání depresí na Obr. 3.2.1 (a). Pro tyto případy je také metoda svými autory doporučována (Soille et al., 2003). Zajímavý je výsledek metody SDI, která vedla sice k relativně velkému celkovému ovlivnění elevací, nicméně zároveň k nejmenšímu maximálnímu ovlivnění. Naproti tomu metoda PEM4PIT, jak bylo lze očekávat, vedla ke zdaleka nejmarkantnějšímu ovlivnění elevací, a to jak celkovému, tak maximálnímu. Z tohoto hlediska se tato metoda jeví jako nejméně vhodná (navíc časově mnohem náročnější). Na druhou stranu je třeba upozornit, že uváděné porovnání nebere v úvahu dopad metod na výslednou odtokovou síť. Jak je patrno z porovnání metod na ošetření plošin (viz dále), toto hledisko vrhá na hodnocení obou posledně zmiňovaných metod (SDI a PEM4PIT) zcela jiné světlo. Navíc jednoznačnou výhodou obou těchto metod je současné ošetření plošin, což je nutné vzít při porovnávání v úvahu.
49
Tomu by odpovídal předpoklad, že vzniklých plošin bude stejný počet, jako byl počet původních depresí. Počet vzniklých plošin je však o něco menší (505 namísto 673), což je způsobeno častým případem, kdy původně více depresí je vyplněním propojeno do jediné plošiny. Navíc výrazně vyšší počet buněk vzniklých plošin, než je počet buněk depresí, je způsoben rozšířením původních i nově vzniklých plošin o buňky se stejnou elevací, které však původně ležely na okraji deprese a měly tedy pozitivní sklon.
167
3.2.3 Ošetření plošin Porovnání výsledků metod na ošetření plošin je provedeno pouze vizuálně, a to jednak pomocí odtokových sítí reprezentovaných hodnotami přispívající plochy (hodnoty jsou vypočteny jednosměrným i vícesměrným algoritmem), jednak pomocí polohy hranic povodí nalezených metodou Border Outlets, a jednak na vybraných velkých plošinách pomocí šipek směrů odtoku. Použitá data jsou opět z databáze USGS DEMs s rozlišením 30m, tentokrát se jedná o část území Altamont, okres Alameda, stát Kalifornie (USA). Jak je patrno z Obr. 3.2.2 (a), většinu území pokrývá rozsáhlá sníženina. Použitý výsek původního DEM má celkem 66887 buněk (211 sloupců, 317 řádků), rozpětí elevací od 151 do 396 m n.m., počet plošin 945 (28504 buněk, 42,62% plochy) a počet depresí 12 (309 buněk, 0,46% plochy). Všechny deprese byly nejprve vyplněny metodou Filling, čímž na jejich místě vznikly další plošiny. Mezi metody ošetření plošin byly zařazeny i metody SDI a PEM4PIT, ošetřující zároveň deprese i plošiny. U těchto metod nebyly deprese vyplněny metodou Filling.
(a) (b) Obr. 3.2.2. Výsledky simulací povrchového odtoku. Na této straně: původní DEM (a), původní DEM se zobrazenými plošinami (zeleně) a depresemi (červeně) (b). Na další straně: výsledek metody Towards Lower Gradient (c) (oranžově jsou zobrazeny hranice povodí nalezené metodou Border Outlets), Combined Gradient (d), SDI (e) a PEM4PIT (f).
168
(c)
(d)
(e)
(f)
169
Jak je z obrázku vidět, volba metody má podstatný vliv jak na podobu odtokové sítě, tak na polohu hranic povodí. Výsledky přitom naprosto odpovídají povaze jednotlivých algoritmů, a tedy i očekávání. Metoda Towards Lower Gradient vedla ke vzniku dobře patrných paralelních linií, takže v místech plošin je odtoková síť nežádoucím způsobem napřímena a příliš neodpovídá reálným odtokovým sítím. Vzhledem k přítomnosti velké plošiny v místech uzávěrů na okraji DEM v levém horním kvadrantu vedl vznik zmíněných paralelních linií k rozdělení území na větší počet povodí, než jak je tomu u ostatních algoritmů. U metody Combined Gradient je ve shodě s očekáváním vznik paralelních linií poněkud potlačen ve prospěch větší konvergence toku. Odtoková síť má o něco reálnější charakter, přesto je však v místech plošin výrazně odlišná (více napříměná) než ve zbytku DEM. Výsledek metody SDI se dá jednoznačně prohlásit za nejhorší. Nejenže metoda vede ke vzniku paralelních linií, ale tyto jsou navíc vlivem hrubého odhadu celkového spádu území výrazně posunuty jihozápadním směrem, takže velká část území odtéká zcela jinudy, než by odpovídalo intuici. K tomu se ještě pojí výrazné ovlivnění původního DEM i v místech, kde žádné plošiny či deprese nebyly. Velmi pozoruhodný je výsledek metody PEM4PIT, který se na první pohled zcela odlišuje od ostatních. Není zde patrný ani náznak vzniku paralelních linií, ale naopak je odtoková síť silně zakřivená a „meandrující“, a to způsobem, který působí velmi přesvědčivě a reálně. Toho je nicméně dosaženo za cenu poměrně velké změny původních elevací, a to na mnohem větší ploše, než u ostatních metod (dobře to ilustruje předchozí porovnání metod pro ošetření depresí). Také si lze všimnout, že ve srovnání s ostatní částí území je v místech plošin „meandrování“ odtokové sítě mnohem výraznější. To by na druhou stranu mohlo souhlasit s obecnou zákonitostí většího meandrování skutečných vodních toků v rovinných partiích terénu. Stejné výsledky, jaké jsme popsali v předcházejících odstavcích, se odrážejí i v odtokových směrech znázorněných pomocí šipek na Obr. 3.2.3. Zobrazeny jsou zde velké plošiny (zjevně svým tvarem kopírující vrstevnice) ze severozápadní části DEM (viz Obr. 3.2.2 (b)). Snad ještě markantnější projev jednotlivých metod je vidět na odtokové síti simulované vícesměrným MFD8 algoritmem (viz Obr. 3.2.4). Zde se jako nejpřijatelnějí jeví metoda Combined Gradient, vykazující oproti ostatním metodám nejmenší rozdíl mezi charakterem odtokové sítě v místech plošin a mimo ně.
170
(a)
(b)
(c)
(d)
Obr. 3.2.3. Výsledky ošetření plošin v podobě odtokové sítě: metoda Towards Lower Gradient (a), Combined Gradient (b), SDI (c) a PEM4PIT (d). Plošiny jsou ohraničeny zeleně.
171
(a)
(b)
(c)
(d)
Obr. 3.2.4. Vliv metod pro ošetření plošin na odtokovou síť simulovanou MFD8 algoritmem. Metody: Towards Lower Gradient (a), Combined Gradient (b), SDI (c) a PEM4PIT (d).
172
3.2.4 Simulace povrchového odtoku Ukázky výsledků simulace povrchového odtoku slouží pouze k vizuálnímu porovnání a kontrole, zda odpovídají obecně známým a v literatuře bohatě dokumentovaným rozdílům mezi algoritmy. Výsledky (viz Obr. 3.2.5) jsou prezentovány (jak je tradičně zvykem) v podobě mapy přispívajících ploch, vykreslené v logaritmickém měřítku, spolu s vyznačenou rozvodnicí. Použitá data jsou opět USGS DEMs s rozlišením 30m, tentokrát menší povodí v území Byron Hot Springs, okres Alameda ve státě Kalifornie (USA). Použitý DEM obsahuje 78740 buněk (310 sloupců, 254 řádků), rozpětí elevací je od 15 do 512 m n.m., počet depresí 211 (521 buněk, 0,66% plochy), počet plošin 725 (2902 buněk, 3,69% plochy). Jak je z obrázků vidět, vícesměrné algoritmy vlivem divergence toku vedou k celkově pozvolnějšímu přechodu mezi nízkými a vysokými hodnotami přispívající plochy, a dále k širokým „tokům“ v konvergentních partiích terénu (údolí, koryta vodních toků). Ve svahových částech terénu je tak odtoková síť reálnější než u jednosměrných algoritmů, nicméně v údolních částech vede naopak k přílišné disperzi. Jako ideální kompromis se jeví buď použití modifikace Channel Handling nebo varianta Variable Exponent. U modifikace Channel Handling je v konvergentních partiích odtok veden jednosměrně. U metody MFD8 – Variable Exponent lze pozorovat zvyšující se konvergenci směrem k vodním tokům, stanoveným prahovou hodnotou přispívahjící plochy (0,1km2),50 nicméně výsledky obou metod se při vizuálním srovnání téměř shodují. Velmi podobný je také výsledek metody SFD – Inf, nicméně zde si lze povšimnout výrazné změny v poloze uzávěrného profilu. Vzhledem k tomu, že tento algoritmus byl navržen mimo jiné proto, aby lépe reprezentoval skutečný směr odtoku (oproti algoritmu SFD8), lze se domnívat, že tato odlišná poloha uzávěru je správnější. U vícesměrných algoritmů si lze navíc všimnout, že (vlivem divergence toku) je možná volba mezi oběma uzávěry. U algoritmu MFD – Inf je ukázán vliv parametru Slope Exponent. Čím vyšší je tento parametr, tím více se výsledek blíží jednosměrnému odtoku. Za zmínku také stojí vliv jednotlivých algoritmů na polohu rozvodnice. Obecně si lze všimnout, že u vícesměrných algoritmů je povodí poněkud rozšířeno a nevelké okrajivé části. Na tom je nicméně problematické, že vlivem disperze toku se v ětchto částech většinou překrývají dvě sousedící povodí, což je pochopitelně jev krajně nežádoucí. 50
Ve všech zde uvedených případech byla prahová hodnota přispívající plochy stanovena pevně. Metoda Automated Search vedla k výsledku, který byl vizuálně téměř shodný s výsledkem algoritmu SFD8.
173
Obr. 3.2.5. DEM území Byron Hot Springs. Dále jsou výsledky simulace povrchového odtoku.
(a) SFD8
174
(b) MFD8, Slope Exponent = 1
(c) MFD8, Slope Exponent = 1, Channel Handling Threshold = 0,1km2
175
(d) MFD8 – Variable Exponent, Slope Exponent = 6, CA Threshold = 0,1km2
(e) SFD-Inf
176
(f) MFD-Inf, Slope Exponent = 1
(g) MFD-Inf, Slope Exponent = 10
177
3.2.5 Sklon, aspekt, křivost K demonstraci výsledků výpočtu vybraných základních terénních charakteristik slouží Obr. 3.2.6.. Pro výpočet byl použit DEM z databáze USGS, s horizontálním rozlišením 30m. Jedná se o horu Mount Shasta v okrese Siskiyou ve státě Kalifornie (USA). DEM obsahuje 153228 buněk (339 sloupců, 452 řádků), rozpětí elevací je od 1455 do 4304 m n.m., počet depresí 26 (200 buněk, 0,13% plochy), počet plošin 155 (419 buněk, 0,27% plochy). Deprese byly ošetřeny metodou Filling, plošiny metodou Towards Lower Gradient.51 Rozpětí sklonů je od 0,002 do 2,014, rozpětí horizontální křivosti (metodou diskrétních derivací) od -0,8 do 1,6, hodnoty horizontální křivosti odhadnuté algoritmem Peuckera a Douglase jsou buď 0 (bílá) nebo 1 (černá, odpovídá buňkám algoritmem v žádném kroku neoznačeným, viz kap. 2.5.2). Ve všech případech odpovídají vyšším hodnotám tmavší odstíny. Hodnoty aspektu se pohybují od 0 do 360°.
Obr. 3.2.6. Vlevo DEM hory Mount Shasta s vyznačenými depresemi (červeně) a plošinami (zeleně), vpravo snímek hory (zdroj: Google Earth, freeware aplikace, dostupné z: http://earth.google.com/). Na dalších obrázcích: sklony počítané metodou diskrétních derivací (a) (logaritmické měřítko), aspekt (b), horizontální křivost metodou diskrétních derivací (c) (logaritmické měřítko) a horizontální křivost metodou Peuckera a Douglase (d).
51
Předpokládám, že by tato metoda mohla nejlépe odpovídá převažující divergentní topografii kuželovité hory.
178
(a)
(b)
(c)
(d)
179
3.2.6 Extrakce říční sítě Pro extrakci říční sítě byla použita data SRTM DEM (viz kap. 3.2.1), povodí Moravské Dyje s uzávěrným profilem zhruba mezi obcemi Cizkrajov a Staré Hobzí. Jelikož program DEMETERR pracuje pouze se čtvercovými buňkami, bylo horizontální rozlišení DEM zaokrouhleno na 90x90m. Použití území v ČR umožnilo srovnání extrahované sítě se sítí extrahovanou ruční vektorizací (v programu ArcInfo 9.0) z mapového díla DMU25 (digitální model území odvození z map v měřítku 1:25000, dostupný ze serveru geoportal.cenia.cz). Použitý DEM obsahuje 154440 buněk (468 sloupců, 330 buněk), rozpětí elevací je od 439,58 do 844 m n.m., počet depresí 1222 (9014 buněk, 5,84% plochy), počet plošin 27 (86 buněk, 0,06% plochy). Deprese byly odstraněny metodou Carving, plošiny metodou Combined Gradient. Simulace povrchového odtoku byla provedena algoritmem SFD8 (vliv odtokového algoritmu na výslednou říční síť zde není pojednána). Výsledky jednotlivých metod jsou uvedeny na Obr. 3.2.7 a Obr. 3.2.8. Použití automatického odhadu prahové hodnoty metodou konstantního poklesu je uvedeno za názvem metody jako Constant Drop Analysis, použití volby Connecting je označeno poznámkou Connected. V závorce je uvedena prahová hodnota použitá pro extrakci. Síť odvozenou z mapy DMU25 označuji jako „DMU síť“. K porovnávání extrahovaných sítí s touto DMU sítí je třeba poznamenat, že DMU síť nelze považovat za přesně odpovídající reálné říční síti. Jedná se o výsledek analýzy mapových děl, které bývají zatíženy značnou neurčitostí a zpravidla v nich některé toky chybí. Na druhou stranu přesnost českých mapových děl lze v tomto ohledu považovat za velmi dobrou. Navív rozlišení DEM 90x90 m vylučuje extrakci příliš malých toků, takže extrahovanou síť lze považovat za síť odpovídající danému měřítku. Toto měřítko přitom zhruba odpovídá měřítku DMU sítě. Z uvedených důvodů se domnívám, že porovnání přeci jen má (i když jen orientační) význam. Metoda Constant Area Threshold – Constant Drop Analysis vedla k extrakci značně husté sítě, jejíž hustota se v souladu s očekáváním jeví jako prostorově konstantní. Lepšího souhlasu s DMU sítí však bylo dosaženo pevnou volbou prahové hodnoty (0,5 km2). U metody Slope-Area Threshold bylo nezbytnou podmínkou pro obdržení spojité sítě použití volby Connecting. Metoda Constant Drop Analysis nenalezla žádnou síť, proto bylo použito pevně zvolené prahové hodnoty. Nejlepší shody s DMU sítí bylo dosaženo při prahové hodnotě 0.001 km2. Obecně se ve shodě s očekáváním u této metody projevila větší hustota sítě ve strmějších částech terénu, což nicméně vedlo až k nežádoucímu vějířovitému „zpeření“ sítě ve vyšších polohách (viz Obr. 3.2.7 (e)).
180
Obr 3.2.7. DEM povodí Moravské Dyje s vyznačenýmy depresemi (červeně), plošinami (zeleně) a rozvodnicí (oranžově). Následují obrázky (a) až (i) říčních sítí extrahovaných jednotlivými moetodami.
(a) Constant Area Threshold – Constant Drop Analysis (Threshold = 0,162 km2)
181
(b) Constant Area Threshold (Threshold = 0,5 km2)
(c) Slope-Area Threshold – Connected (Threshold = 0,005 km2)
182
(d) Slope-Area Threshold (Threshold = 0,001 km2)
(e) Slope-Area Threshold – Connected (Threshold = 0,001 km2)
183
(f) Weighted Area Threshold – Constant Drop Analysis (Threshold = 0,700 km2)
(g) Relative Elevation Threshold – Connected (Threshold = 30 m)
184
(h) Relative Elevation Threshold – Constant Drop Analysis (Threshold = 36,489 m)
(i) Relative Elevation Threshold – Connected – Constant Drop Analysis (48,106 km2)
185
Metoda Weighted Area Threshold – Constant Drop Analysis dosáhla vůbec nejlepší shody s DMU sítí, včetně o něco vyšší hustoty sítě ve strmějších terénech. Výsledek metody Relative Elevation Threshold se velmi podobal metodě Slope-Area Threshold, ačkoli oproti ní byla síť mnohem propojenější (míra nespojitosti se dokonce vizuálně velmi blíží nespojitosti reálných sítí, včetně DMU sítě) a splňovala podmínku konstantního poklesu. Stejně jako metoda Slope-Area Threshold však vedla k nežádoucímu příliš hustému větvení ve vyšších polohách. Ačkoli metoda konstantního poklesu vedla k nalezení sítě, lepší shody s DMU sítí bylo dosaženo pevně zvolenou prahovou hodnotou (30 m). Vizuální porovnání nejlepších (= DMU síti nejpodobnějších) sítí je uvedeno na Obr. 3.2.6. Pro lepší srovnání byly obrázky extrahovaných sítí ručně vodorovně deformovány (zúženy), aby lépe vynikla jejich topologická podobnost. Tato úprava je dle mého názoru pro účely vizuálního porovnání korektní, neboť síť extrahovaná z DEM je oproti DMU síti i síti reálné příliš vodorovně roztažena. To je způsobeno tím, že ačkoli DEM reprezentuje jednotlivé buňky jako čtverce, což odpovídá i snímkování SRTM dat v intervalu 3x3 úhlové vteřiny, skutečné rozlišení vlivem zakřivení Země odpovídá u nás spíše obdélníkům o rozměrech cca 90x60 m. Výsledek porovnání lze mimo jiné interpretovat jako prokázání relevance metody konstantního poklesu, zvláště v kombinaci s metodou prahové hodnoty vážené přispívající plochy (Tarboton et Ames, 2001). Kombinace těchto dvou metod se ukázala být (při srovnání s DMU sítí) jako ze všech uvedených metod nejlepší, neboť je plně automatická a přitom dosahuje nejlepší shody s DMU sítí.
Obr. 3.2.8. (Na další dvoustraně.) Vizuální porovnání nejlepších sítí se sítí DMU: DMU síť (a), Weighted Area Threshold, Threshold = 0,7 km2 (b), Constant Area Threshold, Threshold = 0,5 km2 (c) a Relative Elevation Threshold – Connected (Threshold = 30 m).
186
(a)
(b)
187
(c)
(d)
188
189
4. ZÁVĚR V předkládané práci se podařilo dosáhnout všech vytyčených cílů. V teoretické části práce byla vytvořena velmi obsáhlá a podrobná rešerše témat v českém jazyce dosud více méně nezpracovaných, která tak může sloužit jako cenný zdroj informací o metodách hydrologické analýzy DEM pro domácí odbornou veřejnost. Z vybraných algoritmů byl sestaven program, umožňující provádět s DEM základní úlohy, jež mohou být východiskem (nejen) pro hydrologické modelování. Program disponuje grafickým rozhraním, v němž je možné prohlížet grafické výstupy, umožňuje ukládat vytvořené projekty a zprostředkovaně (přes program 3DEM) umožňuje práci s nejrůznějšími formáty, v nichž jsou kládány DEM. Hlavní výhodou programu ve srovnání s existujícími programy je však především obsáhlý výběr algoritmů pro jednotlivé úlohy. Díky tomu je program vhodný zejména pro porovnávání výsledků jednotlivých algoritmů a následný výběr takového, který se nejlépe hodí k povaze dané topografie či dané úlohy. Ukázky simulací programu prokázaly jeho funkčnost a nastínily široké možnosti dalšího využití a rozvoje programu52. Program by měl být mimo jiné k dispozici studentům i pracovníkům Fakulty životního prostředí ČZU, a to jak pro studijní, tak pro výzkumné záměry. Jeho další šíření mimo uvedenou fakultu je jistě žádoucí, nicméně jeho podoba závisí na budoucím rozhodnutí autora.
Další rozvoj programu bude v první řadě vyžadovat zajištění kompatibility výstupů s jinými (především GIS) obecně používanými programy. Dále bude vhodné doplnit sadu statistických nástrojů pro porovnávání výsledků jednotlivých algoritmů a možnost vytvářet grafy. Program má velký potenciál v mnoha směrech dalšího vývoje, ať již v analýze krajiny (např. odhad retenční kapacity krajiny a míst k zakládání poldrů či nádrží), ve správě povodí (ohraničení povodí, databáze povodí a vodních toků) či především v distribuovaném hydrologickém modelování, založeném na odtokové síti. 52
190
Použitá literatura 1. AHUJA R.K., MAGNANTI T.L., ORLIN J.B. (1993) Network flows – theory, algorithms and applications. Prentice Hall, New Jersey.
2. ANDĚL J. (2007) Statistické metody. MATFYZPRESS – Vydavatelství Matematickofyzikální fakulty Univerzity Karlovy v Praze, Praha. 3. BAŠTA, P. (2008) Digitální model terénu povodí Modrava 2. Diplomová práce. Česká Zemědělská Univerzita v Praze – Fakulta životního prostředí, Praha. 4. BERTOLO F. (2000) Catchment delineation and characterisation – a review. Technical report EUR 19563 EN [online]. Space Applications Institute – Joint Research Institute – Ispra, Italy. URL: http://agrienv.jrc.it/publications/pdfs/CatchRev.pdf [cit. 2008-06-11]. 5. BEVEN K.J. (1997) TOPMODEL: a critique. Hydrological Processes 11(9): 1069-1085 6. BEVEN K.J. (2000) Rainfall-Runoff Modelling. John Wiley & Sons, Chichester 7. BEVEN K.J., KIRKBY M.J. (1979) A physically based variable contributing area model of catchment hydrology. Hydrological Scinece Bulletin 24(1): 43-69 8. ESRI (2007) Arc Hydro Tools – tutorial [online]. URL: http://support.esri.com/index.cfm?fa=downloads.dataModels.filteredGateway&dmid=15 [cit. 2008-08-09]. 9. FAIRFIELD J., LEYMARIE P. (1991) Drainage network from grid digital elevation models. Water Resources Research 27(5): 709-717.
10. FLINT J.J. (1974) Stream gradient as a function of order, magnitude and discharge. Water Resources Research 10(5): 969-973.
11. FLORINSKY I.V. (2002) Errors of signal processing in digital terrain modelling. International Journal of Geographical Information Science 16(5): 475-501.
12. FREEMAN T.G. (1991) Calculating catchment area with divergent flow based on regular grid. Computers&Geosciences 17(3): 413-422. 13. GALLANT J.C., WILSON J.P. (1996) TAPES-G: a grid-based terrain analysis program for the environmental sciences. Computers&Geosciences 22(7): 713-722.
191
14. GARBRECHT J., MARTZ L.W. (1997) The assignment of drainage direction over flat surfaces in raster digital elevation models. Journal of Hydrology 193(1-4): 204-213. 15. GARBRECHT J., MARTZ L.W. (1999a) Digital elevation model issues in water resources modeling [online]. ESRI. URL: http://gis.esri.com/libr.../p866.htm [cit. 2008-08-08]. 16. GARBRECHT J., MARTZ L.W. (1999b) An overview of TOPAZ: an automated digital landscape analysis tool for topographic evaluation, drainage identification, watershed segmentation, and subcatchment parameterization [online]. URL: http://homepage.usask.ca/~lwm885/topaz/overview.html#4.9 [cit. 2008-08-10]. 17. GESCH D. (2005) Vertical accuracy of SRTM data of the United States: implications for Topographic Change Detection [online]. USGS EROS Data Center. URL: http://eros.usgs.gov/conferences/SRTM/presentations/Slides06_Gesch.pdf [cit. 2008-0808]. 18. GRASS Development Team (2008) Raster data processing in GRASS GIS [web page, last modified: 2008-04-26]. URL: http://grass.itc.it/gdp/html_grass63/rasterintro.html [cit. 2008-08-10]. 19. GRAY D.M. (1961) Interrelationships of watershed characteristics. Journal of Geophysical Research 66(4): 1215-1223.
20. GRIMALDI S., NARDI F., DI BENEDETTO F., ISTANBULLUOGLU E., BRAS R.L. (2007) A physically-based method for removing pits in digital elevation models. Advances in Water Resources 30(10): 2151-2158. 21. HENGL T., GRUBER S., SHRESTHA D. P. (2003) Digital Terrain Analysis in ILWIS. Lecture notes and user guide [online]. URL: http://www.itc.nl/personal/shrestha/DTA/ [cit. 2008-08-08]. 22. HJERDT K.N., MCDONNELL J.J., SEIBERT J., RODHE A. (2004) A new topographic index to quantify downslope controls on local drainage [online]. Water Resources Research 40, W05602, doi:10.1029/2004WR003130. 23. HOLMGREN P. (1994) Multiple flow direction algorithms for runoff modelling in grid based elevation models: an empirical evaluation. Hydrological Processes 8(4): 327-334. 24. HORTON R.E. (1932) Drainage basin characteristics. Transactions American Geophysical Union 13: 350-361.
192
25. HUTCHINSON M.F. (1989) A new procedure for gridding elevation and stream line data eith automatic removal of spourious pits. Journal of Hydrology 106: 211-232 26. IJJASZ-VASQUEZ E.J., BRAS, R.L. (1995) Scaling regimes of local slope versus contributing area in digital elevation models. Geomorphology 12(7): 299-311. 27. JENSON S.K., DOMINGUE J.O. (1988) Extracting topographic structure from digital elevation data for geographic information system analysis. Photogrammetric Engeneering and Remote Sensing 54(11): 1593-1600.
28. JONES R. (2002) Algorithms for using a DEM for mapping catchment areas of stream sediment samples. Computers&Geosciences 24(4): 315-323. 29. KIM S., LEE H. (2004) A digital elevation analysis: a spatially distributed flow apportioning algorithm. Hydrological Processes 18(10): 1777-1794. 30. KIRKBY M.J. (1971) Hillslope process-response models based on the continuity equation. In Slopes Form and Processes. Institute of British Geographers, Spec. Publ. 3: 15-30. 31. KŮRKOVÁ, V. (1989) Fraktály a dynamické systémy. In Geometrie živého – sborník přednášek podzimní školy Matematické modely morfogeneze. ZP ČSVTS při Fgú ČSAV,
Praha. 32. LA BARBERA P., ROSSO R. (1987) The fractal geometry of river networks. Eos Transaction AGU 68: 1276.
33. LINDSAY J.B. (2005) The Terrain Analysis System: a tool for hydro-geomorphic applications. Hydrological Processes 19(5): 1123-1130. 34. LINDSAY J.B., CREED I.F. (2005a) Sensitivity of digital landscapes to artifact depressions in remotely-sensed DEMs. Photogrammetric Engeneering and Remote Sensing 71(9): 1029-1036. 35. LINDSAY J.B., CREED I.F. (2005b) Removal of artifact depressions from digital elevation models: towards a minimum impact approach. Hydrological Processes 19(16): 31133126. 36. LINDSAY J.B., CREED I.F. (2006) Distinguishing actual and artefact depressions in digital elevation data. Computers&Geosciences 32(8): 1192-1204. 37. MANDELBROT B.B. (1983) The fractal geometry of nature. W. H. Freeman, New York.
193
38. MARTIN Y. (2000) Modelling hillslope evolution: linear and nonlinear transport relations. Geomorphology 34(1): 1-21.
39. MARK D.M. (1984) Automated detection of drainage networks from digital elevation models. Cartographica 21(2-3): 168-178. 40. MARTZ L.W., DE JONG E. (1988) CATCH: a FORTRAN program for measuring catchment area from digital elevation models. Computers&Geosciences 14(5): 627-640. 41. MARTZ L.W., GARBRECHT J. (1992) Numerical definition of drainage network and subcatchment areas from digital elevation models. Computers&Geosciences 18(6): 747761. 42. MARTZ L.W., GARBRECHT J. (1995) Automated recognition of valley lines and drainage networks from grid digital elevation models: a review and a new method – Comment. Journal of Hydrology 167(1-4): 393-396.
43. MARTZ L.W., GARBRECHT J. (1999) An outlet breaching algorithm for treatment of closed depressions in a raster DEM. Computers&Geosciences 25: 835-844. 44. MEISELS A., RAIZMAN S., KARNIELI A. (1995) Skeletonizing a DEM into a drainage network. Computers&Geosciences 21(1): 187-196. 45. MONTGOMERY D.R., DIETRICH W.E. (1994) Landscape diessection and drainage areaslope thresholds. In: Kirkby M.J. (ed.) Process models and theoretical geomorphology. Wiley, New York. 46. MONTGOMERY D.R., FOUFOULA-GEORGIOU E. (1993) Channel network source representation using digital elevation models. Water Resources Research 29(12): 39253934. 47. MOORE I.D., GRAYSON R.B., LADSON A.R. (1991) Digital terrain modelling: a review of hydrological, geomorphological, and biological applications. Hydrological Processes 5(1): 7-34. 48. NASA (2006) Shuttle Radar Topographic Mission – the mission to map the world [web page, last modified: 2006-02-02]. URL: http://www2.jpl.nasa.gov/srtm/ [cit. 2008-08-08]. 49. NIEMANN J.D., BRAS R.L., VENEZIANO D. (2003) A physically based interpolation method for fluvially eroded topography [online]. Water Resources Research 39(1), 1017, doi:10.1029/2001WR001050.
194
50. O’CALLAGHAN J.F., MARK D.M., (1984) The extraction of drainage networks from digital elevation data. Computer Vision, Graphics, and Image Processing 28(3): 323-344. 51. PAN F., PETERS-LIDARD Ch.D., SALE M.J., KING A.W. (2004) A comparison of geographical information system-based algorithms for computing the TOPMODEL topographic index [online]. Water Resources Research 40, W06303, doi:10.1029/2004WR003069. 52. PEUCKER T., DOUGLAS D.H. (1975) Detection of surface-specific points by local parallel processing of discrete terrain-elevation data. Computer Vision, Graphics, and Image Processing 4: 375-387.
53. PILESJÖ P., ZHOU Q., HARRIE L. (1998) Estimating flow distribution over Digital Elevation Models using a form-based algorithm. Geographic Information Sciences 4(1-2): 44-51. 54. Portál veřejné správy České republiky. URL: http://geoportal.cenia.cz [cit. 2008-08-11]. 55. QUINN P., BEVEN K., CHEVALLIER P., PLANCHON O. (1991) The prediction of hillslope flow paths for distributed hydrological modelling using digital terrain models. Hydrological Processes 5(1): 59-79.
56. QUINN P.F., BEVEN K.J., LAMB R. (1995) The ln(a/tanβ) index: how to calculate and how to use it within the TOPMODEL framework. In Beven K.J. (ed.) Distributed hydrological modelling – applications of the TOPMODEL concept. Wiley, New York.
57. RIEGER W. (1998) A phenomenon-based approach to upslope contributing area and depressions in DEMs. Hydrological Processes 12(6): 857-872. 58. ROSSO R., ENECHI B., LA BARBERA P. (1991) Fractal relation of mainstream length to catchment area in river networks. Water Resources Research 27: 381-387. 59. ROTH G., LA BARBERA P., GRECO M. (1996) On the description of the basin effective drainage structure. Journal of Hydrology 187: 119-135. 60. SEIBERT J., MCGLYNN B.L. (2007) New triangular multiple flow direction algorithm for computing upslope areas from gridded digital elevation models [online]. Water Resources Research 43, W04501, doi:10.1029/2006WR005128.
61. SHREVE R.L. (1966) Statistical law of stream numbers. Journal of Geology 74: 17-37.
195
62. SMITH T.R., BRETHERTON F.P. (1972) Stability and the conservation of mass in drainage basin evolution. Water Resources Research 8(6): 1506-1529. 63. SOILLE P. (1994) Generalized geodesy via geodesic time. Pattern Recognition Letters 15(12): 1235-1240. 64. SOILLE P. (2003) Morphological Image Analysis: Principles and Applications. 2nd ed. Springer-Verlag, New York. 65. SOILLE P. (2004) Optimal removal of spurious pits in digital elevation models [online]. Water Resources Research 40, W12509, doi:10.1029/2004WR003060.
66. SOILLE P. (2007) From mathematical morphology to morphological terrain features. In Peckham R.J., Jordan G. (eds.) Digital Terrain Modelling – Development and Applications in a Policy Support Environment. Springer, Berlin*Heidelberg*New York
67. SOILLE P., GRATIN Ch. (1994) An efficient algorithm for drainage network extraction on DEMs. Journal of Visual Communication and Image Representation 5(2): 181-189. 68. SOILLE P., VOGT J., COLOMBO R. (2003) Carving and adaptive drainage enforcement of grid digital elevation models [online]. Water Resources Research 39, 1366, doi:10.1029/2002WR001879 69. SØRENSEN R., ZINKO U., SEIBERT J. (2006) On the calculation of the topographic wetness index: evaluation of different methods based on field observations. Hydrology and Earth System Sciences 10: 101-112.
70. STRAHLER A.N. (1952) Hypsometric (area altitude) analysis of erosional topography. Geological Society of America Bulletin 63: 1117-1142.
71. TARBOTON D.G. (1997) A new method for determination of flow directions and upslope areas in grid digital elevation models. Water Resources Research 33(2): 309-317. 72. TARBOTON D. (2003) Terrain analysis using digital elevation models in hydrology. Paper presented at 23rd ESRI International Users Conference, San Diego, California [online]. URL: http://www.neng.usu.edu/cee/faculty/dtarb/tarpubs.htm [cit. 2008-08-08]. 73. TARBOTON D. (2005) Terrain Analysis Using Digital Elevation Models (TauDEM) [online]. URL: http://hydrology.neng.usu.edu/taudem/ [cit. 2008-08-10]. 74. TARBOTON D.G., BRAS R.L., RODRIGUEZ-ITURBE I. (1988) The fractal nature of river networks. Water Resources Research 24(8): 1317-1322.
196
75. TARBOTON D.G., BRAS R.L., RODRIGUEZ-ITURBE I. (1990) Comment on “On the fractal dimension of stream networks” by Paolo La Barbera and Renzo Rosso. Water Resources Research 26(9): 2243-2244.
76. TARBOTON D.G., BRAS R.L., RODRIGUEZ-ITURBE I. (1991) On the extraction of channel networks from digital elevation data. Hydrological Processes 5(1): 81-100. 77. TARBOTON D.G., BRAS R.L., RODRIGUEZ-ITURBE I. (1992) A physical basis for drainage density. Geomorphology 5(59-76): 59-76. 78. TARBOTON D.G., AMES D.P. (2001) Advances in the mapping of flow networks from digital elevation data. Paper presented at World Water and Environmental Resources Congress, Orlando, Florida [online]. URL: http://www.neng.usu.edu/cee/faculty/dtarb/tarpubs.htm [cit. 2008-04-05]. 79. TIANQI A., TAKEUCHI K., ISHIDAIRA H., YOSHITANI J., FUKAMI K. (2003) Development and application of a new algorithm for automated pit removal for grid DEMs. Hydrological Sciences Journal 48(6): 985-997.
80. TRIBE A. (1992) Automated recognition of valley lines and drainage networks from grid digital elevation models: a review and a new method. Journal of Hydrology 139(1-4): 263-293. 81. TURCOTTE R., FORTIN J.-P., ROUSSEAU A.N., MASSICOTTE S., VILLENEUVE J.-P. (2001) Determination of the drainage structure of a watershed using a digital elevation model and a digital river and lake network. Journal of Hydrology 240: 225-242. 82. U. S. Geological Survey (2006) Digital elevation model (DEM) [web page, last modified 2006-08-22]. URL: http://edc.usgs.gov/guides/dem.html [cit. 2008-08-08]. 83. WANG L., LIU H. (2006) An efficient method for identifying and filling surface depressions in digital elevation models for hydrologic analysis and modelling. International Journal of Geographical Information Science 20(2): 193-213.
84. WOLOCK D.M., MCCABE G.J. (1995) Comparison of single and multiple flow direction algorithms for computing topographic parameters in TOPMODEL. Water Resources Research 31(5): 1315-1324.
85. ZANDBERGEN P.A. (2006) The effect of cell resolution on depressions in digital elevation models. Applied GIS 2(1): 04.1-04.35.
197
Apendix: Prioritní fronta Prioritní fronta (priority queue), jinak nazývaná též „binární halda“ (binary heap), je datová struktura vhodná k rychlému řazení hodnot, při němž chceme z daného souboru hodnot rychle vybrat hodnotu nejnižší (příp. nejvyšší), a nezáleží nám na pořadí ostatních hodnot. Popis základních vlastností prioritní fronty a princip její implementace je uveden v knize autorů Ahuja et al. (1993, Apendix A.), z níž vychází i implementace použitá v programu DEMETERR. Prioritní frontu si lze nejlépe představit jako binární strom (odtud i název binární halda53), jehož kořenem je vždy požadovaná nejnižší (nejvyšší) hodnota (viz Obr. A.1).
Obr. A. 1. Struktura binární haldy. Kořenem stromu je vrchol s hodnotou 5, data jsou sestupně uspořádána pouze v rámci každé větve, spojující koncový vrchol s kořenem.
Každé dva vrcholy binární haldy na Obr. A.1, jež jsou spojeny šipkou, lze charakterizovat jako potomka (vrchol, z něhož šipka vychází) a předka (vrchol, do něhož šipka míří). V celé haldě přitom platí klíčová vlastnost, totiž že potomek má vždy vyšší hodnotu než předek (uvažejeme, stejně jako i dále v textu, prioritní frontu seřazenou od nejnižší po nejvyšší hodnotu, tedy takovou, jež má v kořeni vždy nejnižší hodnotu). Zařazení nové hodnoty do fronty je možné provézt tak, že je hodnota přidána na konec některé větve (větví rozumíme posloupnost hodnot, spojených šipkami od koncového vrcholu (tj. vrcholu bez potomka) ke kořeni) a poté postupným porovnáváním a případnou výměnou vždy s daným aktuálním předkem „doskáče“ až na příslušné místo v dané větvi (tzv. „skákání dopředu“, viz Obr. A. 2). Po vyjmutí kořene (čili nejnižší hodnoty) je nutné haldu znovu přeskupit, aby byla zachována její klíčová vlastnost (předek nižší než potomek). To je provedeno tak, že na místo původního kořene je vložena hodnota z konce nějaké (jakékoli) větve, přičemž následně je V principu může být prioritní fronta realizována jakoukoli n-nární haldou (stromem), kde n je přirozené číslo větší nebo rovno dvěma. Algoritmická složitost je však u všech takových variant stejná (Ahuja et al., 1993).
53
198
tato hodnota porovnáváním s vždy aktuálním potomkem posunuta až na příslušné místo (před prvního vyššího potomka). Jedná se o tzv. „skákání dozadu“, při němž je v každém kroku nutné rozhodnout, kterou ze dvou možných cest toto „skákání“ bude pokračovat. Pro zachování klíčové vlastnosti haldy je vždy nutné vybrat variantu s nižší hodnotou.
Obr. A. 2. Příklad „skákání dopředu“ v binární haldě. Vlevo stav před skokem, vpravo po skoku. Pro úplné seřazení haldy ještě v pravém obrázku zbývá skok hodnoty čtyři o jeden stupeň dopředu, čili na místo kořene (výměna s hodnotou 5). Převzato z Ahuja et al., 1993.
Implementaci stromové struktury binární haldy je možné velmi jednoduše realizovat pomocí jednorozměrného pole, na jehož prvním místě je kořen stromu. Ostatní hodnoty jsou uspořádány tak, že potomci předka na pozioci i jsou vždy na pozici 2i a min{n, 2i + 1}, kde n je celkový počet hodnot (délka pole). Převedení stromu do takto strukturovaného pole je možné si představit tak, že hodnoty jsou do pole vkládány postupně po jednotlivých vodorovných úrovních stromu, a to vždy z leva do prava (viz Obr. A. 3).
Obr. A. 3. Princip uložení binární haldy v podobě jednorozměrného pole.
199
Budeme-li postupně z fronty odebírat vždy první hodnotu, obdržíme vzestupné uspořádání celého souboru hodnot. Složitost takového řazení je přitom O(nlogn), což je umožněno tím, že
řazení (porovnávání párů) není prováděno v rámci celého souboru, ale vždy pouze v rámci jedné větve (ibidem). V následujícím popisu je prioritní fronta implemenována jako třída TBinHeap (Type Binary Heap) s dvěma klíčovými metodami: „Insert“, v níž je do fronty přidána buňka (její
souřadnice a hodnota, podle níž je fronta řazena; touto hodnotou je v praxi elevace příslušné buňky) a pomocí „skákání dopředu“ zařazena na správníé místo, a „DeleteTop“, v níž je vymazána.první buňka z fronty (využívá se „skákání dozadu“). Dále třída obsahuje proměnnou queue, která představuje samotnou frontu ve formě jednorozměrného pole záznamů o souřadnicích (i,j) a hodnotách (w) jednotlivých buněk. Následuje popis implementace procedur (funkce „Change(k,l)“ provede výměnu souřadnic a hodnotu na pozici k se souřadnicemi a hodnotou na pozici l):
procedure TBinHeap.Insert(i,j: integer; w: real); var k,l: integer;
begin {Zvětš pole queue o jedno místo (na konci pole).} {Na vzniklé poslední místo pole queue vlož buňku (i,j) a hodnotu w.} k:= high(queue);
while (k > 0) do begin l:= (k-1) div 2;
if (queue[l].w > queue[k].w) then begin Change(k,l); k:= l;
end-if else k:= 0; end-while; end;
200
procedure TBinHeap.DeleteTop; var i,j: integer; stop: boolean;
begin Change(0,high(queue)); SetLength(queue,length(queue)-1); i:= 0;
if (length(queue) = 0) then stop:= true else stop:= false; while (stop = false) do begin j:= 2*i+2;
if (j <= high(queue)) then begin if (queue[2*i+2].w < queue[2*i+1].w) then j:= 2*i+2 else j:= 2*i+1; if (queue[j].w < queue[i].w) then begin Change(i,j); i:= j;
end-if else stop:= true; end-if else if (j-1 <= high(queue)) then begin if (queue[j-1].w < queue[i].w) then begin Change(i,j-1); i:= j-1;
end-if else stop:= true; end-if else stop:= true; end-while; end;
201
Příloha: Obsah přiloženého CD Součástí diplomové práce je CD obsahující textovou část práce, program DEMETERR, projekt spustitelný v programovacím prostředí Lazarus, soubory se zdrojovými kódy, soubory s ukázkami vstupních výškových dat a demonstrační projekty spustitelné v programu DEMETERR. Níže následuje seznam souborů a adresářů, které přiložené CD obsahuje:
DEMETERR 1.0 .................................. složka obsahující projekt spustitelný v programovacím prostředí Lazarus DEMETERR.lpr ............................. projekt spustitelný v prog. prostředí Lazarus *.pas ................................................ soubory se zdrojovými kódy Projekty ................................................. složka obsahující projekty spustitelné v programu DEMETERR *.dprj ............................................... soubory projektů programu DEMETERR DEMETERR.exe .................................. program DEMETERR Diplomová práce.pdf ............................ textová část diplomové práce *.txt ....................................................... soubory s výškovými daty, které lze otevřít v programu DEMETERR
202