Максимальное значение ячейки из сложенного растра

9

Как я могу найти максимальное значение ячейки из сложенного растра.

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

работает нормально но

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

дает Н.А.

Конечно, не в сложенном растре.

Вот мой код:

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)
Нама
источник
Вы ищете максимум всех слоев или максимум каждого слоя? Во всяком случае, вы не используете maxValueправильный путь. Согласно странице справки, вам лучше использовать дополнительный аргумент... Additional argument: layer number (for RasterStack or RasterBrick objects)
Я ищу, чтобы максимум всех слоев имел одинаковый масштаб, как my.at <- seq (0, максимальное значение ячейки всех слоев, приращение). Спасибо, Ням
Ням,
Я получил это с cellStats # geostat-course.org/system/files/lewis_tutorAM.pdf Rad1998.max <- cellStats (RAD1998.all, 'max') Rad1998.all.max <- max (Rad1998.max) Rad1998.all .max
Ням

Ответы:

9

В следующем примере показаны два способа получить максимальное значение растра в стеке. Первый использует, max()который также дает вам множество другой полезной информации. Второй метод использует maxValue(), который дает только максимальное значение обоих растров в стеке

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)) обеспечит максимальное значение всех растров в стеке.

Umaomamaomao
источник