Как работает raster::mask с набором растров?

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Аватара пользователя
rhot
Гуру
Сообщения: 1550
Зарегистрирован: 25 янв 2011, 17:50
Статьи: 1
Репутация: 115
Ваше звание: доктор
Откуда: Архангельск

Как работает raster::mask с набором растров?

Сообщение rhot » 06 ноя 2017, 13:59

Есть набор растров Sentinel (10 штук). Необходимо обрезать его другим набором растров (5 штук). Функция raster::mask (4 method for signature 'RasterStackBrick,RasterStackBrick') на выходе дает набор растров. Проблема в том, что некоторые значения каналов обнулились на NA.

Почему так происходит?

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

 class b.1 b.2 b.3  b.4  b.5 b.6 b.7  b.8  b.9 b.10
1 impediment 165 298 234 1746  920 463 477 1275 1508 1684
2 impediment  57  NA  NA 1826  820 394  NA   NA 1639 1904
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

gamm
Гуру
Сообщения: 2552
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 523
Ваше звание: программист
Откуда: Казань

Re: Как работает raster::mask с набором растров?

Сообщение gamm » 06 ноя 2017, 17:42

rhot писал(а):
06 ноя 2017, 13:59
Функция raster::mask (4 method for signature 'RasterStackBrick,RasterStackBrick') на выходе дает набор растров.
Create a new Raster* object that has the same values as x, except for the cells that are NA (or other maskvalue) in a 'mask'. These cells become NA (or other updatevalue). The mask can be either another Raster* object of the same extent and resolution, or a Spatial* object (e.g. SpatialPolygons) in which case all cells that are not covered by the Spatial object are set to updatevalue. You can use inverse=TRUE to set the cells that are not NA (or other maskvalue) in the mask, or not covered by the Spatial* object, to NA (or other updatvalue).
не очень понятно, почему у вас пачка растров в маске, а не один. В остальном, все как просили - операция превращает в NA то, что просили замаскировать, ничего не обрезается. При этом растры и маска (маски) должны быть одинаковые по размерам.

P.S. Лучше саму команду приводить, и str() от объектов (все под спойлер, там много :D )

Ответить

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