Как в GRASS маскировать определенные слои?
- gimran
- Гуру
- Сообщения: 1902
- Зарегистрирован: 07 июл 2010, 15:43
- Репутация: 242
- Откуда: Уфа
Как в GRASS маскировать определенные слои?
Здравствуйте!
В один проект загрузил несколько космоснимков, рассчитал toar и acca.
Предположим, у меня есть снимки A и B, и, соответственно, toar_A и toar_B, acca_A и acca_B.
Задача: отсечь (вычесть) из A облака по маске acca_A, отсечь (вычесть) из B облака по маске acca_B. A и B в одном проекте. Будь они в разных — r.mask с remove'ом бы сделал, но в моём случае acca_A с r.mask повредит B.
Подскажите, какую команду необходимо использовать в моём случае.
Заранее спасибо.
PS Перепутал ветку форума, просьба модератора/администратора перенести в ветку GRASS.
В один проект загрузил несколько космоснимков, рассчитал toar и acca.
Предположим, у меня есть снимки A и B, и, соответственно, toar_A и toar_B, acca_A и acca_B.
Задача: отсечь (вычесть) из A облака по маске acca_A, отсечь (вычесть) из B облака по маске acca_B. A и B в одном проекте. Будь они в разных — r.mask с remove'ом бы сделал, но в моём случае acca_A с r.mask повредит B.
Подскажите, какую команду необходимо использовать в моём случае.
Заранее спасибо.
PS Перепутал ветку форума, просьба модератора/администратора перенести в ветку GRASS.
- gimran
- Гуру
- Сообщения: 1902
- Зарегистрирован: 07 июл 2010, 15:43
- Репутация: 242
- Откуда: Уфа
Re: Как в GRASS маскировать определенные слои?
Сам написал — сам ответил.
В описанном выше случае нужно использовать команду r.mapcalc.
В описанном выше случае нужно использовать команду r.mapcalc.
- gimran
- Гуру
- Сообщения: 1902
- Зарегистрирован: 07 июл 2010, 15:43
- Репутация: 242
- Откуда: Уфа
Re: Как в GRASS маскировать определенные слои?
Указано:
# Более сложная операция для создания маски,
# назначить маску только значениям 1 и 3:
r.mapcalc "MASK=if(map==1 || map==3,null(),map)"
а как применить данную маску только к определенному слою?
# Более сложная операция для создания маски,
# назначить маску только значениям 1 и 3:
r.mapcalc "MASK=if(map==1 || map==3,null(),map)"
а как применить данную маску только к определенному слою?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как в GRASS маскировать определенные слои?
Да, примерно так:gimran писал(а): В описанном выше случае нужно использовать команду r.mapcalc.
Код: Выделить всё
g.region rast=toar_A
r.mapcalc 'toar_A.masked = if(isnull(acca_A),toar_A,null())'
g.region rast=toar_B
r.mapcalc 'toar_B.masked = if(isnull(acca_B),toar_B,null())'
Редактор материалов, модератор форума
- gimran
- Гуру
- Сообщения: 1902
- Зарегистрирован: 07 июл 2010, 15:43
- Репутация: 242
- Откуда: Уфа
Re: Как в GRASS маскировать определенные слои?
спасибо за совет
- gimran
- Гуру
- Сообщения: 1902
- Зарегистрирован: 07 июл 2010, 15:43
- Репутация: 242
- Откуда: Уфа
Re: Как в GRASS маскировать определенные слои?
Вопрос закрыт. Спасибо, мешало почему-то:
Код: Выделить всё
g.region rast=toar_A
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей