Переклассифицируйте растр на основе другого растра в R

У меня 2 растра:

library ('raster')
r1=raster(matrix(1:4,nrow=2))
r2=raster(matrix(runif(16),nrow=4))

Я хочу переклассифицировать все значения во втором растре, которые имеют значение == 1 в первом растре. Спасибо!


person Geo-sp    schedule 03.08.2015    source источник
comment
Сделайте свой код воспроизводимым, добавив, какой пакет требуется для предоставления функции raster.   -  person SabDeM    schedule 04.08.2015


Ответы (1)


Есть несколько способов добиться этого. Например

library(raster)
r1 <- raster(matrix(1:4, nrow=4, ncol=4))
r2 <- raster(matrix(runif(16),nrow=4))
x <- overlay(r1, r2, fun=function(x,y){ y[x==1] <- 0; y})

Вместо оверлея можно использовать calc(stack(r1, r2)). Вы также можете использовать комбинацию reclassify и cover

person Robert Hijmans    schedule 20.09.2015