Как в GRASS маскировать определенные слои?

Ответить
Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Как в GRASS маскировать определенные слои?

Сообщение gimran » 01 мар 2013, 09:36

Здравствуйте!

В один проект загрузил несколько космоснимков, рассчитал 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 маскировать определенные слои?

Сообщение gimran » 01 мар 2013, 10:04

Сам написал — сам ответил.
В описанном выше случае нужно использовать команду r.mapcalc.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Как в GRASS маскировать определенные слои?

Сообщение gimran » 01 мар 2013, 10:22

Указано:
# Более сложная операция для создания маски,
# назначить маску только значениям 1 и 3:
r.mapcalc "MASK=if(map==1 || map==3,null(),map)"

а как применить данную маску только к определенному слою?

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

Re: Как в GRASS маскировать определенные слои?

Сообщение Александр Мурый » 01 мар 2013, 10:24

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 » 01 мар 2013, 10:46

спасибо за совет

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Как в GRASS маскировать определенные слои?

Сообщение gimran » 01 мар 2013, 12:44

Вопрос закрыт. Спасибо, мешало почему-то:

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

g.region rast=toar_A

Ответить

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

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

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