Creación de Mapa Interactivo de Estaciones Meteorológicas de España
🌦️ Introducción: Estaciones meteorológicas en España 📍¿Qué son y para qué sirven? Las estaciones meteorológicas son infraestructuras que recogen de…
🌦️ Introducción: Estaciones meteorológicas en España
📍¿Qué son y para qué sirven?
Las estaciones meteorológicas son infraestructuras que recogen de forma sistemática datos sobre:
- Temperatura
- Precipitaciones
- Humedad relativa
- Velocidad y dirección del viento
- Presión atmosférica
- Radiación solar, etc.
👉 Estos datos son fundamentales para:
- La predicción del tiempo
- El seguimiento del cambio climático
- La gestión de emergencias (tormentas, incendios, inundaciones…)
- La agricultura, el transporte, el turismo y la salud pública
🏛️ ¿Quién gestiona las estaciones en España?
La red principal depende de:
🟦 AEMET (Agencia Estatal de Meteorología)
- Organismo autónomo dependiente del Ministerio para la Transición Ecológica y el Reto Demográfico.
- Administra la Red de Estaciones Meteorológicas Automáticas y Manuales.
- También colabora con estaciones de organismos regionales y privados.
📌 Red principal:
- EMA (Estaciones Meteorológicas Automáticas): envían datos en tiempo real (cada 10 minutos o 1h).
- EMM (Manual): personal técnico toma medidas a diario, muy útiles en zonas donde no hay cobertura automática.
- Estaciones de montaña o especiales: control de nieve, heladas, etc.
Otras redes complementarias:
- Red de estaciones de calidad del aire (MITECO y CCAA)
- Estaciones universitarias o de investigación
- Redes agrícolas autonómicas (p. ej., SIAR del Ministerio de Agricultura)
- Estaciones privadas (restringidas o colaborativas)
📊 ¿Qué tipos de estaciones existen?
Tipo de estación | Automática | Manual | Mixta | Especial |
Medición continua | ✅ | ❌ | ✅ | ✅ |
Operador humano | ❌ | ✅ | ✅ | ✅ |
Uso principal | Predicción, alertas | Datos climáticos | Mixta | Alta montaña, nieve, etc. |
📡 ¿Dónde están ubicadas?
- La AEMET distribuye sus estaciones en función del clima, altitud, cobertura y necesidades operativas.
- Hay más de 800 estaciones meteorológicas activas en España, aunque no todas envían datos en tiempo real.
- Se ubican tanto en zonas urbanas como rurales, aeropuertos, puertos, parques naturales y zonas agrícolas.
📥 ¿Dónde se pueden conseguir los datos?
- AEMET Open Data:
https://opendata.aemet.es/
Requiere registro con API Key. Permite obtener:- Ubicación de estaciones activas
- Tipología
- Datos horarios, diarios y climatológicos
- Estaciones con datos públicos accesibles:
- En tiempo real: https://www.aemet.es/es/eltiempo/observacion/ultimosdatos
- Históricos: se solicitan por estación
- Otros portales secundarios:
- Meteogalicia (Galicia)
- Meteocat (Cataluña)
- SIAR (Red Agroclimática)
- Euskalmet (Euskadi)
🗺️ Objetivo del proyecto
👉 Crear un mapa en Datawrapper que:
- Muestre las estaciones meteorológicas activas de AEMET.
- Diferencie por tipo: automática, manual, especial.
- Incluya tooltip con: nombre, altitud, temperatura, humedad y otros datos.
- Opcional: permitir filtros por comunidad o tipo de estación.
🧭 DOCUMENTACIÓN DEL PROCESO: Estaciones Meteorológicas AEMET + Mapa en Datawrapper
🔹 Objetivo del ejercicio
Obtener, limpiar y preparar un dataset georreferenciado con las estaciones meteorológicas activas de AEMET en España, con información básica de ubicación y variables atmosféricas, para su visualización en un mapa interactivo con Datawrapper.
🔹 Pasos realizados
🟩 1. Registro en AEMET Open Data
- Se creó una cuenta en https://opendata.aemet.es.
- AEMET envió una API Key personal, necesaria para autenticar peticiones.
🟩 2. Acceso al endpoint de observación meteorológica
- Se identificó el endpoint correcto:
- https://opendata.aemet.es/opendata/api/observacion/convencional/todas
- Este endpoint no entrega los datos directamente, sino un JSON con una URL temporal y privada que expira rápidamente.
🟩 3. Primera dificultad: las URLs caducan
- Intentar descargar directamente el JSON con una URL antigua da error 404.
- Se solucionó haciendo la petición directamente desde R con httr y extrayendo la URL de datos en tiempo real.
🟩 4. Segunda dificultad: errores de codificación (UTF-8)
- Al cargar el JSON con fromJSON(), R lanzó:
- lexical error: invalid bytes in UTF8 string
- Motivo: AEMET publica texto con caracteres corruptos (como �) en nombres de localidades mal codificadas (ej. VILAFRANCA DEL PENEDÈS).
- Se solucionó leyendo el JSON como texto (readLines) y limpiando con iconv().
🟩 5. Extracción y selección de campos clave
- Se filtraron las siguientes variables:
- idema: ID oficial de estación
- ubi: ubicación textual
- lat, lon: coordenadas
- alt: altitud
- ta, hr, prec: temperatura, humedad y precipitación
- fint: fecha y hora de observación
🟩 6. Exportación a CSV personalizado
- El archivo se guardó en la ruta local del usuario:
- E:/02_estaciones_meteo/estaciones_aemet.csv
🔹 Script definitivo usado
# —————————————–
# MAPA DE ESTACIONES METEOROLÓGICAS AEMET
# Descarga, limpieza y exportación a CSV
# —————————————–
library(httr)
library(jsonlite)
library(dplyr)
library(readr)
# 1. API Key personal (reemplazar con la tuya entre comillas)
api_key <- «PON_AQUI_TU_API_KEY»
# 2. Petición a AEMET
respuesta <- GET(
url = «https://opendata.aemet.es/opendata/api/observacion/convencional/todas»,
add_headers(api_key = api_key)
)
# 3. Extraer URL temporal de datos
contenido <- content(respuesta, as = «parsed», simplifyVector = TRUE)
url_datos <- contenido$datos
# 4. Leer JSON como texto y corregir codificación
json_texto <- readLines(url_datos, encoding = «UTF-8», warn = FALSE)
json_completo <- iconv(paste(json_texto, collapse = «»), from = «UTF-8», to = «UTF-8», sub = «»)
# 5. Convertir a tabla
datos_json <- fromJSON(json_completo)
datos <- as_tibble(datos_json)
# 6. Seleccionar columnas clave
estaciones <- datos %>%
select(
idema,
ubi,
lat, lon,
alt,
ta,
hr,
prec,
fint
)
# 7. Guardar en CSV personalizado
write_csv(estaciones, «E:/02_estaciones_meteo/estaciones_aemet.csv»)
🔹 Tiempo estimado invertido
- 📥 Registro + API key: 5 min
- 🔧 Detección y resolución de errores: 1 hora
- 📤 CSV final listo para visualización: ✔️
🗺️ Documentación del Mapa: Estaciones Meteorológicas Activas de AEMET
🎯 Objetivo
Visualizar la distribución geográfica de las estaciones meteorológicas activas pertenecientes a la red de observación convencional de AEMET (Agencia Estatal de Meteorología) en un mapa interactivo limpio, legible y profesional mediante Datawrapper.
📍 Datos utilizados
- Fuente: API de AEMET Open Data
- Formato: CSV generado a partir de una consulta automatizada vía R
- Atributos clave:
- idema (ID de estación)
- ubi (ubicación)
- lat, lon (coordenadas)
- alt (altitud en metros)
- ta, hr, prec (datos meteorológicos, como valor informativo)
- fint (fecha/hora del último dato)
🛠️ Herramienta de visualización: Datawrapper
Se utilizó https://app.datawrapper.de, una plataforma gratuita y profesional para visualización de datos georreferenciados.
🧭 Pasos realizados
1. Creación del mapa
- Tipo de mapa: “España » Provincias” como base geográfica.
- Se seleccionó la opción “Tamaño normal” para incrustación contenida.
- Se cargó el CSV generado desde RStudio.
2. Configuración del mapa
- Visualización por puntos, sin codificación de color por variable.
- Todos los símbolos tienen color uniforme (azul claro) y tamaño fijo.
- Se activó el mapa de inserción para mostrar Canarias sin distorsionar la visualización principal.
3. Tooltip personalizado
Se definió una descripción emergente clara, con los siguientes elementos:
<b>{{ubi}}</b> (ID: {{idema}})<br>
📏 <b>Altitud:</b> {{alt}} m<br>
🌡️ <b>Temp:</b> {{ta}} ºC • 💧 <b>HR:</b> {{hr}} %<br>
🌧️ <b>Precipitación:</b> {{prec}} mm<br>
🕒 <b>Última actualización:</b> {{fint}}
4. Texto editorial y contexto
- Título: 🛰️ Mapa de Estaciones Meteorológicas Activas de AEMET
- Descripción: Distribución geográfica de las estaciones meteorológicas activas pertenecientes a la red de observación convencional de la Agencia Estatal de Meteorología (AEMET).
- Nota informativa:
Este mapa se centra en la Península Ibérica. También existen estaciones activas en Baleares y Canarias, visibles al hacer zoom manual. - Fuente: AEMET Open Data
- Enlace a los datos: https://opendata.aemet.es
- Autoría: JCLBallesteros
📤 Publicación
- El mapa fue publicado en modo “Tamaño normal”, embebido en una tarjeta visual.
- Se generó un enlace público y un iframe para su posible integración en una web o informe.
🔄 Actualización (pendiente de automatizar)
Actualmente el mapa se actualiza manualmente tras generar el CSV desde un script R.
Se prevé automatizar esta actualización mediante:
- Subida del CSV a un repositorio público (ej. GitHub Pages)
- Vinculación de Datawrapper a una URL externa de datos actualizables
- Activación del modo de actualización automática diaria (hasta 24 veces/día)
🌍 Nota sobre Canarias y Baleares
Durante el análisis de los datos obtenidos desde la API de AEMET, se observó que no se incluían estaciones activas en Canarias en la respuesta JSON correspondiente a la red de observación convencional. Por tanto, estas no aparecen representadas en el mapa.
Se tomó la decisión de:
- Excluir Canarias del mapa, dado que no hay datos disponibles actualmente.
- Mantener Baleares, donde sí se encontraron registros válidos con geolocalización.
- Evitar mostrar zonas vacías que puedan inducir a error o sugerir falta de cobertura cuando el problema es puramente de disponibilidad de datos.
Comments