2013-02-21 5 views
0

최소/최대 값 1로 1을 갖는 두 개의 ndvi 이미지가 있습니다. 첫 번째 또는 두 번째 이미지에서 두 번째 이미지를 빼기를 원하지만 그 일을 할 때 0 값을 갖는 래스터를 제공합니다. ... 나는 그것이 우리가 다른 하나의 이미지에서 다른 하나의 이미지를 빼는 것 같아야한다고 생각합니다. 친절하게도 제가 잘못되고있는 곳에서 도와주세요. ..... 여기에 내가보기 위해 사용하고있는 코드가 있습니다.NDVI의 차이

창 : 변경 .... 사전에

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 

덕분에

+2

재현 귀하의 예를 확인하십시오 .. –

+1

실제로 나는 그래서 난 그냥 그 후를 표시 한 후 적재 및 인덱스를 계산하기위한 두 개의 밴드를 복용하고 지역에 대한 탐사 위성 이미지가 나는 두 번째 이미지와 동일한 범위와 다른 해를 가진 지역에서 똑같은 일을 한 다음 두 번째 ndvi를 먼저 빼서 ..... 그 차이를 얻을 수 있도록 .... 내가 원하는 것은 .... – Angad

+0

우리는 ' 우리가 무엇이 잘못되었는지 보지 않는다면 당신을 도울 것입니다. 작은 재현 가능한 예제를 만드는 것이 좋습니다. 좋은 방법을 만드는 방법에 대한이 질문을 참조하십시오 : http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

답변

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)))) 

을 nerate 그리고 문제를

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) 

>