Страница 2 из 3

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

Добавлено: 10 июл 2018, 18:05
Александр Мурый
Jasen писал(а):
10 июл 2018, 11:19
Так, Александр, какие картинки, если неизвестно, как их делать ) Задачу я, вроде бы, описал исчерпывающе.
Это был вообще совет на будущее лично из моего скромного опыта. Можно не полениться сделать скриншот из ГИС, где отображены ваши исходные данные, и приложить к теме. А также схематически отобразить желаемый результат (хотя бы на листике от руки). Не все могут быстро визуализировать в уме, картинки всяко проще смотреть.

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

Добавлено: 10 июл 2018, 18:21
Александр Мурый
Похоже на желаемый результат?

Я загнал ЦМР в GRASS, гидрологически откорректировал (r.hydrodem), построил речную сеть и бассейны (r.stream.extract + r.stream.basins), потом получил порядки водотоков с использованием всех этих данных - модуль <r.stream.order>. Вот он-то как раз и выдаёт (как оказалось) ID следующего по порядку водотока. ID водотока в данном случае равен ID субводосбора, осталось перенести это в атриб.таблицу субводосборов.

P.S. На мой взгляд, GRASS куда лучше обрабатывает ЦМР и выдаёт более реалистичные результаты (там, правда, есть некоторые хитрости, о них напишу потом).

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

Добавлено: 11 июл 2018, 10:49
Jasen
Александр, то есть, вы советуете переобработать сырую ЦМР в GRASS?
Да, вот этого-то я и хотел. И как раз удачно, что ID водотока соответствует ID водосбора, потому что в остальных программах это не так, есть только порядок по Хортону или Стралеру, я пытался придумать, как связать порядок с нижележащими водосборами, но безуспешно.
Теперь мне осталось только проверить, работают ли эти модули на Винде :) Если нет, получается, придется создавать машину на Юнихе.

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

Добавлено: 11 июл 2018, 10:54
gamm
Александр Мурый писал(а):
10 июл 2018, 18:21
там, правда, есть некоторые хитрости, о них напишу потом
а можно в виде текста оформить весь процесс, с картинками и приложенными данными, проектами, и т.д. - было бы шикарно.

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

Добавлено: 11 июл 2018, 10:54
Jasen
Александр Мурый писал(а):
10 июл 2018, 18:05
А также схематически отобразить желаемый результат (хотя бы на листике от руки)
Это вообще всегда пожалуйста! Если помогает - будем изображать на листике. Вот сейчас как раз и займусь этим в другой теме про регриддинг )

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

Добавлено: 11 июл 2018, 11:32
Jasen
gamm писал(а):
11 июл 2018, 10:54
а можно в виде текста оформить весь процесс, с картинками и приложенными данными, проектами, и т.д. - было бы шикарно
Процесс я и сам собираюсь уже давно оформить. В интернете не хватает большой статьи о гидроподготовке рельфа и построении водосборов на русском языке. Предлагаю совместно написать и сделать раздел сайта по этой теме. У нас уже есть процесс в SAGA и GRASS.

Только давайте вынесем вердикт: на Windows модули r.stream.* работают все-таки или нет? И если нет, как сделать, чтобы они заработали.

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

Добавлено: 11 июл 2018, 12:09
Александр Мурый
gamm писал(а):
11 июл 2018, 10:54
а можно в виде текста оформить весь процесс, с картинками и приложенными данными, проектами, и т.д. - было бы шикарно.
Было бы хорошо, но обещать не буду))
Jasen писал(а):
11 июл 2018, 11:32
Предлагаю совместно написать и сделать раздел сайта по этой теме. У нас уже есть процесс в SAGA и GRASS.
Идея хорошая, осталась самая малость - заняться и сделать)) Обсудим ещё потом.
Jasen писал(а):
11 июл 2018, 11:32
Только давайте вынесем вердикт: на Windows модули r.stream.* работают все-таки или нет? И если нет, как сделать, чтобы они заработали.
<r.stream.extract>,<r.stream.basins> и <r.stream.order> работают. Они написаны на Си и ставятся через <g.extension> под Windows в виде скомпилированных exe-файлов. Под Линуксом запускается компиляция при установке.

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

Добавлено: 11 июл 2018, 13:11
Jasen
Попробовал для начала 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

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

Добавлено: 11 июл 2018, 14:49
Александр Мурый
А

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

g.region rast=N55E035
сначала было сделано?

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

Добавлено: 11 июл 2018, 16:48
gamm
Jasen писал(а):
11 июл 2018, 11:32
У нас уже есть процесс в SAGA и GRASS.
из нашего опыта наилучшие результаты при выделении бассейнов дает TAS (ныне WhiteBox). Все остальное там тоже вроде есть, но я его в основном использовал для построения бассейнов и вычисления разной морфометрии.

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

Добавлено: 12 июл 2018, 12:29
Jasen
Пробую 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?
Вопрос третий: а какой инструмент добавляет озёра для верного построения речной сети?

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

Добавлено: 12 июл 2018, 13:00
Jasen
Александр Мурый писал(а):
11 июл 2018, 14:49
сначала было сделано?
Пытаюсь сейчас.

https://grasswiki.osgeo.org/wiki/WinGRA ... oj.dll..22 тут говорят переименовать (?)

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

Добавлено: 12 июл 2018, 13:08
Александр Мурый
GRASS вообще запущена? Я что-то не вижу. В граф. интерфейсе модули запускаются нормально?

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

Добавлено: 12 июл 2018, 13:28
Jasen
Александр Мурый писал(а):
12 июл 2018, 13:08
GRASS вообще запущена?
Да, извините, не в том окне команды запускал.
Теперь так. Аккумуляцию отдельно не считал. Там все Input-растры надо подготовить, stream.extract сам недостающие не считает?

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

Добавлено: 12 июл 2018, 13:28
gamm
Jasen писал(а):
12 июл 2018, 12:29
Пробую WHITEBOX.
рельеф нужно предварительно обработать - "прожечь" артефакты, это breaching. Никаких fill depression делать не надо без острой необходимости

параметры по умолчанию работают удовлетворительно, но стоит поэкспериментировать.