Это был вообще совет на будущее лично из моего скромного опыта. Можно не полениться сделать скриншот из ГИС, где отображены ваши исходные данные, и приложить к теме. А также схематически отобразить желаемый результат (хотя бы на листике от руки). Не все могут быстро визуализировать в уме, картинки всяко проще смотреть.
Очень хочу гидрологически связать полигоны
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Очень хочу гидрологически связать полигоны
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Очень хочу гидрологически связать полигоны
Похоже на желаемый результат?
Я загнал ЦМР в GRASS, гидрологически откорректировал (r.hydrodem), построил речную сеть и бассейны (r.stream.extract + r.stream.basins), потом получил порядки водотоков с использованием всех этих данных - модуль <r.stream.order>. Вот он-то как раз и выдаёт (как оказалось) ID следующего по порядку водотока. ID водотока в данном случае равен ID субводосбора, осталось перенести это в атриб.таблицу субводосборов.
P.S. На мой взгляд, GRASS куда лучше обрабатывает ЦМР и выдаёт более реалистичные результаты (там, правда, есть некоторые хитрости, о них напишу потом).
Я загнал ЦМР в GRASS, гидрологически откорректировал (r.hydrodem), построил речную сеть и бассейны (r.stream.extract + r.stream.basins), потом получил порядки водотоков с использованием всех этих данных - модуль <r.stream.order>. Вот он-то как раз и выдаёт (как оказалось) ID следующего по порядку водотока. ID водотока в данном случае равен ID субводосбора, осталось перенести это в атриб.таблицу субводосборов.
P.S. На мой взгляд, GRASS куда лучше обрабатывает ЦМР и выдаёт более реалистичные результаты (там, правда, есть некоторые хитрости, о них напишу потом).
- Вложения
-
- Selection_080.png (392.89 КБ) 5468 просмотров
Редактор материалов, модератор форума
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Александр, то есть, вы советуете переобработать сырую ЦМР в GRASS?
Да, вот этого-то я и хотел. И как раз удачно, что ID водотока соответствует ID водосбора, потому что в остальных программах это не так, есть только порядок по Хортону или Стралеру, я пытался придумать, как связать порядок с нижележащими водосборами, но безуспешно.
Теперь мне осталось только проверить, работают ли эти модули на Винде Если нет, получается, придется создавать машину на Юнихе.
Да, вот этого-то я и хотел. И как раз удачно, что ID водотока соответствует ID водосбора, потому что в остальных программах это не так, есть только порядок по Хортону или Стралеру, я пытался придумать, как связать порядок с нижележащими водосборами, но безуспешно.
Теперь мне осталось только проверить, работают ли эти модули на Винде Если нет, получается, придется создавать машину на Юнихе.
Что написал - то написал!
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Очень хочу гидрологически связать полигоны
а можно в виде текста оформить весь процесс, с картинками и приложенными данными, проектами, и т.д. - было бы шикарно.Александр Мурый писал(а): ↑10 июл 2018, 18:21там, правда, есть некоторые хитрости, о них напишу потом
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Это вообще всегда пожалуйста! Если помогает - будем изображать на листике. Вот сейчас как раз и займусь этим в другой теме про регриддинг )Александр Мурый писал(а): ↑10 июл 2018, 18:05А также схематически отобразить желаемый результат (хотя бы на листике от руки)
Что написал - то написал!
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Процесс я и сам собираюсь уже давно оформить. В интернете не хватает большой статьи о гидроподготовке рельфа и построении водосборов на русском языке. Предлагаю совместно написать и сделать раздел сайта по этой теме. У нас уже есть процесс в SAGA и GRASS.
Только давайте вынесем вердикт: на Windows модули r.stream.* работают все-таки или нет? И если нет, как сделать, чтобы они заработали.
Что написал - то написал!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Очень хочу гидрологически связать полигоны
Было бы хорошо, но обещать не буду))
Идея хорошая, осталась самая малость - заняться и сделать)) Обсудим ещё потом.
<r.stream.extract>,<r.stream.basins> и <r.stream.order> работают. Они написаны на Си и ставятся через <g.extension> под Windows в виде скомпилированных exe-файлов. Под Линуксом запускается компиляция при установке.
Редактор материалов, модератор форума
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Попробовал для начала r.hydrodem из исходного рельефа, скачанного с сайта dwtkns.com/srtm30m/:
Код: Выделить всё
r.hydrodem -a input=N55E035 output=filled_dem
Load elevation map
ERROR: No non-NULL cells loaded from input map
Что написал - то написал!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Очень хочу гидрологически связать полигоны
А
сначала было сделано?
Код: Выделить всё
g.region rast=N55E035
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Пробую WHITEBOX.
Гидрологические Инструменты -> Предварительная обработка ЦМР -> Fill Depressions (Planchon and Darboux)
Гидрологические Инструменты -> Указатели потока -> FD8 Flow Pointer: это Flow Direction
Гидрологические Инструменты -> Аккумуляция стока -> FD8 Flow Accumulation
Exponent Parameter set to 1.1
Threshhold in cells set to 1000000
Output Type: number of upslope grid cells
Гидрологические Инструменты -> Анализ Сети Потока -> Extract Streams
Channelization Threshhold set to 5000
Background Value set to 0 (transparent background)
Результат - водотоки рисуются с утолщениями
Гидрологические Инструменты -> Инструменты для Водосборного Бассейна -> Sub-basins
Streams Raster and Flow Pointer as INPUT
Все равно, мне это больше нравится, чем ситуация, когда рисуются параллельно идущие водотоки в плоских долинах.
Вопрос первый: какие-то параметры, может быть, стоит выставить по-другому?
Вопрос второй: а может быть провести основные водотоки вручную по растру и сделать Burn Streams?
Вопрос третий: а какой инструмент добавляет озёра для верного построения речной сети?
Гидрологические Инструменты -> Предварительная обработка ЦМР -> Fill Depressions (Planchon and Darboux)
Гидрологические Инструменты -> Указатели потока -> FD8 Flow Pointer: это Flow Direction
Гидрологические Инструменты -> Аккумуляция стока -> FD8 Flow Accumulation
Exponent Parameter set to 1.1
Threshhold in cells set to 1000000
Output Type: number of upslope grid cells
Гидрологические Инструменты -> Анализ Сети Потока -> Extract Streams
Channelization Threshhold set to 5000
Background Value set to 0 (transparent background)
Результат - водотоки рисуются с утолщениями
Гидрологические Инструменты -> Инструменты для Водосборного Бассейна -> Sub-basins
Streams Raster and Flow Pointer as INPUT
Все равно, мне это больше нравится, чем ситуация, когда рисуются параллельно идущие водотоки в плоских долинах.
Вопрос первый: какие-то параметры, может быть, стоит выставить по-другому?
Вопрос второй: а может быть провести основные водотоки вручную по растру и сделать Burn Streams?
Вопрос третий: а какой инструмент добавляет озёра для верного построения речной сети?
- Вложения
-
- whitebox.PNG (110.67 КБ) 5362 просмотра
Что написал - то написал!
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Пытаюсь сейчас.
https://grasswiki.osgeo.org/wiki/WinGRA ... oj.dll..22 тут говорят переименовать (?)
- Вложения
-
- grass1.PNG (22.74 КБ) 5357 просмотров
Что написал - то написал!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Очень хочу гидрологически связать полигоны
GRASS вообще запущена? Я что-то не вижу. В граф. интерфейсе модули запускаются нормально?
Редактор материалов, модератор форума
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: Очень хочу гидрологически связать полигоны
Да, извините, не в том окне команды запускал.
Теперь так. Аккумуляцию отдельно не считал. Там все Input-растры надо подготовить, stream.extract сам недостающие не считает?
- Вложения
-
- grass2.PNG (16.37 КБ) 5351 просмотр
Что написал - то написал!
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 31 гость