Nilai sel maks dari raster bertumpuk

9

Bagaimana saya bisa menemukan nilai sel maks dari raster yang ditumpuk.

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

berfungsi dengan baik tetapi

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

memberi NA.

Tentu saja tidak dalam raster bertumpuk.

Ini kode saya:

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
sumber
Apakah Anda mencari maksimum semua lapisan atau maksimum setiap lapisan? Lagi pula, Anda tidak menggunakan maxValuecara yang benar. Menurut halaman bantuan, Anda sebaiknya menggunakan argumen tambahan... Additional argument: layer number (for RasterStack or RasterBrick objects)
Saya mencari maksimum semua layer untuk memiliki skala yang sama seperti my.at <- seq (0, nilai sel maksimum semua layer, increment). Terima kasih, Nahm
Nahm
Saya mendapatkannya dengan cellStats # geostat-course.org/system/files/lewis_tutorAM.pdf Rad1998.max <- cellStats (RAD1998.all, 'max') Rad1998.all.max <- maks (Rad1998.max) Rad1998.all .max
Nahm

Jawaban:

9

Contoh berikut menunjukkan dua cara untuk mendapatkan nilai raster maks dalam tumpukan. Penggunaan pertama max()yang juga memberi Anda sejumlah informasi berguna lainnya. Metode kedua menggunakan maxValue(), yang hanya memberikan nilai maksimal dari kedua raster di 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)
Harun
sumber
0

max(MaxValue(raster)) akan memberikan nilai maksimum semua raster di stack.

Umaomamaomao
sumber