DMR a vypocet riecneho koryta

76 views
Skip to first unread message

A.In.The.K A.In.The.K

unread,
Apr 5, 2021, 4:36:21 PM4/5/21
to Openstreetmap Slovakia
Chalani co sa venujete riekam:
Vopred sorry ak ste to uz riesili niekde v fore:
Otazka: ale pouzivate niekto nejake algoritmy nad DMR na extrakciu koryt potokov a nasledne zakreslovanie ? 
Najme u tych obcasnych je to pomerne schodna cesta.
Ak ano ake ?

P.S. skusal som hladat v prispevkoch, ale nenasiel tak sa pytam.

Tibor Lieskovsky

unread,
Apr 6, 2021, 4:56:34 PM4/6/21
to Openstreetmap Slovakia
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.

Dátum: pondelok 5. apríla 2021, čas: 22:36:21 UTC+2, odosielateľ: a.in....@gmail.com

Martin Dobias

unread,
Apr 7, 2021, 6:36:05 AM4/7/21
to osm...@googlegroups.com
Doplnim Tibora, konkretnejsi navod pomocou QGIS je tu:
... najviac relevantne su strany 82-85

To PDF je sucast skoleni na GIS v hydrologii od Hansa van der Kwasta:

Zdravim
Martin


--
Túto správu ste dostali, pretože v Skupinách Google ste odberateľom skupiny "Openstreetmap Slovakia".
V prípade, že chcete zrušiť odber tejto skupiny a prestať od nej prijímať e-maily, zašlite e-mail na adresu osm_sk+un...@googlegroups.com.
Ak chcete zobraziť túto diskusiu na webe, prejdite na adresu https://groups.google.com/d/msgid/osm_sk/79886885-3136-4699-b873-8b9ef4146d81n%40googlegroups.com.

A.In.The.K A.In.The.K

unread,
Apr 9, 2021, 3:45:32 AM4/9/21
to osm...@googlegroups.com
dik, teoria je viac menej jasna, mne islo mozno o realne skusenosti
nad nasim DMRkom, parametre nastaveni atd  a mozno nejaka koordinacia postupu.

Ale ese raz diky

Martin Ždila

unread,
Mar 19, 2022, 2:36:36 AM3/19/22
to osm_sk
On Tue, Apr 6, 2021 at 10:56 PM Tibor Lieskovsky <tibor.li...@gmail.com> wrote:
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).

Inac tato metoda podla mojho laickeho nazoru (nie som hydrolog ani profi gisak) zanedbava par relativne dolezitych faktorov:
  • riesi iba zrazkovu vodu a nie pramene (vystup podzemnej vody na povrch)
  • neriesi savost pody a ponory (tie vsak su viacmenej raritou)
  • (asi) neriesi ze voda z kopca sa vsaje pomalsie ako voda na takmer rovine (mozno nieco zohladnuje parameter out_type pri FlowAccumulationFullWorkflow? pouzival som len default)
V OSM uz su vodne toky podla ZBGIS takze viacmenej treba hlavne tieto spresnit. Ja pridavam nove vodne toky (ak v OSM este nie su) aj podla terenu, kde podla DMR tienovania by tok urcite mal byt (je tam specificky "vymlety" teren a velka okolita akumulacna plocha). Tieto vsak oznacujem s fixme=survey a casto s intermittent=yes. Tiez si pomaham s Ortofotomozaikou SR.

V kazdom pripade uz nejaky ten piatok ponukam vektorizovane oblasti (osm subory) no bohuzial o ne velky zaujem nie je. A pritom preniest to do OSM ide rychlo. Pozrite si Slanske vrchy, tie som dokoncil takmer komplet.

--
 

Reply all
Reply to author
Forward
0 new messages