Yığılmış bir taramadan maksimum hücre değeri


9

Yığılmış bir taramadan maksimum hücre değerini nasıl bulabilirim.

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

iyi çalışıyor ama

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

NA verir.

Tabii ki yığılmış bir taramada değil.

İşte benim 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)

Tüm katmanların maksimumunu veya her bir katmanın maksimumunu mu arıyorsunuz? Her neyse, maxValuedoğru yolu kullanmıyorsunuz . Yardım sayfasına göre, ek argüman kullanmanız daha iyi olur... Additional argument: layer number (for RasterStack or RasterBrick objects)

My.at <- seq (0, tüm katmanların maksimum hücre değeri, artış) gibi aynı ölçeğe sahip tüm katmanların maksimumunu arıyorum. Teşekkürler, 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
Nahm

Yanıtlar:


9

Aşağıdaki örnek, bir yığındaki maksimum tarama değerine ulaşmanın iki yolunu gösterir. İlk kullanım max()size bir dizi başka faydalı bilgi de sağlar. İkinci yöntem kullanır maxValue(), bu da yığındaki her iki rasterin de maksimum değerini verir

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)) yığındaki tüm rasterlerin maksimum değerini sağlayacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.