Inicialmente se carga un shapefile con los paises de todo el mundo y los raster mensuales con la información del clima a nivel mundial.
# Shape de paises
mundo=shapefile("C:/Users/ASUS/Desktop/Maestria Ciencia de Datos/Semestre III/Analisis inf Geografica/Taller 2/mundo/Mapa_paises_mundo.shp")
## Warning in sp::CRS(...): sf required for evolution_status==2L
# Temperatura mensual
archivos=list.files("C:/Users/ASUS/Desktop/Maestria Ciencia de Datos/Semestre III/Analisis inf Geografica/Taller 2/data_global/tmean/",full.names = TRUE)
temperaturas=stack(archivos)
## Warning in sp::CRS(...): sf required for evolution_status==2L
# Precipitación mensual
archivos_p=list.files("C:/Users/ASUS/Desktop/Maestria Ciencia de Datos/Semestre III/Analisis inf Geografica/Taller 2/data_global/prec/",full.names = TRUE)
preci=stack(archivos_p)
Para el cultivo de caña se tienen los siguientes rangos óptimos:
En el caso de la temperatura, se halla la temperatura media anual sumando todas las capas y diviendo sobre el total de meses, una vez obtenido esto se filtra las zonas con la temperatura del rango optimo, obteniendo un mapa con las zonas potenciales.
temp_anual<-sum(temperaturas)/12
temp_anual_filtro<-temp_anual
temp_anual_filtro[(temp_anual_filtro < 22.5) | (temp_anual_filtro > 28) ] <- NA
color <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(temp_anual_filtro,par.settings=color,main="Temperatura media anual - Rango ótimo")
para la precipitación, primero se halla la precipitación anual sumando todas las capas, para finalmente realizar el filtro, en este caso se obtiene un sólo mapa que enseña las zonas donde se cumple la condición de precipitación anual para el cultivo de caña.
preci_anual <- sum(preci)
preci_anual_filtro=preci_anual
preci_anual_filtro[(preci_anual_filtro < 1500) | (preci_anual_filtro > 3500) ] <- NA
color <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(preci_anual_filtro,par.settings=color, main= "Precipitación total anual - Rango ótimo")
Para obtener las áreas que cumplen con ambas condiciones se intersectan los raster del resultado anterior y se grafica con la capa shape de los paises del mundo.
inter = preci_anual_filtro & temp_anual_filtro
opar <- par()
par(mar = c(0,0, 0, 0))
plot(mundo, main="Areas con alto potencial de cultivo de caña")
plot(inter,add=T, col="green",breaks=c(1,1.1),legend=FALSE)
par(opar)
En el resultado se ve que las zonas está presentes en Brasil y algunos países de África y Asia.
Para este ejercicio se opta por 2 puntos uno es cercano al Ingenio Castilla y el segundo al Ingenio Manuelita ya que se sabe que en estos se cultiva y procesa la caña de azucar.
# Se extraen 2 punto el primero es del ingenio castilla y el segundo de manuelita
puntos <- data.frame(
longitude = c(-76.27074498261221,-76.30749588236598),
latitude = c(3.3719021505930895,3.5830462652466983)
)
temp_valle=as.data.frame( extract(temperaturas,puntos))
prec_valle= as.data.frame( extract(preci,puntos))
Para las series de tiempo se extrae la información de los raster en las coordenadas dadas.
Se puede ver que la temperatura se encuentra en los rangos óptimos propuestos.
Para la precipitación mensual se tiene un rango óptimo entre 125 y 290 mm, en el caso del ingenio castilla se ve que esta un poco por debajo en algunos meses.
En la ubicación del ingenio manuelita, la temperatura promedio se encuentra entre 1 a 2 C° por debajo de los rango ótimos.
Al igual que en el ingenio castilla, la precipitación en el ingenio manuelita está por debajo de los rangos óptimos en algunos meses.
Una vez obtenidas las series para ambas ubicaciones se calcula la distancia euclidiana entre estas y las capas de temperatura y precipitación, aquí se obtiene un mapa con una escala que siempre es mayor a 0, las zonas que presenten un valor cercano a este (0) serán muy similares a las ubicaciones propuestas en el Valle del Cauca.
simil_castilla_temp= sqrt(sum((temperaturas-as.numeric(castilla_serie_temp))^2))
levelplot(simil_castilla_temp,par.settings=BTCTheme,at=seq(0,176,10), main="Zonas similares a Castilla en temperatura")
simil_castilla_prec= sqrt(sum((preci-as.numeric(castilla_serie_prec))^2))
levelplot(simil_castilla_prec,par.settings=BTCTheme,at=seq(0,2383,100), main="Zonas similares a Castilla en precipitación")
Al igual que el método anterior se opta por filtrar los raster para las zonas que tengan la menor distancia euclidiana, estas se intersectan obteniando una mapa sombreado con los lugares más similares en temperatura y precipitación.
simil_castilla_temp_filtro<-simil_castilla_temp
simil_castilla_temp_filtro[(simil_castilla_temp_filtro >20 )] <- NA
simil_castilla_prec_filtro<-simil_castilla_prec
simil_castilla_prec_filtro[(simil_castilla_prec_filtro > 300 )] <- NA
inter2<-simil_castilla_temp_filtro & simil_castilla_prec_filtro
opar <- par() # make a copy of current settings
par(mar = c(0,0, 0, 0))
plot(mundo, main="Areas con alto potencial de cultivo de caña - Castilla")
plot(inter2,add=T, col="green",breaks=c(1,1.1),legend=FALSE)
par(opar)
Nuevamente se obtienen zonas en Brasil, África y Asia.
Se repite el ejercicio para Ingenio manuelita.
simil_manuelita_temp= sqrt(sum((temperaturas-as.numeric(manuelita_serie_temp))^2))
levelplot(simil_manuelita_temp,par.settings=BTCTheme,at=seq(0,176,10), main="Zonas similares a Manuelita en temperatura")
simil_manuelita_prec= sqrt(sum((preci-as.numeric(manuelita_serie_prec))^2))
levelplot(simil_manuelita_prec,par.settings=BTCTheme,at=seq(0,2388,100), main="Zonas similares a Manuelita en Precipitación")
simil_manuelita_temp_filtro<-simil_manuelita_temp
simil_manuelita_temp_filtro[(simil_manuelita_temp_filtro >20 )] <- NA
simil_manuelita_prec_filtro<-simil_manuelita_prec
simil_manuelita_prec_filtro[(simil_manuelita_prec_filtro > 300 )] <- NA
inter3<-simil_manuelita_temp_filtro & simil_manuelita_prec_filtro
opar <- par() # make a copy of current settings
par(mar = c(0,0, 0, 0))
plot(mundo, main="Areas con alto potencial de cultivo de caña - Manuelita")
plot(inter3,add=T, col="green",breaks=c(1,1.1),legend=FALSE)
par(opar)
Siendo que ambas ubicaciones no tienen mucha diferencia climática, finalmente se obtiene un resultado similar.