Arc Hydro Tools

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Arc Hydro Tools

Сообщение dime1 » 26 сен 2012, 13:04

https://mft.esri.com
Login: ADSRiverHydraulics
Password: ADSRiver.2014b

Хочется получить гидрологическую сеть из DEM, но у меня появились сомнения, так как мне сказали, что я делаю что-то неправильно, раз получаю такие значения.
Использую Spatial Analyst Hydrology tool, алгоритм действий: Fill--FlowDirection--FlowAccumulation--Log10 из Flow Accumulation Raster.
Причина в том, что на растре flow accumulation, а еще более, на растре log10 по всему снимку появляются нулевые значения, которые немного мешают визуальном восприятию карты и определению treshold для отсеивания истинных ручьев. Как я понимаю, нулевые значения - это просто локальные высоты микрорельефа из которых вода стекает в соседние пиксели.
Вопрос: насколько адекватным будет просто переназначит для растра flow accumulation значения из 0 в 1, а потом из 1 в 2? Чтоб log10 из этого слоя не имел нулевых значений?

Исходной DEM служит SRTM HydroSHEDS, последнее предложение из технического описания которого я не совсем понимаю:

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

The hydrologically conditioned elevation layers distributed with HydroSHEDS are the result of an iterative conditioning and correction process described in detail in section 3. For the specifics of the underlying digital elevation model see 5.1. Note that the conditioning process alters the original DEM and may render it incorrect for applications other than deriving drainage directions. Endorheic basins (inland sinks) are “seeded” with a no-data cell at their 
lowest point in order to terminate the flow.
P.S.: и по моему к этому растру можно не применять функцию fill, так как он уже void-filled...
Последний раз редактировалось dime1 16 сен 2014, 16:07, всего редактировалось 9 раз.

Журавлёв
Интересующийся
Сообщения: 33
Зарегистрирован: 21 янв 2009, 23:07
Репутация: 2
Откуда: Санкт-Петербург
Контактная информация:

Re: Flow Accumulation zero values (0, нулевые значения)

Сообщение Журавлёв » 26 сен 2012, 13:27

Да, нулевые значения появляются, но я на них никогда не обращал внимания - они же не мешаются, как они могут мешать заданию порогового значения? Если выглядит не очень симпатично, можно поставить nodata на нуль. Также командой log10 не пользовался ни при работе встроенными инструментами, ни при работе в ArcHydro, синтетическая гидрографическая сеть получается и без этой команды...

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Flow Accumulation zero values (0, нулевые значения)

Сообщение dime1 » 26 сен 2012, 13:41

просто я, чтоб чётко задать threshold, под растр (который делаю полупрозрачным) подкладываю снимок landsat. log10 мне нужен, так как у меня разброс минимальных и максимальных значений по растру слишком большой, потому увидеть мелкие ручейки нельзя, даже если подкручивать гистограмму.

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

Re: Flow Accumulation zero values (0, нулевые значения)

Сообщение Александр Мурый » 26 сен 2012, 13:55

dime1 писал(а):Исходной DEM служит SRTM HydroSHEDS, последнее предложение из технического описания которого я не совсем понимаю:

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

Endorheic basins (inland sinks) are “seeded” with a no-data cell at their 
lowest point in order to terminate the flow.
Как-то так: "в бессточных бассейнах (с внутренним стоком) создавалась "нулевая" ячейка в их самой нижней точке для того, чтобы остановить поток".
Редактор материалов, модератор форума

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Flow Accumulation zero values (0, нулевые значения)

Сообщение dime1 » 26 сен 2012, 14:17

Ага, спасибо, теперь становиться яснее. Т.е. это их алгоритм обработки растра, благодаря которому они не дают потоку попадать в бессточные области, а заставляют его обходить эти области. Тогда применение операции fill будет губительным для всей их затеи.
Но фишка в том, что в их растре нет значений no data...Прилагаю исходный растр (13 Мб)

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

https://www.dropbox.com/s/vvwp0idg0jmrbz1/n50e030_con.rar

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Flow Accumulation zero values (0, нулевые значения)

Сообщение dime1 » 05 окт 2012, 15:06

