2024-06-23

Limpiar memoria

g <- gc(reset = T)
rm(list = ls())
options(scipen = 0, warn = -1)

Librerías

require(pacman)
pacman::p_load(raster,sf,leaflet,dplyr,geodata,rnaturalearth,rasterVis,
              RColorBrewer)

Descargar vectoriales

Paises

Paises_Mundo <- world(resolution=1, level=0, path="tempdir()",
                      version="latest")
Paises_Mundo <- st_as_sf(Paises_Mundo)
Chile <- gadm(country="CHL", level=1, path="tempdir()", version="latest")
Chile <- st_as_sf(Chile)
Chile3 <- gadm(country="CHL", level=3, path="tempdir()", version="latest")
Chile3 <- st_as_sf(Chile3)

Condiciones climatologicas para el cultivo de pitahaya

Variables idóneas

  • Temperatura: 18 - 27°C
  • Altitud: 0 - 1.850 m
  • Precipitacion: 650-1.500 m anuales (54-125 m mensuales)
  • pH: 5.5 - 6.5

Variable Temperatura

Descargar desde Worldclim

temperatura <- worldclim_global(var='tavg', res=2.5, path=tempdir(),
                                version="2.1")

Procesar variable temperatura

temp <- stack(temperatura)
names(temp) <- month.name
plot(temp)

Areas que cumplen condiciones de temperatura

temp_cond <- temp > 18 & temp < 27
plot(temp_cond) #grafica mapas binarios  (1 verde: cumple, 0 gris: no cumple)

Se calcula el promedio del objeto “temp_cond”

temp_cond_gral <- calc(temp_cond, mean)

Graficar condición óptima de temperatura promedio anual (18-27°C)

mytheme <- rasterTheme(region = brewer.pal(9, "YlOrRd"))
levelplot(temp_cond_gral, par.settings = mytheme, main = "Condición Óptima de Temperatura Promedio anual (18° - 27°)")
plot(temp_cond_gral,main = "Condición Óptima de Temperatura Promedio
     anual (18° - 27°)", xlab = "Longitud", ylab="Latitud")

Variable Precipitación mundial

Descargar desde Worldclim

precipitacion <- worldclim_global(var='prec', res=2.5, path=tempdir(),
                                  version="2.1")

Procesar variable precipitacion

precip<- stack(precipitacion) 
names(precip) = month.name
plot(precip)

Calcular la precipitacion total (anual) sumando las capas mensuales

precip_total <- calc(precip, sum)

Graficar la precipitacion total

mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(precip_total, par.settings = mytheme, main = "Precipitación Total Anual")

plot(precip_total, main = "Precipitación Total Anual",
     xlab = "Longitud", ylab="Latitud")

Areas que cumplen condiciones de precipitacion

precip_cond <- precip_total > 54 & precip_total < 125
plot(precip_cond, main = "Precipitación Mundial (54 - 125 mm)",
     xlab = "Longitud", ylab="Latitud") 

Combinando las condiciones de temperatura y precipitación se tiene:

combined_cond <- temp_cond & precip_cond
plot(combined_cond)

condiciones_optimas_temp_y_Precip <- calc(combined_cond, mean)
plot(condiciones_optimas_temp_y_Precip)

Indice de Aridez de Martonne para identificar zonas optimas para pitahaya

temp_media <- stack(temperatura) 
names(temp_media) <- month.name

temp_media_gral <- calc(temp_media, mean)

mytheme <- rasterTheme(region = brewer.pal(9, "YlOrRd"))
levelplot(temp_media_gral, par.settings = mytheme,
          main = "Temperatura Promedio Anual")

plot(temp_media_gral,main = "Temperatura Promedio Anual",
     xlab = "Longitud", ylab="Latitud")

Calcular la precipitacion total (anual) sumando las capas mensuales

precip_total <- calc(precip, sum)

Graficar la precipitacion total

mytheme <- rasterTheme(region = brewer.pal(9, "Blues"))
levelplot(precip_total, par.settings = mytheme,
          main = "Precipitación Total Anual")

plot(precip_total, main = "Precipitación Total Anual",
     xlab = "Longitud", ylab="Latitud")

El Índice de Martonne podría entonces establecerse con:

  • Temperatura: 18°C - 27°C
  • Precipitación: Al menos 54 mm anuales (mínimo recomendado para la pitahaya)

Dado que el índice toma en cuenta tanto la precipitación como la temperatura, podemos analizar un valor representativo. Por ejemplo, para una precipitación de 54 mm y una temperatura media de 22.5°C

  • Ia = 54/(22.5 + 10)= 1.66 (hiperárido)

Indice Aridez

ia_ridez <- precip_total/(temp_media_gral + 10)
valor = ia_ridez> 0 & ia_ridez < 5
plot(valor, main="Indice de Aridez - Martonne",
     xlab = "Longitud", ylab="Latitud")
plot(Paises_Mundo$geometry, add=T)

Zonas idóneas para el cultivo de la pitahaya en el mundo

Grabar archivo en el disco duro

writeRaster(valor, filename="Pitahaya", format="GTiff", overwrite=T)

Zonas de Chile con alto potencial para cultivo de pitahaya

aptitud_opc2_chile <- mask(valor,Chile)
aptitud_opc2_chile <- crop(valor,Chile)
plot(aptitud_opc2_chile, main="Indice de Aridez Martonne en Chile" ,
     xlab = "Longitud", ylab="Latitud")
plot(Chile$geometry, add=T)

Grabar archivo en el disco duro

writeRaster(aptitud_opc2_chile, filename="Pitahaya", format="GTiff", overwrite=T)