Takto, ja odpoviem tak nijak, teda nekompletne a odhadometricky, keďže tejto téme sa nad slovenským lidarom ešte len niekedy budem venovať.
Ale určite by som sa pozrel na WhiteBoxTools, sú kvalitne optimalizované na multiprocessing, čo pri tak veľkých dátach ako je lidar určite treba. Zároveň majú celkom fajn dokumentáciu (napr.
tuto, nejaké videá sú na yotube. Majú aj toolbox do QGIS, takže netreba kódiť a sú pomerne "straight forward". Akurát pri hľadaní návodov pozor na rozdiel medzi WhiteBox Tools a WhiteBox GAT, to isté, ten istý autor, len iný základ. Tú multiprocesorovosť som na WhiteBox GAT neskúšal, možno je to rovnako rýchle.
Potom ten postup (všeobecne).
- Zobrať DMR a vyhladiť, či už nejakým low pass filtrom, alebo super je "feature preserving smoothing" vo whiteboox tool, ten používa aj Martin na DEM lidaru. Každé vyhladenie terénu je ale jeho deformácia, low pass filtre znižujú vrcholy a zvyšujú dna. Feature preserving smoothing, je super, funguje inak, ale tiež v princípe deformuje terén. To vyhladenie je ale nevyhnutné aby z algoritmy neblbli, DMR je príliš mikročlenité a to môže robiť galibu. Alternatíva je zjednodušiť DMR napríklad na 2 metre px. Okrem toho, že to zahladí veci hlavne to 4 násobne zníži objem dát a teda aj výpočtov.
- Vyhladené DMR ešte hydrologicky upraviť, funkcia "fill", vyplní drobné priehlbne ktoré vnzikajú ako šum v dátach a voda z nich nikam neodteká, čo deformuje výsledky.
- Potom sa na vyhladeným a opraveným DMR ráta tzv flow direction, zjednodušene povedané kam potečie kvapka vody ak dopadne na pixel.
- Z flow direction sa následne ráta flow accumulation, teda zjednodušene ako sa tie kvapky z pixlov postupne sčítavajú. Tam vzhľadom na vysoké rozlíšenie lidaru bude stačiť D8 algoritmus čo je štandard všetkých bežných riešení. Každá kvapka z pixla môže odtiecť z pixla do 8 smerov (asi ako pohyb Dámy po šachovnici), je to zjednodušene, prináša to zig zag výsledky, ale vzhľadom na spomínanú hustotu je to ok, a aj vzhľadom na aplikáciu. Alternatíva je MD8, je implementovaný vo voľne dostupných hydrotools, ale to je už overkill.
- Flow accumulation je už výsledok, ale sranda je dostať z neho vodné toky. Buď do rastra, to je jednoduché (reklasifikácia, má to svoje ale...), prípadne do vektora je to pomerne jednoduché reklasifikovaný raster prevedieš na vektor. Advanced verzia je už keď riešiš "poradie" (order) prítokov, alebo počet prítokov, nič zložité, ale v princípe nepotrebuješ na to čo chceš riešiť.
To "ale..." je už zábavnejšie. Ide o to ako chceš určiť čo ešte je vodný tok a čo už nie je, zvlášť ak hovoríme o sezónnych tokoch (nevraviac o prúdoch čo vznikajú po daždi). Buď to budeš riešiť odhadometricky, pokus-omyl. Dá sa, narýchlo to aj ja tak robím, ale je to naozaj príliš subjektívne. Alebo si pozrieš nejakú literatúru, čo definuje vodný tok. Časo je to zberná plocha povodia. Tu skúsim dať návod ako to uchopiť. Na každej bunke rastra flow accumulation budeš mať číslo. Napríklad 12000. To číslo znamená že z koľkých buniek sa tam naakumulovala ("pritiekla") voda. V tomto prípade z 12 000 buniek. Ide o to ako to previesť na veľkosť zberenej plochy. Ak by si použil lidar s rolíšením 1m/pixel. Tak vieš, že veľkosť bunky s takýmto rozlíšením je 1m2 (lebo rozmer bunky je 1m x 1m). Takže do danej bunky pritiekla vo z 12 000m2 (12000 buniek o veľkosti 1m2).
Ak by si napríklad používal lidar veľkosti bunky 2m/px. Tak si treba uvedomiť že jedna bunka má plochu 4m2 (2m x 2m) a teda ak má bunka hodnotu 12 000, tak to znamená že tam pritieklo vody zo 48 000 m2 (12 000x 4m2). V prípade veľkosti rastra 5m/px by to bolo 25m2 (5x5), atď.
Takto aj keď to znie ako raketová veda, nie je to nič zložité. Dávajú to aj moji tretiaci ako bonusovú úlohu za hodinu a bez vysvetlenia (keďže ce túto úlohu sledujem ich schopnosť samostatne riešiť GIS problém). Je to implementované ako štandard v každom GIS (QGIS, SAGA, Grass, WhiteBox, ArcGIS). Ono keby to chceš robiť precízne, tak to je raketová veda čo sa študuje 5 rokov, ale na toto to stačí.
TL/DR: Smooth dem -> Fill sink -> Flow direction -> Flow accumulation - odhadometrická reklasifikácia do rastra - voliteľne prevod do vektora.