Tenho um raster para o qual quero alterar os valores para pixel-value per hectar, onde a área vem do tamanho do pixel. Então, se um pixel tem 10 ha e seu valor atual é 100 abitrary-units, agora será 10 abitrary-units/ha.
Exemplo raster:
r <- rast(nrows=18, ncols=36)
v <- 1:ncell(r)
v[200:400] <- NA
values(r) <- v
Esta função deve pegar o raster e multiplicar por 1/ha.
px2ha <- function(raster) {
raster * 10000/prod(res(raster))
}
Que tal usar cellSize assim?
r2/cellSize(r2, unit = 'ha')
Não recebo a mesma resposta.
r2 = project(x = r, y = 'epsg:2950') # Put raster in meters
plot((r2))
plot(px2ha(r2))
plot(r2/cellSize(r2, unit = 'ha'))
O cellSize poderia ser usado para obter o valor de pixel por área (hectar)?