En este vídeo tutorial explico como hacer uso de la librería geoBounds dentro de R para acceder a información de shapefiles político administrativo a distintos niveles. Y podemos lograr mapas como este:
Fabio Alexander Castro Llanos: fabioalexandercastro@gmail.com wa.me/+573217850490
En este pequeño proyecto desarrollé una aplicación interactiva en R Shiny para visualizar el Palmer Drought Severity Index (PDSI) a nivel municipal en Colombia. La idea es bastante simple: poder explorar cómo cambian las condiciones de sequía o humedad mes a mes usando un mapa interactivo.
El resultado final es una app donde el usuario puede seleccionar año y mes, y automáticamente el mapa se actualiza mostrando el valor del índice en cada municipio.
La aplicación está construida usando sf, leaflet, tidyverse y Shiny, junto con algunos ajustes visuales usando bslib para darle una apariencia moderna
📦 Carga de librerías y datos
El primer paso consiste en cargar las librerías necesarias y leer los datos que vamos a usar.
En este caso se utilizan dos datasets principales:
Un shapefile simplificado de los municipios de Colombia
Además se agrega una leyenda dinámica que ayuda a interpretar los colores.
🌎 Resultado
El resultado es una pequeña aplicación interactiva que permite explorar rápidamente las condiciones de sequía o humedad en Colombia a escala municipal.
Este tipo de herramientas resulta especialmente útil para:
monitoreo climático
análisis agroclimático
exploración de datos espaciales en tiempo real
Y demuestra lo poderoso que puede ser R para construir aplicaciones geoespaciales interactivas con relativamente pocas líneas de código.
Si requieres asesoría en temas de SIG contactame a mi correo fabioalexandercastro@gmail.com o whatsapp https://wa.me/+573217850490
En este nuevo tutorial muestro cómo calcular la estadística zonal del PDSI para todos los municipios de Colombia y generar un archivo espacial final listo para análisis multitemporal.
Trabajamos con datos previamente descargados de TerraClimate, específicamente el Palmer Drought Severity Index (PDSI), y realizamos el procesamiento usando un flujo reproducible en R.
🔎 ¿Qué hace el script?
El código realiza tres procesos fundamentales:
1️⃣ Lectura y organización de rasters
Se listan todos los .tif del PDSI recortados a Colombia y se ordenan correctamente por año.
fles <- dir_ls('./tif/pdsi', regexp = '.tif$')
fles <- grep('COL', fles, value = T)
fles <- mixedsort(fles)
2️⃣ Cálculo de estadística zonal
Utilizamos exactextractr::exact_extract() para calcular el promedio mensual del PDSI por municipio:
znal <- exactextractr::exact_extract(
x = rstr,
y = st_as_sf(mpio),
fun = 'mean'
)
El resultado genera:
12 columnas (mean.PDSI_1 a mean.PDSI_12)
Una fila por municipio
Un identificador temporal por año
Todo queda organizado en una tabla estructurada.
3️⃣ Creación del archivo espacial final
Luego hacemos el join con el shapefile municipal y exportamos:
st_write(znal, './gpkg/zonal_pdsi.gpkg')
El resultado es un GeoPackage listo para:
Mapas temáticos
Dashboards en Shiny
Modelos econométricos espaciales
Análisis multitemporal por municipio
🎥 Mira el paso a paso completo
En el video del canal Un Geógrafo en YouTube explico:
Por qué usar exactextractr en lugar de terra::extract
Cómo estructurar datos multitemporales
Buenas prácticas para zonal statistics
Errores comunes y cómo evitarlos
👉 Te invito a ver el tutorial completo en el canal.
Si requieres asesoría en temas de SIG contactame a mi correo fabioalexandercastro@gmail.com o whatsapp https://wa.me/+573217850490
En este tutorial te explico cómo descargar y procesar datos climáticos del dataset TerraClimate directamente desde R, automatizando la descarga de múltiples años, recortando por país y exportando los resultados en formato GeoTIFF listo para análisis espacial.
El flujo que implementamos es completamente reproducible y escalable, ideal para proyectos de modelación climática, análisis de sequías o estudios de cambio climático.
🌎 ¿Qué es TerraClimate?
TerraClimate es un conjunto de datos climáticos mensuales de alta resolución (~4 km) que combina información de estaciones, reanálisis y climatologías históricas. Es ampliamente utilizado para estudios de:
Balance hídrico
Índices de sequía (como PDSI)
Temperatura y precipitación
Modelación ecológica
Agricultura y seguridad alimentaria
En este ejemplo trabajamos con el Palmer Drought Severity Index (PDSI).
🧠 Objetivo del flujo en R
El script realiza cuatro procesos clave:
Genera automáticamente las URLs para múltiples años.
Descarga archivos NetCDF (.nc) desde el servidor THREDDS.
Recorta y enmascara los datos usando el límite oficial de Colombia.
Exporta cada resultado como archivo GeoTIFF.
Todo esto se ejecuta con una función aplicada iterativamente.
📦 Librerías utilizadas
Trabajamos con un stack moderno y eficiente
require(pacman)
p_load(terra, fs, sf, tidyverse, gtools, glue)
🔗 Construcción automática de URLs
Generamos las rutas directamente hacia el servidor:
✔ Automatización completa ✔ Flujo reproducible ✔ Uso de terra (más eficiente que raster) ✔ Escalable a cualquier variable de TerraClimate ✔ Compatible con flujos avanzados (SPEI, modelación de especies, análisis agrícola)
🎥 Mira el video completo
En el video del canal Un Geógrafo en YouTube explico cada paso con detalle
En este video presento un flujo completo y reproducible en R para identificar zonas climáticamente idóneas para el cultivo de café bajo sombra, inspirado en el artículo científico:
“A coffee corridor for biodiversity and livelihoods: climatic feasibility of shade coffee cultivation in western Rwanda” Trees, Forests and People 🌱📄
Aunque el estudio original se desarrolla en África oriental, aquí adapto su enfoque metodológico al contexto colombiano, utilizando datos climáticos globales y herramientas SIG en R.
🧭 Área de estudio y datos utilizados
El análisis se centra en los departamentos de Quindío, Risaralda y Caldas, una de las principales regiones cafeteras de Colombia ☕🇨🇴.
Se emplean datos oficiales y abiertos:
🌡️🌧️ Variables bioclimáticas (BIO) de WorldClim v2.1
🗺️ Límites administrativos de GADM
📦 Paquetes especializados de R para análisis espacial (terra, sf, tmap, geodata)
📊 Variables climáticas consideradas
Siguiendo el artículo de referencia, se seleccionan cinco variables bioclimáticas clave para el cultivo de Coffea arabica:
BIO1: Temperatura media anual 🌡️
BIO2: Rango diurno de temperatura
BIO5: Temperatura máxima del mes más cálido 🔥
BIO6: Temperatura mínima del mes más frío ❄️
BIO12: Precipitación anual 🌧️
Cada variable se recorta y enmascara a la zona de estudio para asegurar coherencia espacial.
🧮 Reclasificación climática (idoneidad)
Las variables climáticas se reclasifican en cinco niveles de idoneidad, desde:
❌ No apto
⚠️ Marginal
✅ Apto
🌿 Muy apto
Esto se realiza mediante matrices de reclasificación, construidas a partir de rangos climáticos reportados en la literatura agroecológica. El resultado es un conjunto de capas raster comparables entre sí.
⚖️ Análisis multicriterio (Weighted Linear Combination)
Para integrar las variables se aplica un Análisis Multicriterio por Combinación Lineal Ponderada (WLC):
Todas las variables reciben el mismo peso (0.25)
Se asume igual importancia relativa de cada factor climático
El resultado es un mapa continuo de idoneidad climática
Finalmente, el índice se normaliza a un rango de 0 a 1, donde:
0 = climáticamente no apto
1 = condiciones óptimas para café bajo sombra
📈 Este enfoque permite sintetizar información climática compleja en un solo indicador espacial interpretable.
🗺️ Visualización cartográfica
El resultado se representa mediante un mapa temático en tmap, incorporando:
🎨 Paleta de colores gradual por clases de idoneidad
🧭 Rosa de los vientos
📏 Barra de escala
🏷️ Etiquetas departamentales
🖼️ Exportación en alta resolución (300 dpi)
El mapa final resume visualmente las zonas con mayor potencial climático para el café, bajo un enfoque reproducible y transparente.
🔁 Reproducibilidad y aplicación
Todo el proceso se desarrolla 100% en R, lo que permite:
🔁 Repetir el análisis en otras regiones
🌱 Adaptarlo a otros cultivos
🌍 Incorporar escenarios climáticos futuros
📊 Integrarlo en estudios de planificación territorial
Este tipo de análisis es ampliamente utilizado en agroecología, SIG ambiental y estudios de cambio climático, y aquí se presenta de forma accesible para la comunidad técnica.
La disponibilidad de áreas verdes urbanas es un indicador clave para la calidad de vida, la salud pública y la resiliencia climática de las ciudades. En este artículo presento un flujo de trabajo reproducible en R para identificar, cuantificar y mapear las áreas verdes dentro de la ciudad de Cali, combinando límites oficiales con información abierta proveniente de OpenStreetMap (OSM).
El objetivo no es solo hacer un mapa “bonito”, sino calcular un indicador espacial sólido: la proporción del área urbana cubierta por zonas verdes.
🧰 1. Preparación del entorno de trabajo
El análisis se desarrolla completamente en R, utilizando un conjunto de librerías especializadas en datos espaciales, visualización y manejo reproducible de rutas:
Este stack permite:
trabajar con geometrías vectoriales modernas (sf),
consultar directamente OpenStreetMap (osmdata),
realizar operaciones espaciales robustas (terra),
y producir cartografía publicable (ggplot2, ggspatial).
El uso de here asegura que el proyecto sea portable y reproducible, una práctica fundamental en análisis espaciales profesionales.
🗺️ 2. Carga y preparación de los límites oficiales
El análisis parte de shapefiles oficiales de:
barrios urbanos,
corregimientos.
Estos límites definen el universo espacial válido del estudio.
🌳 3. ¿Dónde están las áreas verdes en OpenStreetMap?
A diferencia de los catastros oficiales, OpenStreetMap no tiene una única capa de “zonas verdes”. Estas áreas están distribuidas en múltiples etiquetas (tags), entre ellas:
leisure: parques, jardines, zonas recreativas,
landuse: bosques, praderas,
natural: vegetación natural.
Para manejar esta complejidad, se define una función personalizada que:
consulta OSM por tipo de cobertura,
descarga los polígonos,
los proyecta correctamente,
y los recorta al límite oficial de Cali.
✂️ 4. Recorte espacial: solo lo que está dentro de Cali
Una vez descargados los polígonos desde OSM, se realiza una intersección espacial:
Este paso es fundamental porque:
evita sobreestimar áreas,
elimina elementos periféricos,
asegura métricas coherentes con la ciudad real.
Sin recorte espacial, las métricas urbanas no son defendibles.
🧩 5. Integración de todas las áreas verdes
Las distintas capas provenientes de OSM se limpian y se unen en una sola geometría temática:
Cada polígono conserva:
su identificador,
la clave OSM (key),
el tipo de cobertura (value).
Esto permite auditoría, análisis posterior y extensiones del estudio.
📐 6. Cálculo de la cobertura verde urbana
Con todas las áreas integradas, se calcula el indicador central del anál
Este valor representa el porcentaje del área total de la ciudad cubierto por zonas verdes, un indicador ampliamente utilizado en:
planeación urbana,
estudios de sostenibilidad,
análisis de adaptación al cambio climático.
Aquí pasamos de la cartografía descriptiva a un resultado cuantitativo interpretable.
🗺️ 7. Cartografía final de las áreas verdes
El resultado se presenta mediante un mapa claro y sobrio, pensado para comunicación académica y técnica:
Vídeo tutorial donde explicamos todo esto:
Deseas contactarme para guiarte en tu proyecto de SIG (pregrado, maestría o doctorado), escríbeme al Whatsapp: +57 3217850490
Las luces nocturnas observadas desde satélites se han convertido en uno de los insumos más poderosos para el análisis espacial del desarrollo humano, la urbanización, la actividad económica y los cambios territoriales a escala global. Gracias a su cobertura continua y homogénea, estos datos permiten analizar dinámicas sociales y económicas incluso en regiones donde la información estadística oficial es limitada o inexistente.
En este artículo te explico qué son los datos armonizados de luces nocturnas DMSP–OLS y VIIRS, cómo fueron construidos y por qué son tan relevantes para la investigación en geografía, economía y ciencias ambientales.
🛰️ ¿Qué son los datos de luces nocturnas?
Las luces nocturnas satelitales capturan la iluminación artificial visible durante la noche, proveniente principalmente de:
Ciudades y áreas urbanas
Infraestructura vial
Zonas industriales
Actividades extractivas
Centros poblados rurales
Durante décadas, estas observaciones han sido utilizadas como proxy de actividad humana, crecimiento urbano y desarrollo económico.
📡 Dos generaciones de sensores: DMSP y VIIRS
🔹 DMSP-OLS (1992–2013)
El programa Defense Meteorological Satellite Program – Operational Linescan System (DMSP-OLS) fue el primer sistema que permitió observar luces nocturnas a escala global.
Limitaciones principales:
Saturación en grandes ciudades
Falta de calibración radiométrica entre años
Resolución espacial limitada
🔹 VIIRS-DNB (2014–2020)
El sensor Visible Infrared Imaging Radiometer Suite – Day/Night Band (VIIRS-DNB) representa un gran avance tecnológico:
Mayor resolución espacial
Mejor sensibilidad radiométrica
Menor saturación en áreas urbanas
Sin embargo, el cambio de sensor generó una ruptura temporal que dificultaba los análisis de largo plazo… hasta que llegó la armonización.
🔄 Armonización DMSP–VIIRS: un paso clave
El dataset “Harmonization of DMSP and VIIRS nighttime light data”, desarrollado por Li et al. (2020), resuelve este problema mediante un riguroso proceso de calibración temporal y espacial.
✔ ¿Qué logra esta armonización?
Unifica ambas fuentes en una serie temporal continua
Permite análisis consistentes desde 1992 hasta 2018
Reduce sesgos instrumentales
Facilita estudios comparables en el tiempo
🧩 Contenido del dataset
El conjunto de datos incluye:
🌐 Cobertura global
📅 Series anuales desde 1992 a 2018
🗺️ Resolución espacial de 30 arc-seconds (~1 km)
🔢 Valores de luz nocturna calibrados y comparables
📊 Datos listos para análisis espacial y estadístico
Los archivos están disponibles en formato raster y son compatibles con herramientas como R, QGIS, ArcGIS y Google Earth Engine.
🔬 ¿Para qué se usan estos datos?
Las aplicaciones son muy amplias, entre ellas:
📈 Análisis del crecimiento urbano
🌍 Estudios de desigualdad regional
💡 Proxy de actividad económica (PIB, consumo energético)
🔥 Evaluación de impactos de conflictos o desastres
🌱 Estudios de sostenibilidad y presión humana
📊 Modelos econométricos espaciales
En muchos estudios, las luces nocturnas funcionan como un indicador alternativo de desarrollo, especialmente útil en países con baja disponibilidad de datos oficiales.
Las luces nocturnas son mucho más que una imagen bonita del planeta: son una huella luminosa de la actividad humana. Gracias a la armonización DMSP–VIIRS, hoy contamos con una de las series espaciales más valiosas para entender cómo hemos transformado el territorio en las últimas tres décadas.
En Un Geógrafo en YouTube seguiremos explorando cómo estos datos pueden ayudarnos a leer el mundo desde el espacio 🌌📊.