SituaciĂ³n Climatica para la Caña de Azucar

Analisis de la Temperatura

Se grafica la temperatura para los doces meses del año para los distintos paises del mundo, donde se evidencia temepraturas mayores para los meses de Mayo a Septiembre, siendo Julio y Agosto los meses mas calurosos.

archivos=list.files("C:/Users/lifes/Downloads/datos_clima/data_global/tmean/",full.names = TRUE)
temperaturas=stack(archivos)
names(temperaturas)=month.name
levelplot(temperaturas,par.settings=BuRdTheme,main = "Temperatura")

Paises con temperatura media optima para caña de azucar

Los paises que tienen una temperatura optima para que la caña de azucar se de, suelen tener temperaturas entre los 22.5° y 28°, al analizar que paises cumplen estĂ¡ condicion durante lo largo del año vemos que los paises que se encuentran cerca a la linea del ecuador, suelen tener temperaturas similares a lo largo del año.

temperatura_optima =temperaturas>=22.5&temperaturas<=28
mytheme <- rasterTheme(region = brewer.pal(9, "Greens"))
levelplot(temperatura_optima,par.settings=mytheme,main = "Temperatura media Óptima") #BuRdTheme

Al analizar la temperatura promedio, del año vemos que efectivamente, los paises que se encuentran en la parte superior de america del sur y gran parte de los paises de la parte superior de africa, mantienen esta temperaturas.

temperatura_media = mean(temperaturas)
temperatura_optima =temperatura_media>=22.5&temperatura_media<=28
mytheme <- rasterTheme(region = brewer.pal(9, "Greens"))
levelplot(temperatura_optima,par.settings=mytheme, main = "Temperatura media Óptima") #BuRdTheme

PrecipitaciĂ³n mensual Optima

Frente a la precipitacion mensual, los paises que tienen condiciones optimas para la producciĂ³n de caña de azucar deben tener precipitaciones mensuales entre los 125mm y 290mm. Al analizar el comportamiento de cada uno de los 12 meses, vemos que lo normal entre los paises es tener precipitaciones mensuales por debajo delos 500mm, exceptuando paises como Myanmar (Birmania) donde este valor puede superar los 1500mm

archivos=list.files("C:/Users/lifes/Downloads/datos_clima/data_global/prec/",full.names = TRUE)
precipitacion=stack(archivos)
names(precipitacion)=month.name
mytheme <- rasterTheme(region = brewer.pal(6, "Blues"))
# df_puntos <- data.frame(x = c(95), y = c(20),descripcion = c("Myanmar"))

levelplot(precipitacion,par.settings=mytheme,main = "Temperatura"
          # panel = function(...) {
          #   panel.levelplot(...)
          #   panel.xyplot(df_puntos$x, df_puntos$y, col = "red", pch = 1,fill = "transparent")
          #   panel.text(df_puntos$x, df_puntos$y, df_puntos$descripcion, pos = 3,cex = 0.4, col = "red")} 
          ) #BuRdTheme

Al igual que con la temperatura, los paises que se encuentran dentro de rango de precipitaciones optimos para la caña de azucar son aquellos estĂ¡n localizados dentro de la linea del ecuador y el tropico de capricornio.

precipitacion_mensual_optima =precipitacion>=125&temperaturas<=290
mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(precipitacion_mensual_optima,main = "PrecipitaciĂ³n Mensual Ă“ptima",par.settings=mytheme) #BuRdTheme

Al analizar las precipitaciones medias de cada uno de los paĂ­ses, seguimos observando dicha prevalencia en los paises localizados en entre la linea del ecuador y el tropico de capricornio. Y especialmente en lo que es america del sur y ciertos paises de africa.

precipitacion_media_mensual = mean(precipitacion)
precipitacion_mensual_optima =precipitacion_media_mensual>=125&precipitacion_media_mensual<=290
mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(precipitacion_mensual_optima,main = "PrecipitaciĂ³n Mensual Ă“ptima",par.settings=mytheme) #BuRdTheme

Analizamos las precipitaciones anuales de cada uno de los paĂ­ses, y en esta optica se sigue evidenciando dicha prevalencia en los paises localizados en entre la linea del ecuador y el tropico de capricornio, y especialmente en lo que es america del sur.

precipitacion_anual = sum(precipitacion)
precipitacion_anual_optima =precipitacion_anual>=1500&precipitacion_anual<=3500
mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(precipitacion_anual_optima, main = "PrecipitaciĂ³n Anual Ă“ptima", par.settings=mytheme)

Al analizar las 3 condiciones que deben cumplir los paises para considerarlos aptos para el cultivo de caña de azucar , vemos que los paises de la parte superior de america del sur, en mayor proporciĂ³n cumplen con los 3 parametros definidos anteriormente. Entre estos paises que cumplen las condiciones podemos destacar, fuera de colombia, podemos destacar venezuela, brazil y GabĂ³n (Africa).

unidos <- stack(temperatura_optima, precipitacion_mensual_optima, precipitacion_anual_optima)
mytheme <- rasterTheme(region = brewer.pal(3, "Greens"))

df_puntos <- data.frame(x = c(10.5,-65.8, -62.9 ), y = c(0.8, 4.5,-10.7),descripcion = c("GabĂ³n \n (Africa)","Venezuela", "Brazil"))



