MASK из растра типа DCELL

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

MASK из растра типа DCELL

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

Имеется растр типа DCELL
(Range of data: min = -0.00385234399960596 max = 0.489146310476284)

Известно, что r.mask читает целочисленные значения для создания маски, а если растр всё-таки типа DCELL, то значения пересчитываются в целочисленные.

Так вот, маска почему-то не работает, т.е. растр MASK в текущем наборе создаётся, а действие маски не видно. Хотя если создаю маску из растра типа CELL, всё прекрасно получается.

В чём может быть проблема?

P.S.: единственное что я считаю странным, так это небольшая разница в результатах классификации (при просмотре растра MASK через r.info):
в нормальной маске

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

 |                                                                            |
 |         Category        Original categories                                |
 |                                                                            |
 |          1              1                                                  |
 +----------------------------------------------------------------------------+
в проблемной маске

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

 |                                                                            |
 |         Category        Original categories                                |
 |                                                                            |
 |          1              0                                                  |
 +----------------------------------------------------------------------------+
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: MASK из растра типа DCELL

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

решил проблему перекодированием растра в тип CELL

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

r.recode -a input=borders output=rec_borders rules=rul --v
r.mask input=rec_borders maskcats=1 --v
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: MASK из растра типа DCELL

Сообщение Александр Мурый » 01 июн 2012, 09:15

Исходно маска задаётся как -- просто по всему растру? Можно с помощью <r.mapcalc> сделать растр с одной категорией по границам исходного растра и задать по нему маску.
Редактор материалов, модератор форума

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

Re: MASK из растра типа DCELL

Сообщение rhot » 01 июн 2012, 09:59

Да, просто по всему растру. Какая команда будет для r.mapcalc?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: MASK из растра типа DCELL

Сообщение KolesovDmitry » 01 июн 2012, 16:51

rhot писал(а):Да, просто по всему растру. Какая команда будет для r.mapcalc?
Что-то вроде r.mapcalc "MASK = (rast == 0.25)"

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

Re: MASK из растра типа DCELL

Сообщение rhot » 01 июн 2012, 16:53

Спасибо!
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Ответить

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

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

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