#librerías
library(raster)
## Warning: package 'raster' was built under R version 4.2.3
## Loading required package: sp
## Warning: package 'sp' was built under R version 4.2.3
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
library(rgdal)
## Warning: package 'rgdal' was built under R version 4.2.3
## Please note that rgdal will be retired during October 2023,
## plan transition to sf/stars/terra functions using GDAL and PROJ
## at your earliest convenience.
## See https://r-spatial.org/r/2023/05/15/evolution4.html and https://github.com/r-spatial/evolution
## rgdal: version: 1.6-7, (SVN revision 1203)
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 3.5.2, released 2022/09/02
## Path to GDAL shared files: C:/Users/Usuario/AppData/Local/R/win-library/4.2/rgdal/gdal
## GDAL binary built with GEOS: TRUE 
## Loaded PROJ runtime: Rel. 8.2.1, January 1st, 2022, [PJ_VERSION: 821]
## Path to PROJ shared files: C:/Users/Usuario/AppData/Local/R/win-library/4.2/rgdal/proj
## PROJ CDN enabled: FALSE
## Linking to sp version:2.0-0
## To mute warnings of possible GDAL/OSR exportToProj4() degradation,
## use options("rgdal_show_exportToProj4_warnings"="none") before loading sp or rgdal.
library(sp)
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.2.3
library(RColorBrewer)
library(rasterVis)
## Warning: package 'rasterVis' was built under R version 4.2.3
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 4.2.3
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.2.3

Datos

En primer lugar, se presentan los datos y procedimientos para construir mapas de aptitud en función de la temperatura y precipitación. Los datos de temperatura y precipitación fueron extraidos de la página WorldClim. Los datos para el mapa de división político mundial fue tomado de la página de Natural Earth.

Temperatura

Se descargaron los datos mensuales de temperatura promedio desde el año 1970 al año 2020.

#datos de temperatura
temp_data <- list.files("C:\\Users\\Usuario\\OneDrive - PUJ Cali\\Documents\\GEOESTADÍSTICA\\Actividades\\data_precipitacion\\temperatura", full.names = TRUE)
temp=stack(temp_data)
names(temp)=month.name
plot(temp)

Figura 1. Mapa de temperatura mensual promedio.

Precipitación

Los datos de precipitación también fueron tomados de la página WorldClim.

prec_data <- list.files("C:\\Users\\Usuario\\OneDrive - PUJ Cali\\Documents\\GEOESTADÍSTICA\\Actividades\\data_precipitacion\\precipitacion", full.names = TRUE)
prec=stack(prec_data)
names(prec)=month.name
plot(prec)

Figura 2. Mapa de precipitación mensual promedio.

Mapa

Finalmente, también se necesita un archivo que contenga la división mundial

#mapa
paises = shapefile("C:\\Users\\Usuario\\OneDrive - PUJ Cali\\Documents\\GEOESTADÍSTICA\\Actividades\\data_precipitacion\\mapa.shp")
plot(paises)

Figura 3. Mapa de la división política mundial.

Zonas con alto potencial

Para identificar zonas con alto potencial de rendimiento, se consideran los siguientes rangos de condiciones ideales:

■ Temperatura media entre 22.5 y 28 grados centrigados.

■ Precipitación mensual entre 125 y 290 milimetros.

Temperatura

#criterio
crit_temp <- temp >= 22.5 & temp <= 28
indicador_temp <- sum(crit_temp)

#ajustarlo para presentarlo como porcentaje
indicador_temp <- indicador_temp / 12 * 100
plot(indicador_temp)

Figura 4. Mapa de temperatura promedio ideal para la caña de azucar

Precipitación

crit_prec = prec >= 125 & prec <= 290
indicador_prec = sum(crit_prec)

#Se ajusta el indicador para presentarlo como porcentaje
indicador_prec=indicador_prec/12*100
plot(indicador_prec)

Figura 5. Mapa de precipitación promedio ideal para la caña de azucar

Para determinar las zonas con alto potencial, se identifican aquellas que cumplen con ambos criterios (temperatura y precipitación) en al menos un 75%.

#zonas que no cumplan con el 75% en temperatura
temp_no <- which(indicador_temp[] < 75)
indicador_temp[temp_no] <- NA

#zonas que no cumplan con el 75% en precipitacion
prec_no <- which(indicador_prec[] < 75)
indicador_prec[prec_no] <- NA

#Combinar indicadores de temperatura y precipitación
zonas_optimas <- (indicador_temp + indicador_prec) / 2
plot(paises)
plot(zonas_optimas, add=T)

Figura 6. Zonas óptimas para el cultivo de caña de azúcar, donde se cumplen ambos criterios de temperatura y precipitación en al menos el 75%.

Las zonas óptimas se concentran en zonas cercanas a la Línea del Ecuador; por un lado en la región amazónica de Colombia, Ecuador y Brasil; por otro en África en países como Gabón y Camerún; y finalmente en Sudeste Asiático en zonas como Indonesia y Malasia.

Lugares en el Valle del Cauca

El Valle del Cauca es reconocido por sus fértiles tierras y su producción de caña de azúcar. Estudiemos la temperatura y precipitación de dos ingenios ubicados en el departamento.

Ingenio Manuelita

lat1 = 4.811285999219965
lng1 = -76.39879579973939

leaflet() %>% addTiles() %>% addCircleMarkers(lat = lat1, lng = lng1)

La temperatura del lugar es la siguiente:

zona1 <- data.frame(
  longitude = c(lng1), 
  latitude = c(lat1)        
)

temp_zona1=as.data.frame( extract(temp,zona1))

temp_zona1
##   January February  March April    May   June   July August September October
## 1  21.582    21.72 22.048 21.97 21.789 21.562 21.613 21.577    21.386  21.045
##   November December
## 1    21.16   21.367
##Serie de tiempo
zona1_temp=ts(as.numeric(temp_zona1[1,]))
plot(zona1_temp, main= "Temperatura Ingenio Manuelita")

La precipitación del lugar es la siguiente:

prec_zona1=as.data.frame(extract(prec,zona1))

prec_zona1
##   January February March April May June July August September October November
## 1     263      195   195   277 316  219  156    205       181     377      312
##   December
## 1      280
##Serie de tiempo
zona1_prec=ts(as.numeric(prec_zona1[1,]))
plot(zona1_prec, main= "Precipitación Ingenio Manuelita")

Ingenio Pichichi

lat2 = 3.7877016209926655
lng2 = -76.28078983097153

leaflet() %>% addTiles() %>% addCircleMarkers(lat = lat2, lng = lng2)

La temperatura del lugar es la siguiente:

zona2 <- data.frame(
  longitude = c(lng2), 
  latitude = c(lat2)        
)

temp_zona2=as.data.frame( extract(temp,zona2))
temp_zona2
##   January February March  April    May   June   July August September October
## 1   23.04   23.177 23.28 23.032 22.856 22.783 23.059 23.105    22.973  22.441
##   November December
## 1    22.32   22.603
##Serie de tiempo
zona2_temp=ts(as.numeric(temp_zona2[1,]))
plot(zona2_temp, main= "Temperatura Ingenio Pichichi")

La precipitación del lugar es la siguiente:

prec_zona2=as.data.frame(extract(prec,zona2))
prec_zona2
##   January February March April May June July August September October November
## 1      81       82   120   159 135  109   59     80       100     193      162
##   December
## 1      111
##Serie de tiempo
zona2_prec=ts(as.numeric(prec_zona2[1,]))
plot(zona2_prec, main= "Precipitación Ingenio Pichichi")

Métrica de Similaridad

Ingenio Manuelita

zona1_comp_temp <- sqrt(sum((temp - as.numeric(zona1_temp))^2))
plot_temp <- levelplot(zona1_comp_temp,
                       par.settings = BTCTheme,
                       at = seq(0, 176, 10),
                       main = "Temperatura similares al Ingenio Manuelita")

zona1_comp_prec <- sqrt(sum((prec - as.numeric(zona1_prec))^2))
plot_prec <- levelplot(zona1_comp_prec,
                       par.settings = BTCTheme,
                       at = seq(0, 2383, 100),
                       main = "Precipitaciones similares al Ingenio Manuelita")

grid.arrange(plot_temp, plot_prec, ncol = 2)

temp_similar_filtered <- zona1_comp_temp
temp_similar_filtered[temp_similar_filtered > 28] <- NA  

prec_similar_filtered <- zona1_comp_prec  
prec_similar_filtered[prec_similar_filtered > 290] <- NA  

intersection_zones <- temp_similar_filtered & prec_similar_filtered

original_par <- par(mar = c(0, 0, 0, 0))
plot(paises, main = "Zonas similares al ingenio Manuelita")
plot(intersection_zones, add = TRUE, col = "blue", breaks = c(1, 1.1), legend = FALSE)

par(original_par)

Ingenio Pichichi

zona2_comp_temp <- sqrt(sum((temp - as.numeric(zona2_temp))^2))
plot_temp <- levelplot(zona2_comp_temp,
                       par.settings = BTCTheme,
                       at = seq(0, 176, 10),
                       main = "Zonas con temperatura similares al Ingenio Pichichi")

zona2_comp_prec <- sqrt(sum((prec - as.numeric(zona2_prec))^2))
plot_prec <- levelplot(zona1_comp_prec,
                       par.settings = BTCTheme,
                       at = seq(0, 2383, 100),
                       main = "Zonas con precipitaciones similares al Ingenio Pichichi")

grid.arrange(plot_temp, plot_prec, ncol = 2)

temp_similar_filtered <- zona2_comp_temp
temp_similar_filtered[temp_similar_filtered > 28] <- NA  

prec_similar_filtered <- zona2_comp_prec  
prec_similar_filtered[prec_similar_filtered > 290] <- NA  

intersection_zones <- temp_similar_filtered & prec_similar_filtered


original_par <- par(mar = c(0, 0, 0, 0))
plot(paises, main = "Zonas similares al ingenio Pichichi")

plot(intersection_zones, add = TRUE, col = "blue", breaks = c(1, 1.1), legend = FALSE)

par(original_par)

Comparaciones y conclusion

Para el caso del Ingenio Manuelita, se presentan condiciones similares cerca al amazonas. Mientras que, para el ingenio Pichichi en africa cerca a la línea del Ecuador. Ambos muestran similitud en paises del Sudeste asiatico.

Finalmente, se recomiendo cultivar la caña de azucar en las regiones cercanas a la Línea del Ecuador en América del Sur, como el Amazonas, así como países de África Central como Gabón y Camerún, y zonas del Sudeste Asiático como Indonesia y Malasia.

Referencias