Максимальне значення комірки з складеного растру


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, максимальне значення комірки всіх шарів, приріст). Дякую, Nahm
Nahm

Я отримав це за допомогою 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)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.