Моделирование речной сети и бассейнов

0 голосов
спросил 21 Сен, 12 от rrr123rrr (500 баллов) в категории Программные продукты Esri
Нужна помощь в построении речных бассейнов. Имеется ЦМР (SRTM, 5x5 град). Использую Spatial Analyst - гидрология и придерживаюсь такой последовательности (в соответствии с описанием аналогичной задачи в нескольких статьях):
1. Заполняю некорректные понижения - функция Fill;
2. Определяются направления стока - FlowDirection;
3. Рассчитываю кумулятивный сток (используя предыдущий растр направлений стока)- FlowAccumulation;

Потом, как я понимаю, необходимо выделить водотоки с определенным значением кумулятивного стока (чтобы отбросить наиболее мелкие водотоки) - "идентифицировать ячейки водотоков, т.е.
выделить ячейки со значением кумулятивного
стока выше значения, заданного пользователем"

Как это сделать? Пробовала функцию Con (Spatial Analyst - условия), но не совсем понятно как задать диапазон значений кумулятивного стока и что требует обязательное поле "Входной растр значения "истина или константа".

Помогите, пожалуйста, разобраться.

5 Ответы

0 голосов
ответил 01 Окт, 12 от Grigoriy (127,020 баллов)
Вы определитесь для начала, что Вам нужно получить на выходе?
После FlowAccumulation самое естественное действие - получить собсвенно саму сеть водостоков в растровом , а лучше в векторном виде.
Вы можете просто поиграть с классификацией растра (способами раскраски) после FlowAccumulation в ArcMap. Чтобы понять, что содержат ячейки этого растра. Задача - найти пороговое значение, после которого ячейка может считаться "потоком". Вот если Вы это значение потом вставите в выражение "Con is newraster = con(растр_FlowAccumulation > Ваше_значение, 1)", то на выходе Вы получите бинарный растр, у которого ячейки с "потоком" будут равны 1. Его уже очень просто сконвертировать в линейный вектор.
Stream Order может пронумеровать потоки. Но ему на вход нужно подать растр, в котором будут указаны "устья" потоков и сам растр с потоками. Тогда он сможет "протрассировать" поток "вверх" и "пронумеровать" его.
0 голосов
ответил 05 Дек, 12 от rrr123rrr (500 баллов)
Спасибо.
На выходе, естественно, получить речную сеть.
С пороговыми значениями тоже пока все понятно. Не ясно, каким инструментом отделить эту самую сеть от других ячеек. Калькулятор растра и функция con то ошибку в синтаксисе выражения выдают, то не могут открыть грид с кумулятивным стоком.
Не могли бы Вы подробнее описАть процесс получения бинарного растра из имеющегося грида кумулятивного стока. Или подскажите, где почитать...
0 голосов
ответил 05 Дек, 12 от lenik1 (960 баллов)
Открываете инструмент Инструменты Spatial Analyst - Условия (Conditional) - Условие (Con)

В поле Входной растр, удовлетворяющий условиям указываете свой грид аккумуляции стока полученный инструментом Суммарный сток (Flow Accumulation)
В поле Выражение пишите "VALUE" > 1000   (ну или 5000 или 10000, сколько подходит)
В поле Входной растр значения "истина" или константа пишете 1
В поле Выходной растр указываете место сохранения и название выходного целочисленного грида водотоков, который будет содержать значение 1 для ячеек с суммарным стоком больше 1000, и значение NoData для всех остальных

Эту операцию можно выполнить также инструментом Калькулятор растра (Raster Calculator) с помощью выражения Con("ваш грид суммарного стока" > 1000, 1), а  также инструментом Переклассификация (Reclassify) и другими способами.

Далее полученный грид используем как входной растр водотоков для инструмента Порядок водотоков (Stream Order), после чего с помощью инструмента Водоток в пространственный объект (Stream to Feature) конвертируем в векторный формат.



0 голосов
ответил 07 Дек, 12 от rrr123rrr (500 баллов)
Спасибо большое. Но функция Con выдает ошибку:

ERROR 010316: Unable to open the input grid: D:48AF~12012~1GEOGRA~1MAPSABE0~1SRTM_4~1SRTM1ACCUM
ERROR 010067: Error in executing grid expression.
Не удалось выполнить (Con).

У меня версия 9.3 - это может быть причиной. А в калькуляторе растра Соn отсутствует

Переклассифицировать тоже не удалось:

Error 010327: Unable to set analysis window
Error 010067: Error in exrcuting grid expression

Это у меня грид кривой или версия аркмапа?

Помогите, пожалуйста...
    
0 голосов
ответил 07 Дек, 12 от lenik1 (960 баллов)
010316 : Невозможно открыть входной грид

Описание
Не удается открыть указанный грид. Это может происходить из-за некорректно указанного пути к гриду или из-за отсутствия прав доступа к нему. Если с путем и правами доступа все в порядке, следующей возможной причиной ошибки может быть пропуск обязательных файлов компонентов в папке грида. Дополнительные сведения о структуре данных см. в документации по формату грида Esri. Если присутствуют все из обязательных компонентов, также возможно, что файлы, содержащие двоичные растровые данные (файлы w00n и w00nx), внутренне повреждены.

Решение
Проверьте, что грид существует и вы корректно определили его. Также необходимо проверить корректность прав доступа к этому местоположению. Если вы сделали все, но проблема все еще существует, определите, является ли грид корректным. Сначала попробуйте отобразить его. Если он не отображается, проверьте, что присутствуют все обязательные компоненты файлов в папке грида. В директории грида нет файла sta.adf. Попробуйте создать его с помощью инструмента Вычислить статистику. Если вам кажется, что файлы данных повреждены, заново создайте грид. Сделайте резервную копию, которая будет использоваться, или запустите процесс, который создаст ее.


Попробуйте пройти всю цепочку сначала, при этом сохраняя все в папку к которой у вас гарантированно есть доступ, избегайте в названиях гридов (и путях к ним) пробелов, русских букв и прочих экзотических символов.

Кроме того, во избежание неувязок с размерами ячеек грида, во фрейме данных лучше установить такую же систему координат что и исходный грид (в случае с данными SRTM это будет CGS_WGS_1984)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...