【问题标题】:Overwrite values of raster using highest pixel value across a set of rasters使用一组栅格中的最高像素值覆盖栅格值
【发布时间】:2021-01-25 09:57:58
【问题描述】:

以下描述了我正在尝试做的一个按比例缩小的示例。

我有 3 个共享相同范围和分辨率的栅格。第一个光栅由“0”和“1”像素组成,第二个光栅由“0”和“2”像素组成,第三个光栅由“0”和“3”像素组成。我想将它们全部叠加在一起,以便在每个像素处保留三个栅格中的最大值。例如,如果一个像素的第一个、第二个和第三个栅格的值分别为“1”、“2”和“0”,那么最终叠加后输出的该像素的值将是“2”。

我最初尝试了raster::overlayraster::update 函数,但没有设法让它们工作。然而,经过一些实验,我成功地使用了stack()stackApply()calc() 函数。虽然我已经设法让它工作,但我想知道是否有更好的选择,因为最终,我将对 20 个范围更大的栅格执行此过程。

下面是我对前面描述的可重现代码的尝试。

library(raster)

# Create matrix of values to assign to rasters
set.seed(1)
val1 = round(matrix(runif(5*5,0,1),5,5)) # matrix of '0' and '1's
set.seed(2)
val2 = round(matrix(runif(5*5,0,1),5,5))*2 # matrix of '0' and '2's
set.seed(3)
val3 = round(matrix(runif(5*5,0,1),5,5))*3 # matrix of '0' and '3's

# View matrices
val1
val2
val3

# Create random raster and assign matrix values
raster1 = raster(
  nrows = 5,
  ncols = 5,
  xmn = 0,
  xmx = 5,
  ymn = 0,
  ymx = 5,
  vals = val1
) 

raster2 = raster(
  nrows = 5,
  ncols = 5,
  xmn = 0,
  xmx = 5,
  ymn = 0,
  ymx = 5,
  vals = val2
) 

raster3 = raster(
  nrows = 5,
  ncols = 5,
  xmn = 0,
  xmx = 5,
  ymn = 0,
  ymx = 5,
  vals = val3
) 

# View rasters  
plot(raster1)
plot(raster2)
plot(raster3)

# Stack rasters
stack = stack(raster1, raster2, raster3)
plot(stack)

# Create single raster using the maximum values at each location
maximum = stackApply(stack, indices = rep(1, nlayers(stack)),fun = max)
maximum = calc(stack,function(x){max(x)})
plot(maximum)

【问题讨论】:

    标签: r gis raster r-raster


    【解决方案1】:

    max 应该同时处理多个不同的栅格。

    max_raster <- max(raster1, raster2, raster3)
    
    plot(max_raster)
    

    看起来和你的栅格堆叠一样。

    stack2 <- stack(maximum, max_raster)
    plot(stack2)
    

    这里有一些功能的帮助页面:http://finzi.psych.upenn.edu/library/raster/html/raster-package.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多