【问题标题】:NDVI differenceNDVI 差异
【发布时间】:2013-02-21 12:30:33
【问题描述】:

我有两个 ndvi 图像,其最小值/最大值为 -1 到 1....我想从第一个图像中减去第二个图像,反之亦然,但是当我这样做时,它给了我值为 0 的光栅.. .我认为应该是这样的,因为我们从另一个中减去一个波段或从另一个图像中减去一个图像......请帮助我哪里出错......这是我用来查看更改的代码....

    b3<-raster(stackIm1,3) #band 3 of first input image
    b4<-raster(stackIm1,4) #band 4 of first input image
    ndvi1<-(b4-b3)/(b4+b3) #calculating NDVI for first image

    b3<-raster(stackIm2,3) #band 3 of second image
    b4<-raster(stackIm2,4) #band 4 of second image
    ndvi2<-(b4-b3)/(b4+b3) #calculating NDVI for second image

    ndvi <- ndvi1-ndvi2  #subtracting second ndvi image from first

提前致谢

【问题讨论】:

  • 请让您的示例可重现,否则我们无法有效地帮助您..
  • 实际上我有一个区域的 landsat 图像,所以我只是堆叠它并采用两个波段来计算索引,然后显示它,然后我对具有相同范围和面积的第二张图像做了同样的事情不同的年份,然后从第一个中减去第二个 ndvi,这样我就可以得到两者之间的差异......这就是我想要的......
  • 如果我们没有发现问题所在,我们将无法帮助您。我建议你做一个可重复的小例子。看看这个问题如何做一个好的:stackoverflow.com/questions/5963269/…
  • 亲爱的,我无法创建具有从 -1 到 1 的值的 ndvi 栅格的可重复性。答案,但不是在 ndvi 的情况下......如果我能得到你的电子邮件 ID 是否有可能,这样我就可以用完整的代码发送它的一个子集......
  • 然后发布指向陆地卫星图像的链接。同时,您是否验证了您的b3b4 具有有效值,并且它们实际上是不同的?

标签: r raster


【解决方案1】:

您可以这样制作可重现的示例:

生成一些数据

library(raster)
r <- raster(nc=10, nr=10)
set.seed(2212013)
stackIm1 <- stack(lapply(1:5, function(x) setValues(r, round(runif(ncell(r))* 255))))
stackIm2 <- stack(lapply(1:5, function(x) setValues(r, round(runif(ncell(r))* 255))))

然后用它来说明问题

b3<-raster(stackIm1,3) #band 3 of first input image
b4<-raster(stackIm1,4) #band 4 of first input image
ndvi1<-(b4-b3)/(b4+b3) #calculating NDVI for first image

b3<-raster(stackIm2,3) #band 3 of second image
b4<-raster(stackIm2,4) #band 4 of second image
ndvi2<-(b4-b3)/(b4+b3) #calculating NDVI for second image

ndvi <- ndvi1-ndvi2  #subtracting second ndvi image from first

但我在这里没有发现问题。

> ndvi
class       : RasterLayer 
dimensions  : 10, 10, 100  (nrow, ncol, ncell)
resolution  : 36, 18  (x, y)
extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 
data source : in memory
names       : layer 
values      : -1.461194, 1.590255  (min, max)

> 

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 2011-01-05
    • 1970-01-01
    • 2016-09-08
    • 2021-02-17
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多