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")
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
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")
})
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)
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)