Criar NDVI Numérico entre -1 e 1

NDVI é calculado através da razão entre a diferença e a soma das reflectâncias dos canais infravermelho próximo e vermelho. Este programa gera o NDVI numérico com valores entre -1.0 e 1.0. O programa exemplo assume que:

  1. As imagens tem resolução de 30 metros;
  2. A categoria Imagem associada aos PIs com as imagens vermelho e infravermelho é a CAT_Imagem;
  3. A categoria MNT associada ao PI com valores de NDVI é a CAT_MNT;
  4. B4 e B5 são os nomes dos PIs correspondentes aos canais Vermelho e Infravermelho;
  5. NDVI_5_4 é o nome do novo PI a ser gerado com os valores de NDVI.
{
//Declaração das imagens vermelho (imar) e infravermelho (imair)
//Substituir CAT_Imagem pela categoria Imagem associada aos PIs com as imagens 
// vermelho e infravermelho
Imagem imar ("CAT_Imagem");
Imagem imair ("CAT_Imagem");

//Declaração do NDVI numerico de saída
//Substituir CAT_MNT pela categoria MNT associada ao PI com o NDVI de saída 
Numerico ndvi, temp ("CAT_MNT");

//Instanciaçao das imagens
//Substituir B4 e B5 pelos nomes dos PIs correspondentes aos canais Vermelho e Infravermelho
 imar = Recupere( Nome = "B4" );
 imair = Recupere( Nome = "B5" );

//Instanciação por criação de um plano de informação novo
//Substituir 30 pela resolução dos PIs correspondentes aos canais Vermelho e Infravermelho
//Substituir NDVI_5_4 pelo nome do novo PI a ser gerado com os valores de NDVI
 temp = Novo( Nome = "TEMP_NDVI" , ResX = 30 , ResY = 30 , Escala = 50000 );
 ndvi = Novo( Nome = "NDVI_5_4" , ResX = 30 , ResY = 30 , Escala = 50000 );

//Calculo numérico do NDVI
temp = (Numerico(imair)-Numerico(imar)) / (Numerico(imair)+Numerico(imar));
ndvi = ((temp > 1) || (temp < -1)) ? ndvi : temp;
}

Navigation