Para esta actividad compararemos las características del departamento del Valle del Cauca para el cultivo de la caña con otros departamentos (Antioquia, Amazonas y Meta)

Se evaluará temperatura y la precipitación de lluvias adecuada para este cultivo. La caña requiere una temperatura de 22.5 a 28 grados centígrados y la precipitación de las lluvias debe ser de 125 a 290 milimetros cúbicos

Bajaremos la data de precipitación de lluvias de Colombia:

precCol <- worldclim_country(country = "Colombia", var = "prec",
                       path = tempdir())

Precipitaciones de lluvia de Colombia en Enero:

plot(precCol[[1]])

Precipitaciones de lluvia promedio de Colombia:

terra:: plot(mean(precCol), plg = list(title = "Precipitaciones promedio (mm3)"))

Sabiendo que el Valle del Cauca es la región más óptima para la caña de azucar vamos a estudiar esta región, como se dijo antes, identificaremos 3 departamentos más de Colombia para saber si son aptos para dicho cultivo comparando el valle del cauca

Obtener los límites del Valle del Cauca

mapaCol <- rnaturalearth::ne_states("Colombia", returnclass = "sf")
valle_del_cauca <- mapaCol[mapaCol$name %in% c("Valle del Cauca", "Valle"), ]
valle <- mapaCol[mapaCol$name %in% c("Valle del Cauca", "Valle"), ]

Convertir a formato compatible con terra

valle_vect <- vect(valle)

Recortar los datos raster al área del Valle del Cauca

lluvia_valle <- crop(precCol, valle_vect, mask = TRUE)

Precipitaciones de Valle del Cauca en Enero:

plot(lluvia_valle[[1]])

names(lluvia_valle) = paste("prec_", month.name, sep = "")

Precipitaciones en diferentes meses:

plot(lluvia_valle)

Evaluamos donde la precipitacion en enero sea mayor a 125 y menor a 290 milimetros (precipitaciones óptimas para la caña)

lluvia_valle_bin = lluvia_valle[[1]]>125 & lluvia_valle[[1]]<290

Precipitaciones óptimas en Enero La zona en amarillo indica precipitaciones óptimas, la zona violeta no es óptima

plot(lluvia_valle_bin)

Donde la precipitacion en los doce meses sea mayor a 125mm y menor a 290mm (precipitaciones óptimas para la caña)

lluvia_valle_bin_anual = lluvia_valle[[1:12]]>125 & lluvia_valle[[1:12]]<290

Precipitaciones óptimas durante todo el año

plot(lluvia_valle_bin_anual)

Gráficamente se ve que los meses de Marzo, Abril, Mayo, Octubre, Noviembre y Diciembre son meses donde se cumplen los niveles de precipitación requeridos (de 125mm a 290mm)

La parte occidental del departamento no cumple en ningún mes con dicho requerimiento climatológico

Se hace un análisis calculando el porcentaje anual de precipitaciones:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de lluvia en ese pixel FALSE es que no se cumple la condicion de lluvia en ese pixel

matriz_lluviaValle_consolidado = lluvia_valle_bin_anual[]
#View(matriz_lluviaValle_consolidado)

Como nos trae los datos de fuera del Valle (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_lluviaValle_consolidado[,1]))
#View(matriz_lluviaValle_consolidado[meses_con_data,])

sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_lluvias = sum(lluvia_valle_bin_anual)
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 233, 212, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.475, -75.70833, 3.091667, 5.033333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   :  12

aptitud de lluvias anual en el Valle

plot(aptitud_anual_lluvias)

Convertimos la aptitud al estilo de porcentajes:

aptitud_anual_lluvias = sum(lluvia_valle_bin_anual)/12*100
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 233, 212, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.475, -75.70833, 3.091667, 5.033333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   : 100
plot(aptitud_anual_lluvias)

Analizando la temperatura del Valle del Cauca

tempCol <- worldclim_country(country = "Colombia", var = "tavg",
                           path = tempdir())

