Страница 1 из 1
Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 13 фев 2013, 12:55
dime1
gamm писал(а):в TAS делаете как минимум breaching
gamm, Вам удалось понять что делает breaching?
Александр Мурый, нашел пару текстов про алгоритмы ArcHydro, добавил во вложения.
Особенно интересны и пригодны (в то же время просты) варианты дендритных (древовидных) бассейнов
без бессточных областей (артефактов ЦМР - sinks, либо внутренних бассейнов endorheic basin) в вариантах:
а) когда неизвестно ничего и есть только DEM
б) когда есть синтетическая гидросеть (спорный вариант, ибо непонятно откуда взять более точную гидросеть)
в) когда известны расположения рек (?), как я понимаю, если вектор рек делается на заказ или оцифровуется вручную со спутниковых снимков
P.S. Снова "загорелся" вариантом почистить ASTER GDEM2 (просто подменив максимальные и минимальные значения из SRTM на ту же территорию (чтоб убрать дыры) и пройдясь "плавающим кругом") для того, что сравнить качество получаемой гидросети с SRTM4 (никто такого не пробовал делать?). Но снова почитав про "ляптахи", поугас.
P.S.S.: у SRTM30 plus разрешение пикселя 1 км., а у SRTM4 - 90 метров?
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 16:52
gamm
dime1 писал(а):gamm, Вам удалось понять что делает breaching?
да - "пропиливает" реки не имея векторной гидросети, и "форсирует" направление потока на площинах. Но добиться от автора описания алгоритма или ссылки на статью не удалось. А разбирать тысячи строк кода - стар я уже для такого, да и зачем ...
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 17:37
dime1
gamm, интересно. Своего рода подготовительный этап для получения гидрологически-корретной ЦМР.
А бреачинг нужно применять до Fill Sinks (присвоение локальным высотным депрессиям соседних значений) или после?
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 17:45
rhot
dime1 +1
Я б тоже не отказался услышать мнения об алгоритмах построения гидрологически-корретной ЦМР.
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 17:57
gamm
dime1 писал(а):А бреачинг нужно применять до Fill Sinks (присвоение локальным высотным депрессиям соседних значений) или после?
вместо - никакие Fill Sinks не нужны, он их "пропилит". Мы много строили бассейнов (тысячи), и ни один метод даже в сравнение не идет.
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 18:38
dime1
Breaching depression
This tool can be used to pre-process a digital elevation model (DEM) prior to being used for hydrological analysis. It will remove topographic depressions and apparent dams in the DEM in order to enforce continuous flow. This is achieved by breaching through topographic barriers. As such, depression breaching provides an alternative to depression filling. Unlike depression filling, which has one unique solution for each depression, there may be several competing solutions for depression breaching. This tool uses a cost-distance criteria for deciding upon the breach target, i.e. the cell to which the tool will trench a connecting path, and for determining the breach path itself. As such, the trenched path will not necessarily follow a straight line, but rather, will follow a path of lowest cost, where the cost is determined by the amount of change made to the original DEM.
Параметры: maximum breach channel lenght (pixel) и maximum elevation decrement value.
Т.е. алгоритм может быть примерно следующим:
1) Breaching depression
2) Flow Direction grid (D8)
3) Flow Accumulation grid
4) Stream Definition grid (specify Flow Accumulation Grid threshhold)
5) Stream Segmentation grid (stream tributaries)
6) Drainage Line Processing (stream vector)
7) Catchment Grid Delineation

