Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

00-CalculosIndicesVegetacion.R 2.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ########## GENERACION DE INDICES DE VEGETACION USADOS PARA EL
  2. ########## CALCULO DEL RENDIMIENTO DEL CULTIVO DE ARROZ
  3. ######### GISMODEL - UNIVALLE
  4. ######### Mayo 2019
  5. ######### Se definen las carpetas de entrada de las bandas
  6. ######### archivos tif de R, G, B, rededge y nir
  7. ######### Se da el path de salida en dónde quedarán los índices
  8. # Como esto no se va a ejecutar en nuestro computador local, debemos definir una manera genérica de
  9. # Decirle a R donde definir su directorio de trabajo
  10. # getwd() # "/Users/m/Documents/2019/R-Modelación/R_projects/Eden/Eden_LPS"
  11. # setwd("/Users/m/Documents/2019/R-Modelación/R_projects/Eden/Eden_LPS/ejemplo_web1/ejemplo2/")
  12. # Asignamos los argumentos pasados al script en una variable args
  13. args <- commandArgs(TRUE)
  14. # El primer argumento pasado será el directorio de trabajo, por ejemplo
  15. # Rscript 00-CalculosIndicesVegetacion.R .
  16. setwd(args[1])
  17. library(rgdal)
  18. library(raster)
  19. carpeta_entrada='./Bandas/'
  20. carpeta_salida='./idices/'
  21. lista_datos =list.files((carpeta_entrada),pattern = '.tif')
  22. blue=raster(paste0(carpeta_entrada,lista_datos[[1]]))
  23. green=raster(paste0(carpeta_entrada,lista_datos[[2]]))
  24. nir=raster(paste0(carpeta_entrada,lista_datos[[3]]))
  25. red=raster(paste0(carpeta_entrada,lista_datos[[4]]))
  26. red_edge=raster(paste0(carpeta_entrada,lista_datos[[5]]))
  27. ### plot(blue)
  28. ###CALCULANDO INDICES#########
  29. ndvi=((nir-red)/(nir+red))
  30. writeRaster(ndvi, filename=paste0(carpeta_salida,'/','ndvi.tif'), format="GTiff", overwrite=TRUE)
  31. gndvi=((nir-green)/(nir+green))
  32. writeRaster(gndvi, filename=paste0(carpeta_salida,'/','gndvi.tif'), format="GTiff", overwrite=TRUE)
  33. rvi=(nir/red)
  34. writeRaster(rvi, filename=paste0(carpeta_salida,'/','rvi.tif'), format="GTiff", overwrite=TRUE)
  35. gvi=(nir/green)
  36. writeRaster(gvi, filename=paste0(carpeta_salida,'/','gvi_1.tif'), format="GTiff", overwrite=TRUE)
  37. ngrdi=((green-red)/(green+red))
  38. writeRaster(ngrdi, filename=paste0(carpeta_salida,'/','ngrdi.tif'), format="GTiff", overwrite=TRUE)
  39. rg=(red/green)
  40. writeRaster(rg, filename=paste0(carpeta_salida,'/','rg.tif'), format="GTiff", overwrite=TRUE)
  41. ndre=((nir-red_edge)/(nir+red_edge))
  42. writeRaster(ndre, filename=paste0(carpeta_salida,'/','ndre.tif'), format="GTiff", overwrite=TRUE)
  43. sr_re=(nir/red_edge)
  44. writeRaster(sr_re, filename=paste0(carpeta_salida,'/','sr_re.tif'), format="GTiff", overwrite=TRUE)
  45. csm=(red/nir)
  46. writeRaster(csm, filename=paste0(carpeta_salida,'/','csm.tif'), format="GTiff", overwrite=TRUE)
  47. csm_re=(red_edge/nir)
  48. writeRaster(csm_re, filename=paste0(carpeta_salida,'/','csm_re.tif'), format="GTiff", overwrite=TRUE)
  49. ci_re=((nir/red_edge)-1)
  50. writeRaster(ci_re, filename=paste0(carpeta_salida,'/','ci_re.tif'), format="GTiff", overwrite=TRUE)
  51. datt=((nir-red_edge)*(nir-red))
  52. writeRaster(datt, filename=paste0(carpeta_salida,'/','datt.tif'), format="GTiff", overwrite=TRUE)
  53. sr=((1+ndvi)/(1-ndvi))
  54. writeRaster(sr, filename=paste0(carpeta_salida,'/','sr.tif'), format="GTiff", overwrite=TRUE)