Recortar los datos raster al área del Valle del Cauca

temp_valle <- crop(tempCol, valle_vect, mask = TRUE)

Temperatura en Enero

plot(temp_valle[[1]])

names(temp_valle) = paste("temp_", month.name, sep = "")

Temperatura durante el año

plot(temp_valle)

Evaluamos donde la temperatura en enero sea mayor a 22.5 y menor a 28 grados centígrados

temp_valle_bin = temp_valle[[1]]>22.5 & temp_valle[[1]]<28

Temperaturas óptimas en Enero

plot(temp_valle_bin)

Donde la precipitacion en los doce meses sea mayor a 125mm y menor a 290mm

temp_valle_bin_anual = temp_valle[[1:12]]>22.5 & temp_valle[[1:12]]<28

Temperaturas óptimas durante todo el año

plot(temp_valle_bin_anual)

Gráficamente se ve que todos los meses del año son meses donde se cumplen las temperaturas requeridas en todo el valle, excepto en las zonas de cordillera

Se hace un análisis calculando el porcentaje anual de temperaturas:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de temperatura en ese pixel FALSE es que no se cumple la condicion de temperatura en ese pixel

matriz_tempValle_consolidado = temp_valle_bin_anual[]
#View(matriz_tempValle_consolidado)

Como nos trae los datos de fuera del Valle del Cauca (donde no hay datos) aparece data en blanco. Se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_tempValle_consolidado[,1]))
#View(matriz_tempValle_consolidado[meses_con_data,])

sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_temp = sum(temp_valle_bin_anual)
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 233, 212, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.475, -75.70833, 3.091667, 5.033333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   :  12
plot(aptitud_anual_temp)

Viendo la aptitud al estilo de porcentajes:

aptitud_anual_temp = sum(temp_valle_bin_anual)/12*100
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 233, 212, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.475, -75.70833, 3.091667, 5.033333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   : 100
plot(aptitud_anual_temp)

Se ponen las dos graficas ponderadas de lluvias y temperaturas del Valle del Cauca en una sola grafica

par(mfrow=c(1,2))
plot(aptitud_anual_lluvias)
plot(aptitud_anual_temp)

Promediando los dos:

aptitud_final_valle = mean(aptitud_anual_lluvias, aptitud_anual_temp)
par(mfrow=c(1,1))
plot(aptitud_final_valle)

plot(aptitud_final_valle>70)

Se tiene que en el Valle la región entre la cordillera occidental y la cordillera oriental son los que mejor carácterísticas tienen para el cultivo de la caña

Teniendo en cuenta esto evaluaremos las características de otros 3 departamentos (Meta, Antioquia, Amazonas)

Se analizarán los departamentos del Meta, Antioquia y Amazonas debido a su gran extensión y por su ubicación geográfica en el país (oriente, norte y sur) abarcando así todos los puntos cardinales, el (valle estaría en el occidente)

———————————–

Meta

Obtener los límites del Meta

mapaCol <- rnaturalearth::ne_states("Colombia", returnclass = "sf")
Meta <- mapaCol[mapaCol$name %in% c("Meta", "Meta"), ]
Meta <- mapaCol[mapaCol$name %in% c("Meta", "Meta"), ]

Convertir a formato compatible con terra

meta_vect <- vect(Meta)

Recortar los datos raster al área del Meta

lluvia_meta <- crop(precCol, meta_vect, mask = TRUE)

Precipitaciones del Meta en Enero

plot(lluvia_meta[[1]])

names(lluvia_meta) = paste("prec_", month.name, sep = "")

Precipitaciones durante los doce meses

plot(lluvia_meta)

donde la precipitacion en enero sea mayor a 125 y menor a 290 milimetros

lluvia_meta_bin = lluvia_meta[[1]]>125 & lluvia_meta[[1]]<290

Precipitaciones óptimas en Enero

plot(lluvia_meta_bin)

donde la precipitacion en los doce meses sea mayor a 125mm y menor a 290mm

