Калькулятор r.mapcalc

Ответить
Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Калькулятор r.mapcalc

Сообщение rhot » 04 май 2012, 14:40

Есть растровые слой границ и слой облаков. Нужно из слоя границ вычесть слой облаков, получив "продырявленный облаками" растр слоя с границами.
Пробовал вычитать через r.mapcalc но на выходе получаю не растр с границами, а растр облаков, расположенных внутри слоя границ.

Использованная команда:

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

r.mapcalc 'new=borders@PERMANENT-acca@20110822'
Что я делаю не так?
Последний раз редактировалось rhot 04 май 2012, 16:02, всего редактировалось 1 раз.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: Калькулятор r.mapcalc

Сообщение Александр Мурый » 04 май 2012, 14:51

--
Последний раз редактировалось Александр Мурый 04 май 2012, 15:51, всего редактировалось 1 раз.
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Калькулятор r.mapcalc

Сообщение rhot » 04 май 2012, 15:12

Не получается =(
Команда №3 не совсем понятна: borders.acca@20110822 - это название нового растра?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: Калькулятор r.mapcalc

Сообщение Александр Мурый » 04 май 2012, 15:34

rhot писал(а): Команда №3 не совсем понятна: borders.acca@20110822 - это название нового растра?
Да. Просто я ж не знаю имя набора.. Можно так:

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

r.mapcalc 'borders.acca = borders@PERMANENT'
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Калькулятор r.mapcalc

Сообщение rhot » 04 май 2012, 15:40

Пробовал - не получается. В чём принцип-то? Когда маскуем район облаками, мы никак не получим растр границ, а ведь расчёт ведётся внутри границ облаков.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: Калькулятор r.mapcalc

Сообщение Александр Мурый » 04 май 2012, 15:42

Каюсь, выше были плохие советы.

А если попробовать так:

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

r.mapcalc 'borders.acca = if(acca@20110822,borders@PERMANENT,null())'
?
Последний раз редактировалось Александр Мурый 04 май 2012, 15:52, всего редактировалось 1 раз.
Редактор материалов, модератор форума

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

Re: Калькулятор r.mapcalc

Сообщение Александр Мурый » 04 май 2012, 15:50

Опять мимо ..

Теперь проверил на пробных растрах -- вроде бы, работает:

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

r.mapcalc 'borders.acca = if(isnull(acca@20110822),borders@PERMANENT,null())'
Делать никакие маски перед этой командой не надо! Просто задать регион по растрам.

Все ранние косяки я сотру, чтоб не путаться :oops:
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Калькулятор r.mapcalc

Сообщение rhot » 04 май 2012, 16:01

amuriy, щас нормально, создаёт растр со значениями 0,1 где 0 для облаков, а 1 всё остальное.
Спасибо :)
Делать никакие маски перед этой командой не надо!
Делать маску надо - маску по слою границ, если не делать облака вылезают за пределы слоя границ.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: Калькулятор r.mapcalc

Сообщение Александр Мурый » 04 май 2012, 16:22

rhot писал(а):создаёт растр со значениями 0,1 где 0 для облаков, а 1 всё остальное.
Я запутался -- так где слой границ, а где и слой облаков? Я посчитал в примере, что acca@20110822 -- облака, а borders@PERMANENT -- растр границ, из которого надо вырезать облака.. :) Если наоборот, то в выражении <r.mapcalc> надо поменять растры местами.
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Калькулятор r.mapcalc

Сообщение rhot » 04 май 2012, 17:31

всё верно, acca@20110822 -- облака, а borders@PERMANENT -- растр границ, из которого надо вырезать облака
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Ответить

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

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

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