Страница 1 из 1

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

Добавлено: 31 май 2012, 09:48
rhot
Имеется растр типа 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                                                  |
 +----------------------------------------------------------------------------+

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

Добавлено: 31 май 2012, 10:45
rhot
решил проблему перекодированием растра в тип CELL

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

r.recode -a input=borders output=rec_borders rules=rul --v
r.mask input=rec_borders maskcats=1 --v

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

Добавлено: 01 июн 2012, 09:15
Александр Мурый
Исходно маска задаётся как -- просто по всему растру? Можно с помощью <r.mapcalc> сделать растр с одной категорией по границам исходного растра и задать по нему маску.

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

Добавлено: 01 июн 2012, 09:59
rhot
Да, просто по всему растру. Какая команда будет для r.mapcalc?

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

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

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

Добавлено: 01 июн 2012, 16:53
rhot
Спасибо!