У меня основная цель - высчитать бассейн речки и визуализировать речную сеть. В свободном доступе таких шейпов не нашел, лишь уровня 15arc, но мне надо более мелкий.
У меня в flowaccumulation raster значения были от 0,3 до 7,47. Я задал threshold в 3 и получил 40 тыс segmentation streams (как-бы приток разного порядка), соответственно получил 40 тыс. бассейнов, и вот как-бы не знаю, что со всем этим добром делать :shock:
Как мне выделить бассейн своей речки и суббасейны основных её приток? Я думаю, может рассчитать всё это с большим порогом (около 6) и тогда попробовать выделить бассейны, а потом сделать что-то типа синтеза.
Сейчас всё это дело выглядит так, а (Drainage Basin) - это "на глаз" нарисованный бассейн с высокой погрешностью
Вложения
Drainage basin.png
Drainage basin.png (509.82 КБ) 8605 просмотров
Последний раз редактировалось dime1 30 ноя 2012, 12:01, всего редактировалось 1 раз.

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

Re: Arc Hydro Tools

Сообщение Александр Мурый » 07 окт 2012, 22:32

Небольшой оффтоп.
Давно хотел повозиться с равнинными реками (в основном имею дело с горными). Запихнул кусок рельефа HydroSHEDS на территорию бассейна Десны в GRASS и поупражнялся. Результат на картинке ниже; инструкция, как это было проделано, будет постепенно писаться здесь.
Desna_basin_res.png
Desna_basin_res.png (285.98 КБ) 9099 просмотров
Возвращаясь к Arc Hydro Tools:
-- dime1, надо явно огрублять порог для "гидроинструментов";
-- интересно, а почему алгоритм именно такой?
Fill--FlowDirection--FlowAccumulation--Log10 из Flow Accumulation Raster
P.S. Могу поделиться бассейнами Десны в растре/векторе, если нужны.
Редактор материалов, модератор форума

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Arc Hydro Tools

Сообщение dime1 » 08 окт 2012, 10:19

Сначала по алгоритму, за основу принял вот это видео - http://www.youtube.com/watch?annotation ... _ywgTK2efg , потом бегло просмотрел http://www.udel.edu/johnmack/frec480/arc_watershed/ (это по поводу логарифма из flowacc, так как диапазон значений у меня был очень широкий), а пока это всё искал, так вообще увидел модель для ModelBuilder для автоматизации процесса, и очень заинтересовался в этом разобраться -http://www.gwri.gatech.edu/uploads/proc ... raemer.pdf
По трешхолду, да, тоже пришел к этому выводу, но тут как бы хочется и максимально детальную гидросеть получить и адекватное количество бассейнов на выходе. Потому принято решение для бассейнов ставить довольно высокий порог, а для определения рек максимально низкий. Возможно это неправильно, и есть какие-то функции в самом ArcHydro, как вот "кнопка объединения микроводосборов в крупные", но я еще только осваиваю это.
Я пытаюсь подобрать такой порог для рек, чтоб они совпадали с Topographic basemap для Arcgis и были различимы на моей мозаике Landsat, но в таком случае появляется много рек ведущих в никуда.
Так что за статьей буду внимательно следить :arrow:
Последний раз редактировалось dime1 30 ноя 2012, 12:02, всего редактировалось 1 раз.

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

Re: Arc Hydro Tools

Сообщение Александр Мурый » 08 окт 2012, 11:07

dime1 писал(а):и максимально детальную гидросеть получить и адекватное количество бассейнов на выходе.
Мне кажется, это две _разные_ задачи и для них наборы параметров должны быть разные. Автоматизировать это всё вместе сложно и вряд ли получится, там по-любому будет приличное количество "ручной" работы.

Вот границы бассейна Десны и бассейны основных притоков в SHP:
desna_basin_shp.zip
(283.96 КБ) 241 скачивание
Редактор материалов, модератор форума

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Arc Hydro Tools

Сообщение dime1 » 08 окт 2012, 21:51

amuriy, насколько ниже\выше точность самостоятельно полученной гидросети в сравнении с доступными векторными данными? Мне вот очень нравиться базовая карта ArcGIS Topographic (по ощущением, там порог был задан около 2-х! (я имею ввиду 2-х в растре log10flowacc, у которого от 0,33 до 7,4 значения)), жалко данные их только в визуальном виде доступны. Если я задам такое значение, то получу около 65 тысяч бассейнов...
Т.е. вы считаете, что глупо гнаться за максимальной точностью получения гидросети с последующим укрупнением её бассейнов, удаление неправильных векторов рек и подписыванием названий? Овчинка выделки не стоит, получается.

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