lluvia_meta_bin_anual = lluvia_meta[[1:12]]>125 & lluvia_meta[[1:12]]<290

Precipitaciones óptimas durante los doce meses en el Meta

plot(lluvia_meta_bin_anual)

Gráficamente se ve que los meses de Marzo, Abril, Mayo, Agosto, Septiembre, Octubre, Noviembre son meses donde se cumplen los niveles de precipitación requeridos (de 125mm a 290mm)

La parte occidental del departamento es la que mas cumple con dicho requerimiento climatológico

Se hace un análisis calculando el porcentaje anual de precipitaciones:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de lluvia en ese pixel FALSE es que no se cumple la condicion de lluvia en ese pixel

matriz_lluviaMeta_consolidado = lluvia_meta_bin_anual[]
#View(matriz_lluviaMeta_consolidado)

Como nos trae los datos de fuera del Meta (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_lluviaMeta_consolidado[,1]))
#View(matriz_lluviaMeta_consolidado[meses_con_data,])

Sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_lluvias = sum(lluvia_meta_bin_anual)
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 395, 461, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.9, -71.05833, 1.625, 4.916667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   :  11
plot(aptitud_anual_lluvias)

Si quisieramos ver la aptitud al estilo de porcentajes:

aptitud_anual_lluvias = sum(lluvia_meta_bin_anual)/12*100
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 395, 461, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.9, -71.05833, 1.625, 4.916667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        :      sum 
## min value   :  0.00000 
## max value   : 91.66667
plot(aptitud_anual_lluvias)

Analizando la temperatura en el Meta

Recortar los datos raster al área del Meta

temp_meta <- crop(tempCol, meta_vect, mask = TRUE)

Temperaturas en Enero

plot(temp_meta[[1]])

names(temp_meta) = paste("temp_", month.name, sep = "")

Temperatura anual

plot(temp_meta)

Donde la temperatura en enero sea mayor a 22.5 y menor a 28 grados centígrados

temp_meta_bin = temp_meta[[1]]>22.5 & temp_meta[[1]]<28

Precipitaciones óptimas en Enero

plot(temp_meta_bin)

Donde la temperatura en los doce meses sea mayor a 22.5 y menor a 28 grados centigrados

temp_meta_bin_anual = temp_meta[[1:12]]>22.5 & temp_meta[[1:12]]<28
plot(temp_meta_bin_anual)

Gráficamente se ve que todos los meses del año son meses donde se cumplen los requisitos de temperatura En los meses de Febrero y Marzo la temperatura en el area oriental no cumple

Se hace un análisis calculando el porcentaje anual de temperaturas:

e los doce meses construimos una matriz binaria TRUE es que se cumple la condición de temperatura en ese pixel FALSE es que no se cumple la condicion de temperatura en ese pixel

matriz_tempMeta_consolidado = temp_meta_bin_anual[]
#View(matriz_tempMeta_consolidado)

Como nos trae los datos de fuera de colombia (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_tempMeta_consolidado[,1]))
#View(matriz_tempMeta_consolidado[meses_con_data,])

Sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_temp = sum(temp_meta_bin_anual)
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 395, 461, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.9, -71.05833, 1.625, 4.916667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   :  12
plot(aptitud_anual_temp)

Si quisieramos ver la aptitud al estilo de porcentajes:

aptitud_anual_temp = sum(temp_meta_bin_anual)/12*100
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 395, 461, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.9, -71.05833, 1.625, 4.916667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   : 100
plot(aptitud_anual_temp)

Se ponen las dos graficas ponderadas de lluvias y temperaturas en una sola grafica

par(mfrow=c(1,2))
plot(aptitud_anual_lluvias)
plot(aptitud_anual_temp)

promediando los dos:

aptitud_final_meta = mean(aptitud_anual_lluvias, aptitud_anual_temp)
par(mfrow=c(1,1))
plot(aptitud_final_meta)

plot(aptitud_final_meta>70)