levelplot(unidos, main = "Condiciones Óptima para la Caña de Azucar", par.settings=mytheme,
          names.attr = c("Temperatura Optima", "PrecipitaciĂ³n Mensual Optima", "PrecipitaciĂ³n Anual Optima"),
          panel = function(...) {
            panel.levelplot(...)
            panel.xyplot(df_puntos$x, df_puntos$y, col = "red", pch = 1,fill = "transparent")
            panel.text(df_puntos$x, df_puntos$y, df_puntos$descripcion, pos = 3,cex = 0.4, col = "red")
          })

Algunas zonas del valle del cauca

En este punto se escogieron desde google map ubicaciones aleatorias de la regiĂ³n del valle del cauca y se graficaron las temperaturas y las precipitaciones

coordenadas <- data.frame(x = c(-76.47,-77.04,-76.37), y = c(3.57,4.03,3.96))
valores_temperatura <- as.data.frame(t(as.data.frame(extract(temperaturas,coordenadas, method = 'bilinear'))))
colnames(valores_temperatura)=c('Yumbo','Buenaventura','Yotoco')

coordenadas <- data.frame(x = c(-76.47,-77.04,-76.37), y = c(3.57,4.03,3.96))
valores_precipitacion <- as.data.frame(t(as.data.frame(extract(precipitacion,coordenadas, method = 'bilinear'))))
colnames(valores_precipitacion)=c('Yumbo','Buenaventura','Yotoco')

#### Mapa de distancia para el punto Yumbo

coordenadas <- data.frame(x = c(-76.47), y = c(3.57))
valores_temperatura <- as.data.frame(extract(temperaturas,coordenadas, method = 'bilinear'))
row.names(valores_temperatura)=c('Yumbo')

total_coordenadas <- coordinates(temperaturas)
total_temperaturas <- values(temperaturas)
data <- data.frame(total_coordenadas, temperatura = total_temperaturas)
row.names(data) <- paste(data$x, data$y, sep = ";")
data <- data[,3:ncol(data)]

mapa_distancia = precipitacion_anual

distancias <- apply(data, 1, function(row) dist(rbind(valores_temperatura, row),method = "euclidean"))

if (length(distancias) == ncell(mapa_distancia)) {

  valores <- getValues(mapa_distancia)
  valores[] <- distancias
  setValues(mapa_distancia, valores)
} else {
  print("La longitud del vector de precipitaciones no coincide con el nĂºmero de celdas en el RasterLayer.")
}
## class      : RasterLayer 
## dimensions : 300, 720, 216000  (nrow, ncol, ncell)
## resolution : 0.5, 0.5  (x, y)
## extent     : -180, 180, -60, 90  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : layer 
## values     : 1.153836, 169.6179  (min, max)
mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(mapa_distancia, main = "Distancia de las temperaturas con el Punto Yumbo", par.settings=mytheme)

Mapa de distancia para el punto Buenaventura

coordenadas <- data.frame(x = c(-77.04), y = c(4.03))
valores_temperatura <- as.data.frame(extract(temperaturas,coordenadas, method = 'bilinear'))
row.names(valores_temperatura)=c('Buenaventura')

total_coordenadas <- coordinates(temperaturas)
total_temperaturas <- values(temperaturas)
data <- data.frame(total_coordenadas, temperatura = total_temperaturas)
row.names(data) <- paste(data$x, data$y, sep = ";")
data <- data[,3:ncol(data)]

mapa_distancia = precipitacion_anual

distancias <- apply(data, 1, function(row) dist(rbind(valores_temperatura, row),method = "euclidean"))

if (length(distancias) == ncell(mapa_distancia)) {

  valores <- getValues(mapa_distancia)
  valores[] <- distancias
  setValues(mapa_distancia, valores)
} else {
  print("La longitud del vector de precipitaciones no coincide con el nĂºmero de celdas en el RasterLayer.")
}
## class      : RasterLayer 
## dimensions : 300, 720, 216000  (nrow, ncol, ncell)
## resolution : 0.5, 0.5  (x, y)
## extent     : -180, 180, -60, 90  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : layer 
## values     : 1.146583, 183.8137  (min, max)
mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(mapa_distancia, main = "Distancia de las temperaturas con el Punto Buenaventura", par.settings=mytheme)

Mapa de distancia para el punto Yotoco

coordenadas <- data.frame(x = c(-76.37), y = c(3.96))
valores_temperatura <- as.data.frame(extract(temperaturas,coordenadas, method = 'bilinear'))
row.names(valores_temperatura)=c('Yotoco')

total_coordenadas <- coordinates(temperaturas)
total_temperaturas <- values(temperaturas)
data <- data.frame(total_coordenadas, temperatura = total_temperaturas)
row.names(data) <- paste(data$x, data$y, sep = ";")
data <- data[,3:ncol(data)]

mapa_distancia = precipitacion_anual

distancias <- apply(data, 1, function(row) dist(rbind(valores_temperatura, row),method = "euclidean"))

if (length(distancias) == ncell(mapa_distancia)) {

  valores <- getValues(mapa_distancia)
  valores[] <- distancias
  setValues(mapa_distancia, valores)
} else {
  print("La longitud del vector de precipitaciones no coincide con el nĂºmero de celdas en el RasterLayer.")
}
## class      : RasterLayer 
## dimensions : 300, 720, 216000  (nrow, ncol, ncell)
## resolution : 0.5, 0.5  (x, y)
## extent     : -180, 180, -60, 90  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : layer 
## values     : 1.205746, 173.8412  (min, max)
mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(mapa_distancia, main = "Distancia de las temperaturas con el Punto Yotoco", par.settings=mytheme)