Maximaler Zellenwert aus einem gestapelten Raster

9

Wie finde ich einen maximalen Zellenwert aus einem gestapelten Raster?

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

funktioniert aber gut

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

gibt NA.

Natürlich nicht in einem gestapelten Raster.

Hier ist mein Code:

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)
Nahm
quelle
Suchen Sie das Maximum aller Ebenen oder das Maximum jeder Ebene? Auf jeden maxValueFall verwenden Sie nicht den richtigen Weg. Laut der ... Additional argument: layer number (for RasterStack or RasterBrick objects)
Ich suche nach dem Maximum aller Ebenen, um die gleiche Skalierung wie my.at <- seq zu haben (0, maximaler Zellenwert aller Ebenen, Inkrement). Danke, Nahm
Nahm
Ich habe es mit cellStats # geostat-course.org/system/files/lewis_tutorAM.pdf Rad1998.max <- cellStats (RAD1998.all, 'max') Rad1998.all.max <- max (Rad1998.max) Rad1998.all erhalten .max
Nahm

Antworten:

9

Das folgende Beispiel zeigt zwei Möglichkeiten, um den maximalen Rasterwert in einem Stapel zu erreichen. Die erste Verwendung, max()die Ihnen auch eine Vielzahl anderer nützlicher Informationen gibt. Bei der zweiten Methode wird maxValue()nur der Maximalwert der beiden Raster im Stapel angegeben

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)
Aaron
quelle
0

max(MaxValue(raster)) liefert den Maximalwert aller Raster im Stapel.

Umaomamaomao
quelle