Se tiene que en el Meta la región oeste es la que mejor carácterística tienen para el cultivo de la caña durante todo el año.

Evaluando que el área es más grande que el área del Valle, esta área del Meta puede dar mejores rendimientos Debido a que estamos evaluando solamente lluvias y temperatura se debe averiguar qué existe en esa zona (selvas, bosques, lagos, ríos) para tomr una decisión

———————————–

Antioquia

Obtener los límites del Antioquia

mapaCol <- rnaturalearth::ne_states("Colombia", returnclass = "sf")
Antioquia <- mapaCol[mapaCol$name %in% c("Antioquia", "Antioquia"), ]

Convertir a formato compatible con terra

antioquia_vect <- vect(Antioquia)

Recortar los datos raster al área del Antioquia

lluvia_antioquia <- crop(precCol, antioquia_vect, mask = TRUE)

Precipitaciones en enero

plot(lluvia_antioquia[[1]])

names(lluvia_antioquia) = paste("prec_", month.name, sep = "")

precipitaciones durante los doce meses del año

plot(lluvia_antioquia)

donde la precipitacion en enero sea mayor a 125 y menor a 290 milimetros

lluvia_antioquia_bin = lluvia_antioquia[[1]]>125 & lluvia_antioquia[[1]]<290

Precipitaciones óptimas en Enero

plot(lluvia_antioquia_bin)

donde la precipitacion en los doce meses sea mayor a 125mm y menor a 290mm

lluvia_antioquia_bin_anual = lluvia_antioquia[[1:12]]>125 & lluvia_antioquia[[1:12]]<290
plot(lluvia_antioquia_bin_anual)

Gráficamente se ve que los meses de Marzo, Abril, Junio, Julio, Agosto, Septiembre, Noviembre y Diciembre son meses donde se cumplen los niveles de precipitación requeridos (de 125mm a 290mm) en la parte oriental

Se hace un análisis calculando el porcentaje anual de precipitaciones:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de lluvia en ese pixel FALSE es que no se cumple la condicion de lluvia en ese pixel

matriz_lluviaAntioquia_consolidado = lluvia_antioquia_bin_anual[]
#View(matriz_lluviaAntioquia_consolidado)

Como nos trae los datos de fuera de Antioquia (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_lluviaAntioquia_consolidado[,1]))
#View(matriz_lluviaAntioquia_consolidado[meses_con_data,])

sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_lluvias = sum(lluvia_antioquia_bin_anual)
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 412, 388, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.125, -73.89167, 5.433333, 8.866667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   :  12
plot(aptitud_anual_lluvias)

Si quisieramos ver la aptitud al estilo de porcentajes:

aptitud_anual_lluvias = sum(lluvia_antioquia_bin_anual)/12*100
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 412, 388, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.125, -73.89167, 5.433333, 8.866667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   : 100

aptitud en porcentaje de lluvias de Antioquia

plot(aptitud_anual_lluvias)

Analizando la temperatura en Antioquia

Recortar los datos raster al área de Antioquia

temp_antioquia <- crop(tempCol, antioquia_vect, mask = TRUE)
plot(temp_antioquia[[1]])

names(temp_antioquia) = paste("temp_", month.name, sep = "")
plot(temp_antioquia)

Donde la temperatura en enero sea mayor a 22.5 y menor a 28 grados centígrados

temp_antioquia_bin = temp_antioquia[[1]]>22.5 & temp_antioquia[[1]]<28

Temperaturas óptimas en Enero

plot(temp_antioquia_bin)

Donde la temperatura en los doce meses sea mayor a 22.5 y menor a 28 grados centigrados

temp_antioquia_bin_anual = temp_antioquia[[1:12]]>22.5 & temp_antioquia[[1:12]]<28
plot(temp_antioquia_bin_anual)

Gráficamente se ve que todos los meses del año las regiones oriental y nor occidental son regiones donde se cumplen las temperaturas requeridas en antioquia

Se hace un análisis calculando el porcentaje anual de temperaturas:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de temperatura en ese pixel FALSE es que no se cumple la condicion de temperatura en ese pixel

