0

最小値/最大値として -1 から 1 の値を持つ 2 つの ndvi 画像があります....1 番目の画像から 2 番目の画像を減算したい、またはその逆を行いたいのですが、それを行っているときに値が 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

前もって感謝します

4

1 に答える 1

2

これは、再現可能な例を作成する方法です。

いくつかのデータを生成する

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)

> 
于 2013-02-22T01:45:55.573 に答える