Valore massimo della cella da un raster in pila


9

Come posso trovare un valore di cella massimo da un raster in pila.

Rmax <- maxValue(RAD1998.all[[1]]) 

funziona bene ma

Rmax <- maxValue(RAD1998.all[[2]]) 

dà NA.

Ovviamente non in un raster in pila.

Ecco il mio codice:

RAD1998 <- raster(paste(getwd(), "/1998bil/1998ASC5min_ppt_spas1214_0001_19980202_0810_UTC.asc.bil", sep = ""))
list.ras <- mixedsort(list.files(paste(getwd(), "/1998bil/", sep = ""), full.names = T, pattern = ".asc.bil")) 
RAD1998.all <- stack(list.ras)

Stai cercando il massimo di tutti i livelli o il massimo di ogni livello? Ad ogni modo, non stai usando maxValueil modo corretto. Secondo la pagina di aiuto, è meglio utilizzare l'argomento aggiuntivo... Additional argument: layer number (for RasterStack or RasterBrick objects)

Sto cercando che il massimo di tutti i layer abbia la stessa scala di my.at <- seq (0, valore massimo della cella di tutti i layer, incremento). Grazie, Nahm
Nahm,

Ho capito con cellStats # geostat-course.org/system/files/lewis_tutorAM.pdf Rad1998.max <- cellStats (RAD1998.all, 'max') Rad1998.all.max <- max (Rad1998.max) Rad1998.all .max
Nahm,

Risposte:


9

L'esempio seguente mostra due modi per ottenere il valore raster massimo in uno stack. Il primo utilizza max()che ti dà anche una miriade di altre informazioni utili. Utilizza il secondo metodo maxValue(), che fornisce solo il valore massimo di entrambi i raster nello stack

library(raster)  

# Generate some georeferenced raster data
x = matrix(rnorm(400),20,20)
rast = raster(x)
extent(rast) = c(36,37,-3,-2)
projection(rast) = CRS("+proj=longlat +datum=WGS84")

y = matrix(rnorm(400),20,20)
rast2 = raster(y)
extent(rast2) = c(36,37,-3,-2)
projection(rast2) = CRS("+proj=longlat +datum=WGS84")

raster = stack(rast, rast2)

# Now run the statistics
max(raster) # Provides min, max and additional details  # Example 1

maxValue(raster)  # Gives both values                   # Example 2...
maxValue(raster)[[1]] # Gives first in stack max value
maxValue(raster)[[2]] # Gives second in stack max value

> maxValue(raster)  # Gives both values
[1] 2.688376 2.971443
> maxValue(raster)[[1]] # Gives first in stack max value
[1] 2.688376
> maxValue(raster)[[2]] # Gives second in stack max value
[1] 2.971443
> 
> max(raster) # Provides min, max and additional details
class       : RasterLayer 
dimensions  : 20, 20, 400  (nrow, ncol, ncell)
resolution  : 0.05, 0.05  (x, y)
extent      : 36, 37, -3, -2  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       : layer 
values      : -1.457908, 2.971443  (min, max)

0

max(MaxValue(raster)) fornirà il valore massimo di tutti i raster nello stack.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.