

##########  GENERACION DE INDICES DE VEGETACION USADOS PARA EL 
##########  CALCULO DEL RENDIMIENTO DEL CULTIVO DE ARROZ

#########      GISMODEL  -   UNIVALLE

#########              Mayo 2019

#########    Se definen las carpetas de entrada de las bandas  
#########    archivos tif de R, G, B, rededge y nir

#########    Se da el path de salida en dónde quedarán los índices

# Como esto no se va a ejecutar en nuestro computador local, debemos definir una manera genérica de
# Decirle a R donde definir su directorio de trabajo
# getwd() #      "/Users/m/Documents/2019/R-Modelación/R_projects/Eden/Eden_LPS"
# setwd("/Users/m/Documents/2019/R-Modelación/R_projects/Eden/Eden_LPS/ejemplo_web1/ejemplo2/")

# Asignamos los argumentos pasados al script en una variable args
args <- commandArgs(TRUE)
# El primer argumento pasado será el directorio de trabajo, por ejemplo
# Rscript 00-CalculosIndicesVegetacion.R .
setwd(args[1])
library(rgdal)
library(raster)

carpeta_entrada='./Bandas/'
carpeta_salida='./idices/'

lista_datos =list.files((carpeta_entrada),pattern = '.tif')

blue=raster(paste0(carpeta_entrada,lista_datos[[1]]))
green=raster(paste0(carpeta_entrada,lista_datos[[2]]))
nir=raster(paste0(carpeta_entrada,lista_datos[[3]]))
red=raster(paste0(carpeta_entrada,lista_datos[[4]]))
red_edge=raster(paste0(carpeta_entrada,lista_datos[[5]]))

###   plot(blue)

###CALCULANDO INDICES#########

ndvi=((nir-red)/(nir+red))
writeRaster(ndvi, filename=paste0(carpeta_salida,'/','ndvi.tif'), format="GTiff", overwrite=TRUE)

gndvi=((nir-green)/(nir+green))
writeRaster(gndvi, filename=paste0(carpeta_salida,'/','gndvi.tif'), format="GTiff", overwrite=TRUE)

rvi=(nir/red)
writeRaster(rvi, filename=paste0(carpeta_salida,'/','rvi.tif'), format="GTiff", overwrite=TRUE)

gvi=(nir/green)
writeRaster(gvi, filename=paste0(carpeta_salida,'/','gvi_1.tif'), format="GTiff", overwrite=TRUE)

ngrdi=((green-red)/(green+red))
writeRaster(ngrdi, filename=paste0(carpeta_salida,'/','ngrdi.tif'), format="GTiff", overwrite=TRUE)

rg=(red/green)
writeRaster(rg, filename=paste0(carpeta_salida,'/','rg.tif'), format="GTiff", overwrite=TRUE)

ndre=((nir-red_edge)/(nir+red_edge))
writeRaster(ndre, filename=paste0(carpeta_salida,'/','ndre.tif'), format="GTiff", overwrite=TRUE)

sr_re=(nir/red_edge)
writeRaster(sr_re, filename=paste0(carpeta_salida,'/','sr_re.tif'), format="GTiff", overwrite=TRUE)

csm=(red/nir)
writeRaster(csm, filename=paste0(carpeta_salida,'/','csm.tif'), format="GTiff", overwrite=TRUE)

csm_re=(red_edge/nir)
writeRaster(csm_re, filename=paste0(carpeta_salida,'/','csm_re.tif'), format="GTiff", overwrite=TRUE)

ci_re=((nir/red_edge)-1)
writeRaster(ci_re, filename=paste0(carpeta_salida,'/','ci_re.tif'), format="GTiff", overwrite=TRUE)

datt=((nir-red_edge)*(nir-red))
writeRaster(datt, filename=paste0(carpeta_salida,'/','datt.tif'), format="GTiff", overwrite=TRUE)

sr=((1+ndvi)/(1-ndvi))
writeRaster(sr, filename=paste0(carpeta_salida,'/','sr.tif'), format="GTiff", overwrite=TRUE)
