Maksymalna wartość komórki ze stosu rastrowego


9

Jak znaleźć maksymalną wartość komórki ze stosu rastrowego.

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

działa dobrze, ale

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

daje NA.

Oczywiście nie w ustawionym w stos rastrze.

Oto mój kod:

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)

Szukasz maksimum wszystkich warstw lub maksimum każdej warstwy? W każdym razie nie używasz maxValueprawidłowego sposobu. Według strony pomocy lepiej użyć dodatkowego argumentu... Additional argument: layer number (for RasterStack or RasterBrick objects)

Szukam maksimum wszystkich warstw, aby mieć taką samą skalę jak my.at <- seq (0, maksymalna wartość komórki wszystkich warstw, przyrost). Dzięki, Nahm
Nahm

Mam go z 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

Odpowiedzi:


9

Poniższy przykład pokazuje dwa sposoby uzyskania maksymalnej wartości rastra na stosie. Pierwszy wykorzystuje, max()który daje również wiele innych przydatnych informacji. Druga metoda wykorzystuje maxValue(), która daje tylko maksymalną wartość obu rastrów w stosie

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)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.