Re: Arc Hydro Tools

Сообщение Александр Мурый » 08 окт 2012, 22:49

dime1 писал(а):amuriy, насколько ниже\выше точность самостоятельно полученной гидросети в сравнении с доступными векторными данными?

Я не могу отвечать за все доступные кому-то векторные данные. :) Надо пробовать VMap0, OSM, CCM2 (кстати, интересные данные по рекам Европы).
dime1 писал(а): Мне вот очень нравиться базовая карта ArcGIS Topographic (по ощущением, там порог был задан около 2-х! (я имею ввиду 2-х в растре log10flowacc, у которого от 0,33 до 7,4 значения)), жалко данные их только в визуальном виде доступны. Если я задам такое значение, то получу около 65 тысяч бассейнов...
Я вот не уверен, что речная сеть ArcGIS Topographic считалась по SRTM, я не нашёл указанного источника данных.
dime1 писал(а): Т.е. вы считаете, что глупо гнаться за максимальной точностью получения гидросети с последующим укрупнением её бассейнов, удаление неправильных векторов рек и подписыванием названий? Овчинка выделки не стоит, получается.
Процитирую сами-знаете-кого: "мухи отдельно — котлеты отдельно". Т.е., ИМХО, имеем две отдельные цели: речную сеть выделяем подробно, бассейны гораздо более грубо. Не обязательно работать на одном и том же масштабе... С укрупнениями бассейнов и т.п. работой проще по привязанной топокарте обвести, чем использовать ЦМР :)
Редактор материалов, модератор форума

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

Re: Arc Hydro Tools

Сообщение Александр Мурый » 08 окт 2012, 22:58

Мне кажется, подробность выделенных по HydroSHEDS водотоков (с соответствующим порогом) будет подробней любого из перечисленных выше источников. Для примера снизу прикреплены водотоки, сделанные в GRASS (с порогами минимальных бассейнов в 2000 и 5000 ячеек). Вектора "сырые", не упрощались и не сглаживались.
Вложения
dem_streams_5000_main.zip
(57.15 КБ) 250 скачиваний
dem_streams_2000_main.zip
(517.29 КБ) 215 скачиваний
Редактор материалов, модератор форума

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Arc Hydro Tools

Сообщение dime1 » 09 окт 2012, 10:59

amuriy писал(а):Я вот не уверен, что речная сеть ArcGIS Topographic считалась по SRTM, я не нашёл указанного источника данных.
Вот их контрибуторы) - http://help.arcgis.com/en/communitymaps ... butors.pdf
В любом случае, подкоплю чуть опыта, потом внесу конструктива в то, как лучше использовать весь доступный инструментарий :mrgreen: или хотя бы подискутируем :idea:

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

Re: Arc Hydro Tools

Сообщение dime1 » 09 окт 2012, 18:59

Я чуть уменьшил порог, чтоб части речек другого бассейна не заходили на территорию этого.
А как теперь правильно соединить (генерализировать) и назвать 9000 сегментов рек?
P.S. в первый пост добавил документацию по ArcHydro 2.0 (на том ftp можно найти и саму программу для разных версий ArcGis), которая, как мне кажется не отличается особой интуитивной понятностью, в отличии от других документаций к продуктам ArcGIS.
Последний раз редактировалось dime1 30 ноя 2012, 12:02, всего редактировалось 1 раз.

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

Re: Arc Hydro Tools

Сообщение Александр Мурый » 09 окт 2012, 21:13

dime1 писал(а):Я чуть уменьшил порог, чтоб части речек другого бассейна не заходили на территорию этого.
Для этого ещё можно задавать растровую маску бассейна (если есть его контур) и выделять речную сеть в пределах конкретного бассейна.
dime1 писал(а): А как теперь правильно соединить (генерализировать) и назвать 9000 сегментов рек?
Автоматически? :)
В не особо разбираюсь, но мне кажется, здесь можно использовать имеющиеся данные о координатах истоков и устьев основных рек бассейна. На той же Википедии есть координаты истока и устья Десны.
Далее нужно использовать хитрость. :) Например, можно попробовать сетевой анализ и рассчитать по речной сети кратчайшее расстояние от истока до устья, применяя инструменты, доступные в той или иной ГИС.
Редактор материалов, модератор форума

Ответить

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

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

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