Catchment Polygon Processing
9) Adjoint Catcment Processing
После шага 5 можно перевести в вектор, "дорисовать"/"почистить" реки, конвертировать обратно в grid и продолжать.
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 19:07
gamm
dime1 писал(а):
2) Flow Direction grid (D8)
3) Flow Accumulation grid
лучше считать потоки через Rho8 и пр., чтобы было поточнее. D8 понадобится потом, чтобы отбить бассейны.
Re: Расчёт бассейна Вычегды средствами свободного ПО
Добавлено: 13 фев 2013, 19:30
Александр Мурый
gamm писал(а):Но добиться от автора описания алгоритма или ссылки на статью не удалось. А разбирать тысячи строк кода - стар я уже для такого, да и зачем ...
Если разобраться в алгоритме, то можно было бы реализовать его в других свободных ГИС (лучше всего для этого подошла бы, по-моему, GRASS).
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 20 фев 2013, 12:22
dime1
Интересует вопрос о настройках breaching depression:
Maximum breach channel lenght (pixel), по умолчанию стоит 50. Тут нужно "на глаз прикидывать" сколько пикселей занимает основная река?
Maximum elevation decrement value (optional). Но если здесь ничего не вписывать, то в растре не происходит breaching. Не совсем понимаю, что здесь нужно поставить и что это за значение? Предполагаю, что некая дельта высоты снимка при прорезании рекой, т.е. вписывается высота в метрах. Для SRTM равнинной территории 10 будет оптимальным (т.е. +/- 10 м для прокладывания потока)?
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 20 фев 2013, 19:16
dime1
Может при применении breaching алгоритм построения вообще другой? Flow Direction после этой функции даёт ошибочный растр (с 270 значениями вместо 8 (D8)) и всё последующие операции становятся невозможными.
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 20 фев 2013, 19:21
gamm
dime1 писал(а):Может при применении breaching алгоритм построения вообще другой? Flow Direction после этой функции даёт ошибочный растр (с 270 значениями вместо 8 (D8)) и всё последующие операции становятся невозможными.
начнем с того, что breaching правит рельеф, и к flow direction отношения не имеет. На этом и закончим
что касаемо параметров, то в TAS их не было, и все работало прекрасно. Будем надеяться, что авторы оставили значения по умолчанию те же, что были в TAS, так что их можно не трогать, если работает
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 20 фев 2013, 19:33
dime1
Ух ё
Сегодня весь день колупался в проге.
1) Программа может использовать только 1 Гб ОЗУ, чтоб сделать 8 - нужно править файл. Когда его правишь, то Win7 что-то там подменяет в виртуальной машине JAVA, потому нужно применять jarfix, после которого ничего не происходит.
2) Попробовал сделать breaching для растра 12000х6000, попросило 5 часов с загрузкой всего по 80%
3) Сделал breaching 1200*1200, на снимке прорисовалась мелкая сеть водотоков. Думал получившийся растр дальше стандартно:fdr-facc-stream definition, а потом сравнить 2 типа гидросети получившиеся при FlowDirection (D8-методу) и Rho8.
Завтра буду разбираться. + еще нужно сравнить насколько точнее получается с отфильтрованными данными gdem2.
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 20 фев 2013, 20:13
gamm
dime1 писал(а):Ух ё
из личного опыта ... чтобы не мучить и машину, и себя, отбиваете крупные бассейны (хоть на GTOPO30), вырезаете нужный кусок (с небольшим запасом), и СПОКОЙНО с ним работаете, без ненужного героизма
да, и gdem нужно фильтровать с учетом "ляптах" - брать их границу (по каналу числа использованных снимков), и уравнивать с соседями. Но придется программировать, там получается либо большая система уравнений, либо нужно гонять итерации (вычислять среднюю невязку с соседями по границе, и прибавлять к себе, помножив на небольшое число - типа метод простых итераций).
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 28 фев 2013, 18:20
dime1
Сегодня сделал сравнение ЦМР:
1) aster
2) aster+заменены значения меньшие и превышающие srtm (на ту же территорию) из последнего. Плавающий круг в 5 пикселей.
3) srtm90
Результаты во вложении.
С данными SRTM 30-ти метрового разрешения никто случайно не экспериментировал? (они сейчас недоступны)
Re: Алгоритмы построения гидрологически корретной ЦМР
Добавлено: 13 апр 2013, 16:30
dime1