matriz_tempAntioquia_consolidado = temp_antioquia_bin_anual[]
#View(matriz_tempAntioquia_consolidado)

Como nos trae los datos de fuera de Antioquia (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_tempAntioquia_consolidado[,1]))
#View(matriz_tempAntioquia_consolidado[meses_con_data,])

sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_temp = sum(temp_antioquia_bin_anual)
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 412, 388, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.125, -73.89167, 5.433333, 8.866667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   :  12
plot(aptitud_anual_temp)

Si quisieramos ver la aptitud al estilo de porcentajes:

aptitud_anual_temp = sum(temp_antioquia_bin_anual)/12*100
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 412, 388, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -77.125, -73.89167, 5.433333, 8.866667  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   0 
## max value   : 100
plot(aptitud_anual_temp)

Se ponen las dos graficas ponderadas de lluvias y temperaturas en una sola grafica

par(mfrow=c(1,2))
plot(aptitud_anual_lluvias)
plot(aptitud_anual_temp)

promediando los dos:

aptitud_final_antioquia = mean(aptitud_anual_lluvias, aptitud_anual_temp)
par(mfrow=c(1,1))
plot(aptitud_final_antioquia)

plot(aptitud_final_antioquia>70)

Se tiene que en Antioquia la región nor-oeste y la sur-oriental son las que mejor carácterísticas tienen para el cultivo de la caña Nuevamente es necesario saber qué existe en esas zonas para saber si es posible cultivar caña

———————————–

Amazonas

Obtener los límites del Amazonas

mapaCol <- rnaturalearth::ne_states("Colombia", returnclass = "sf")
Amazonas <- mapaCol[mapaCol$name %in% c("Amazonas", "Amazonas"), ]

Convertir a formato compatible con terra

amazonas_vect <- vect(Amazonas)

Recortar los datos raster al área del amazonas

lluvia_amazonas <- crop(precCol, amazonas_vect, mask = TRUE)

Precipitaciones en Enero

plot(lluvia_amazonas[[1]])

names(lluvia_amazonas) = paste("prec_", month.name, sep = "")

precipitaciones en los doce meses

plot(lluvia_amazonas)

donde la precipitacion en enero sea mayor a 125 y menor a 290 milimetros

lluvia_amazonas_bin = lluvia_amazonas[[1]]>125 & lluvia_amazonas[[1]]<290

Precipitaciones óptimas en Enero

plot(lluvia_amazonas_bin)

donde la precipitacion en los doce meses sea mayor a 125mm y menor a 290mm

lluvia_amazonas_bin_anual = lluvia_amazonas[[1:12]]>125 & lluvia_amazonas[[1:12]]<290
plot(lluvia_amazonas_bin_anual)

Gráficamente se ve que los meses de Enero, Febrero, Marzo, Junio; Julio, Agosto, Diciembre son meses donde se cumplen los niveles de precipitación requeridos (de 125mm a 290mm) en la parte oriental

Se hace un análisis calculando el porcentaje anual de precipitaciones:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de lluvia en ese pixel FALSE es que no se cumple la condicion de lluvia en ese pixel

matriz_lluviaAmazonas_consolidado = lluvia_amazonas_bin_anual[]
#View(matriz_lluviaAmazonas_consolidado)

Como nos trae los datos de fuera del Amazonas (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_lluviaAmazonas_consolidado[,1]))
#View(matriz_lluviaAmazonas_consolidado[meses_con_data,])

sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_lluvias = sum(lluvia_amazonas_bin_anual)
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 524, 600, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.41667, -69.41667, -4.233333, 0.1333333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :   5 
## max value   :  12
plot(aptitud_anual_lluvias)

Si quisieramos ver la aptitud al estilo de porcentajes:

