Очень хочу гидрологически связать полигоны

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Очень хочу гидрологически связать полигоны

Сообщение Александр Мурый » 12 июл 2018, 13:43

Jasen писал(а):
12 июл 2018, 13:28
Там все Input-растры надо подготовить, stream.extract сам недостающие не считает?
Подготовить нужно только растр аккумуляции (с помощью стандартного <r.watershed>). Остальные сгенерит <r.stream.extract>.
Вот последовательность команд:

Код: Выделить всё

r.hydrodem in=dem out=dem_h
r.watershed ele=dem_h acc=acc
r.stream.extract elevation=dem_h accumulation=acc threshold=100 stream_rast=streams stream_vect=streams dir=dir stream_length=200
r.stream.basins -l dir=dir stream_rast=streams basins=basins_main
r.stream.basins dir=dir stream_rast=streams basins=basins_all
r.stream.order stream_rast=streams direction=dir elevation=dem_h accumulation=acc stream_vect=streams_order strahler=streams_strahler
В итоге векторный слой "streams_order" имеет в атрибутах нужные данные.
Редактор материалов, модератор форума

Аватара пользователя
Jasen
Активный участник
Сообщения: 100
Зарегистрирован: 27 янв 2006, 18:33
Репутация: 4
Ваше звание: Специалист
Откуда: Москва
Контактная информация:

Re: Очень хочу гидрологически связать полигоны

Сообщение Jasen » 12 июл 2018, 13:59

Кстати, нашёл тут тему, где уже писалось о WHITEBOX viewtopic.php?t=12846
Запустил breaching с параметрами 50, 10, 0.001. Кажется, WHITEBOX серьезно подошел к вопросу и собирается считать очень долго.
Программа зависла и пришлось закрыть. Пока что реализую метод Александра Мурого через GRASS. Должен заметить, что способ с r.in.srtm не сработал, получился неправильный растр. Причём инструмент этот работает только в latlong.
Что написал - то написал!

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Очень хочу гидрологически связать полигоны

Сообщение Александр Мурый » 12 июл 2018, 15:30

Jasen писал(а):
12 июл 2018, 13:59
Должен заметить, что способ с r.in.srtm не сработал, получился неправильный растр. Причём инструмент этот работает только в latlong.
Потому что надо импортировать GeoTIFF через <r.in.gdal>. Для этого растр должен быть в нужной проекции. Или использовать <r.import>, тогда можно без предварительного перепроецирования.
Редактор материалов, модератор форума

Аватара пользователя
Jasen
Активный участник
Сообщения: 100
Зарегистрирован: 27 янв 2006, 18:33
Репутация: 4
Ваше звание: Специалист
Откуда: Москва
Контактная информация:

Re: Очень хочу гидрологически связать полигоны

Сообщение Jasen » 12 июл 2018, 16:54

Александр Мурый писал(а):
12 июл 2018, 15:30
Потому что надо импортировать GeoTIFF через <r.in.gdal>
А я не геотиф, я hgt импортировал.
Что написал - то написал!

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Очень хочу гидрологически связать полигоны

Сообщение Александр Мурый » 12 июл 2018, 17:11

Jasen писал(а):
12 июл 2018, 16:54
А я не геотиф, я hgt импортировал.
Попробуйте <r.import> или <r.in.gdal> с предварительной конвертацией в геотиф и перепроецированием.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Очень хочу гидрологически связать полигоны

Сообщение Александр Мурый » 13 июл 2018, 12:06

Вместо настольного Whitebox рекомендую попробовать консольную замену от автора - WhiteboxTools:
http://www.uoguelph.ca/~hydrogeo/Whiteb ... index.html
Использовать просто (один исполняемый файл); также есть привязка к Питону, если надо.

Вот что я нашёл там по теме "breaching:
BreachSingleCellPits: Removes single-cell pits from an input DEM by breaching.
FlowAccumulationFullWorkflow: Resolves all of the depressions in a DEM, outputting a breached DEM, an aspect-aligned non-divergent flow pointer, and a flow accumulation raster.
Как я понимаю, лучше сразу использовать FlowAccumulationFullWorkflow, т.к. он внутри там всё равно делает "breaching" и выдаёт на выходе корректный растр аккумуляции.
Редактор материалов, модератор форума

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Очень хочу гидрологически связать полигоны

Сообщение gamm » 13 июл 2018, 15:51

Там был раньше бричинг не единичных ячеек, а любых барьеров и площин. Может, переименовали, давно не пользовался. Алгоритм долгий, многопроходной.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей