En este informe, se identifica dos regiones adecuadas para el cultivo de caña de azúcar utilizando datos climáticos de WorldClim.
color_temp <- colorRampPalette(c("lightblue", "green", "yellow", "orange"))(100)
ruta1=list.files("temperatura/",full.names = TRUE)
temp=stack(ruta1)
names(temp)=month.name
plot(temp, col=color_temp)
blue_palette <- colorRampPalette(c("lightblue", "blue", "darkblue"))(100)
ruta2=list.files("Precipitacion/",full.names = TRUE)
prec=stack(ruta2)
names(prec)=month.name
plot(prec, col=blue_palette)
La caña de azúcar generalmente prospera en regiones con temperaturas entre 22.5°C y 28°C y precipitaciones anuales entre 1500 mm y 3500 mm. Se filtra los datos climáticos basados en estos criterios.
temp_optimas=temp>22.5 & temp<28
names(temp_optimas)=month.name
plot(temp_optimas,col = color_temp)
aptitud_opc2=sum(temp_optimas)
aptitud_opc2=aptitud_opc2/12*100
plot(aptitud_opc2, col = color_temp)
title(main = "Temperatura promedio en rangos óptimos")
preci_optima=prec>125 & prec<290
names(preci_optima)=month.name
plot(preci_optima,col = blue_palette)
Precita1=sum(preci_optima)
Precita2=Precita1/12*100
plot(Precita2, col = blue_palette)
title(main = "Precipitación promedio anual en rangos optimos")
world <- ne_countries(scale = "medium", returnclass = "sv")
# Filtrar píxeles de aptitud menores a 70
pixels_borrar = which(aptitud_opc2[] < 70)
aptitud_opc2[pixels_borrar] = NA
# Graficar aptitud con título
plot(aptitud_opc2, main = "Porcentaje de aptitud en temperatura")
# Agregar contornos del mapa sobre la gráfica
plot(world, add = TRUE, border = "black")
# Filtrar píxeles de aptitud menores a 70
pixels_borrar = which(Precita2[] < 70)
Precita2[pixels_borrar] = NA
# Graficar aptitud con título
plot(Precita2, main = "Porcentaje de aptitud en precipitación")
# Agregar contornos del mapa sobre la gráfica
plot(world, add = TRUE, border = "black")
Al comparar los dos mapas globales y los porcentajes de aptitud según la temperatura y la precipitación anuales, identificamos dos regiones potencialmente aptas para el cultivo de caña de azúcar. Estas regiones se encuentran en Perú y la República Democrática del Congo.
world <- ne_countries(scale = "medium", returnclass = "sf")
# Definir los países con alto potencial para la caña de azúcar
high_potential_countries <- c("Peru", "Democratic Republic of the Congo")
# Filtrar los datos del shape global para estos países
high_potential_areas <- world %>%
filter(admin %in% high_potential_countries)
# Graficar los mapas
mapa = ggplot(data = world) +
geom_sf(fill = "gray90", color = "white") +
geom_sf(data = high_potential_areas, aes(fill = admin), color = "black") +
scale_fill_manual(values = c("Peru" = "Red", "Democratic Republic of the Congo" = "yellow")) +
theme_minimal() +
labs(title = "Paises con Alto Potencial para la Caña de Azúcar",
fill = "País") +
theme(legend.position = "bottom")
mapa
Estos son los países identificados, pero más específicamente, las regiones son Loreto en Perú, ubicada en el norte del país, y Tshuapa en la República Democrática del Congo, también en el norte. Ambas regiones comparten la característica de estar muy cerca de la línea del ecuador.
#Semilla
set.seed(111)
n_points <- 3
# Generar puntos aleatorios dentro de los límites del Valle del Cauca
random_points <- data.frame(
lat = runif(n_points, min = 3.2, max = 4.5),
lon = runif(n_points, min = -77.2, max = -75.8),
label = paste("Ubicación", 1:n_points)
)
# Crear el mapa y agregar marcadores con popups
mapa <- leaflet(data = random_points) %>%
addTiles() %>%
addMarkers(lng = ~lon, lat = ~lat, popup = ~label)
# Mostrar el mapa
mapa
Con los tres puntos se realiza las series de temperatura y precipitación.
random_points <- random_points[, c("lon", "lat")]
T7=(raster::extract (temp,random_points))
Temp_Valle= as.data.frame(T7)
Temp_Valle$Ubicación <- c("Ubicación 1", "Ubicación 2", "Ubicación 3")
Temp_Valle_long <- gather(data = Temp_Valle, key = "Mes", value = "Temperatura", -Ubicación)
meses_ordenados <- c("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
Temp_Valle_long$Mes <- factor(Temp_Valle_long$Mes, levels = meses_ordenados)
ggplot(Temp_Valle_long, aes(x = Mes, y = Temperatura, color = Ubicación, group = Ubicación)) +
geom_line(size = 1) +
labs(title = "Serie de Tiempo de Temperaturas",
x = "Mes",
y = "Temperatura",
color = "Ubicación") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
T8=(raster::extract (prec,random_points))
Prec_Valle= as.data.frame(T8)
Prec_Valle$Ubicación <- c("Ubicación 1", "Ubicación 2", "Ubicación 3")
Prec_Valle_long <- gather(data = Prec_Valle, key = "Mes", value = "Precipitación", -Ubicación)
meses_ordenados <- c("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
Prec_Valle_long$Mes <- factor(Prec_Valle_long$Mes, levels = meses_ordenados)
ggplot(Prec_Valle_long, aes(x = Mes, y = Precipitación, color = Ubicación, group = Ubicación)) +
geom_line(size = 1) +
labs(title = "Serie de Tiempo de Precipitación",
x = "Mes",
y = "Precipitación",
color = "Ubicación") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
La ubicación 2 es posiblemente la más apta para el cultivo de caña de azúcar.
Se escogió un punto en el Valle del Cauca, específicamente en el corregimiento de El Guali, perteneciente al municipio de La Candelaria, donde hay producción de caña de azúcar. Este punto se comparó con otras zonas del mundo utilizando las distancias euclidiana y de Manhattan para identificar las regiones más similares en términos de temperatura.
# Definir el punto de referencia
loc = cbind(3.581897, -76.260076)
# Extraer la serie temporal de temperaturas del punto de referencia
temp_loc = raster::extract(temp, loc)
# Calcular la diferencia euclidiana para cada celda
euclidean_distance <- function(x) {
sqrt(sum((x - temp_loc)^2, na.rm = TRUE))
}
# Aplicar la función a cada celda del RasterStack
distance_raster = calc(temp, euclidean_distance)
# Visualizar el raster de distancias euclidianas
plot(distance_raster, main = "Distancia Euclidiana a El Guali (Temperatura)")
# Definir el punto de referencia
loc = cbind(3.581897, -76.260076)
# Extraer la serie temporal de temperaturas del punto de referencia
temp_loc = raster::extract(prec, loc)
# Calcular la diferencia euclidiana para cada celda
euclidean_distance <- function(x) {
sqrt(sum((x - temp_loc)^2, na.rm = TRUE))
}
# Aplicar la función a cada celda del RasterStack
distance_raster = calc(prec, euclidean_distance)
# Visualizar el raster de distancias euclidianas
plot(distance_raster, main = "Distancia Euclidiana a El Guali (Precipitación)")
# Definir el punto de referencia
loc = cbind(3.581897, -76.260076)
# Extraer la serie temporal de temperaturas del punto de referencia
temp_loc = raster::extract(temp, loc)
# Calcular la distancia de Manhattan para cada celda
manhattan_distance <- function(x) {
sum(abs(x - temp_loc), na.rm = TRUE)
}
# Aplicar la función a cada celda del RasterStack
distance_raster = calc(temp, manhattan_distance)
# Visualizar el raster de distancias de Manhattan
plot(distance_raster, main = "Distancia de Manhattan a El Guali (Temperatura)")
# Definir el punto de referencia
loc = cbind(3.581897, -76.260076)
# Extraer la serie temporal de temperaturas del punto de referencia
temp_loc = raster::extract(prec, loc)
# Calcular la distancia de Manhattan para cada celda
manhattan_distance <- function(x) {
sum(abs(x - temp_loc), na.rm = TRUE)
}
# Aplicar la función a cada celda del RasterStack
distance_raster = calc(prec, manhattan_distance)
# Visualizar el raster de distancias de Manhattan
plot(distance_raster, main = "Distancia de Manhattan a El Guali (Precipitación)")
Al calcular las distancias euclidianas y de Manhattan, se encontró que el punto de referencia en el Valle del Cauca no tiene muchas similitudes con otras regiones a nivel global en términos de temperatura y precipitación. Esto indica que las condiciones climáticas de esta área son únicas y no se replican fácilmente en otras partes del mundo.