aptitud_anual_lluvias = sum(lluvia_amazonas_bin_anual)/12*100
aptitud_anual_lluvias
## class       : SpatRaster 
## dimensions  : 524, 600, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.41667, -69.41667, -4.233333, 0.1333333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        :       sum 
## min value   :  41.66667 
## max value   : 100.00000
plot(aptitud_anual_lluvias)

Analizando la temperatura en Amazonas

Recortar los datos raster al área del Amazonas

temp_amazonas <- crop(tempCol, amazonas_vect, mask = TRUE)

Temperaturas en Enero

plot(temp_amazonas[[1]])

names(temp_amazonas) = paste("temp_", month.name, sep = "")

Temperaturas durante todo el año

plot(temp_amazonas)

Donde la temperatura en enero sea mayor a 22.5 y menor a 28 grados centígrados

temp_amazonas_bin = temp_amazonas[[1]]>22.5 & temp_amazonas[[1]]<28

Temperaturas óptimas en Enero

plot(temp_amazonas_bin)

donde la temperatura en los doce meses sea mayor a 22.5 y menor a 28 grados centigrados

temp_amazonas_bin_anual = temp_amazonas[[1:12]]>22.5 & temp_amazonas[[1:12]]<28
plot(temp_amazonas_bin_anual)

Gráficamente se ve que se cumple con las temperaturas requeridas en todos los meses en todo el área del amazonas

Se hace un análisis calculando el porcentaje anual de temperaturas:

De los doce meses construimos una matriz binaria TRUE es que se cumple la condición de temperatura en ese pixel FALSE es que no se cumple la condicion de temperatura en ese pixel

matriz_tempAmazonas_consolidado = temp_amazonas_bin_anual[]
#View(matriz_tempAmazonas_consolidado)

Como nos trae los datos de fuera de Antioquia (donde no hay datos) por eso muchos registros aparecen en blanco, se debe filtar por los que sí hay datos

meses_con_data = which(!is.na(matriz_tempAmazonas_consolidado[,1]))
#View(matriz_tempAmazonas_consolidado[meses_con_data,])

sumamos todas las columnas de la matriz y las ubica en cada pixel

aptitud_anual_temp = sum(temp_amazonas_bin_anual)
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 524, 600, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.41667, -69.41667, -4.233333, 0.1333333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   :  12 
## max value   :  12
plot(aptitud_anual_temp)

Si quisieramos ver la aptitud al estilo de porcentajes:

aptitud_anual_temp = sum(temp_amazonas_bin_anual)/12*100
aptitud_anual_temp
## class       : SpatRaster 
## dimensions  : 524, 600, 1  (nrow, ncol, nlyr)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : -74.41667, -69.41667, -4.233333, 0.1333333  (xmin, xmax, ymin, ymax)
## coord. ref. : lon/lat WGS 84 (EPSG:4326) 
## source(s)   : memory
## name        : sum 
## min value   : 100 
## max value   : 100
plot(aptitud_anual_temp)

Se ponen las dos graficas ponderadas de lluvias y temperaturas en una sola grafica

par(mfrow=c(1,2))
plot(aptitud_anual_lluvias)
plot(aptitud_anual_temp)

promediando los dos:

aptitud_final_amazonas = mean(aptitud_anual_lluvias, aptitud_anual_temp)
par(mfrow=c(1,1))
plot(aptitud_final_amazonas)

plot(aptitud_final_amazonas>70)

Se tiene que Amazonas es un muy buen departamento para el cultivo de la caña ya que toda su área es óptima en lluvias y temperatura. Sin embargo, se debe evaluar el terreno para el cultivo (selvas, lagos, etc.) Si existe un impacto medioambiental grande se recomienda mirar otras zonas

CONCLUSIONES

En conclusiones Meta y Amazonas pueden brindar más rendimientos dado que el área óptima es más grande que el área óptima del Valle del Cauca. Sin embargo, es necesario evaluar la zona, ya no solamente por precipitaciones de lluvia y temperatura sino también analizando lo que se encuentra actualmente en esas zonas. No es posible cultivar la caña si en esas zonas hay grandes lagos o enormes selvas.