【问题标题】:Why is my raster stack displaying all of the individual raster images instead of a merged raster image?为什么我的光栅堆栈显示所有单独的光栅图像而不是合并的光栅图像?
【发布时间】:2020-07-14 01:33:57
【问题描述】:

我正在尝试绘制由一堆光栅图像组成的图像。使用可重现的数据:

library(raster)
b <- brick(system.file("external/rlogo.grd", package = "raster"))
b
#class      : RasterBrick 
#dimensions : 77, 101, 7777, 3  (nrow, ncol, ncell, nlayers)
#resolution : 1, 1  (x, y)
#extent     : 0, 101, 0, 77  (xmin, xmax, ymin, ymax)
#crs        : +proj=merc +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
#source     : /Library/Frameworks/R.framework/Versions/4.0/Resources/library/raster/external/rlogo.grd 
#names      : red, green, blue 
#min values :   0,     0,    0 
#max values : 255,   255,  255 

library(rasterVis)
levelplot(b)

这将生成 3 个并排栅格图层的 image

我想要做的是绘制它,以便图像仅显示一次“R”徽标,并使用它们的平均值将“红色”、“绿色”和“蓝色”层堆叠在一起。

任何人都可以帮助实现这一目标吗?谢谢!

【问题讨论】:

  • 请编辑您的问题,使其最小化、独立且可重复。因此,使用 R 附带的一些数据(例如b &lt;- brick(system.file("external/rlogo.grd", package="raster"))。或使用代码创建一些数据。不要引用我们没有的文件,也不要显示与手头问题无关的处理。也不清楚我你对彼此绘制栅格的期望是什么(最后一个会覆盖其他的?)
  • 我刚刚重新格式化了这个问题,以便它可以很容易地重现。谢谢你,罗伯特!
  • 您能更好地解释一下您希望如何组合这三个图像吗?你想让它们融合吗?使用它们的平均值?将它们视为 RGB 通道? “堆叠在一起”不清楚(如果你真的想要你可以绘制最后一个)
  • 好的,我知道我的语言选择会如何使这变得混乱。我想用他们的平均值

标签: r stack raster


【解决方案1】:

获取 RasterStack(或 RasterBrick)的平均值

library(raster)
b <- brick(system.file("external/rlogo.grd", package = "raster"))

bm <- mean(b)
plot(bm)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2015-01-05
    • 1970-01-01
    • 2021-06-14
    • 2020-03-27
    • 2020-09-26
    • 1970-01-01
    相关资源
    最近更新 更多