Este trabajo ha sido realizado por Florentino Mostaza, estudiante del Máster en Sistemas de Información Geográfica de Código Abierto.
Locos por los sistemas de información geográfica y amantes del software, es para mi un honor poder presentaros mi pequeña aportación a este entrañable mundo y que tras algunos dolores de cabeza ha visto la luz
Pongámonos en contexto con alguna información básica. Los datos meteorológicos son la información numérica y cualitativa que se recopila a partir de la observación y medición de diferentes variables atmosféricas en la superficie terrestre y en la atmósfera. Estos datos incluyen información sobre la temperatura, la humedad, la presión atmosférica, la velocidad y dirección del viento, la cantidad y tipo de precipitación, la radiación solar, entre otras.
Motivación y Objetivo
Si los datos meteorológicos de AEMET estuvieran disponibles de una forma sencilla e intuitiva en QGIS (Quantum GIS), se podrían utilizar de diversas maneras para diferentes tipos de estudios ambientales y proyectos relacionados con el medio ambiente o en el ámbito civil.
La motivación del desarrollo de este complemento era por tanto, que la descarga y representación de los datos en QGIS fuera lo más sencilla y completa posible.
Pero que es y como funciona la API de aemet
AEMET OpenData es un API REST (Application Programming Interface. Representational State Transfer) a través del cual se pueden descargar gratuitamente los datos explicitados en el Anexo II de la resolución de 30 de diciembre de 2015 de AEMET, por la que se establecen los precios públicos que han de regir la prestación de servicios meteorológicos y climatológicos. Esta resolución ha sido publicada en el BOE nº 4 de 5 de enero de 2016.
https://opendata.aemet.es/centrodedescargas/inicio
AEMET Open Data es una plataforma de datos abiertos que proporciona una amplia variedad de datos meteorológicos y climáticos en formato digital. A continuación, se presentan algunos de los conjuntos de datos que ofrece AEMET Open Data, junto con sus características principales:
- Observaciones meteorológicas: Datos diarios de temperatura, humedad, precipitación, velocidad y dirección del viento, presión atmosférica, radiación solar y nubosidad. Los datos se proporcionan para diferentes intervalos de tiempo, incluyendo datos horarios y diarios.
- Predicción meteorológica: Datos de pronóstico a corto y largo plazo, que incluyen predicciones de temperatura, precipitación, viento, nubosidad y otros parámetros meteorológicos para diferentes áreas geográficas. Los datos se proporcionan en diferentes formatos, incluyendo mapas y archivos de texto.
- Datos climáticos: Datos históricos de diferentes parámetros meteorológicos, que incluyen temperatura, precipitación, viento, presión atmosférica y otros. Los datos están disponibles en diferentes formatos, como tablas y gráficos.
- Índices climáticos: Datos sobre diferentes índices climáticos que se utilizan para el análisis de tendencias climáticas, incluyendo el Índice de Oscilación del Atlántico Norte (NAO), el Índice de la Oscilación del Sur (SOI) y el Índice de Teleconexión del Pacífico.
- Datos de radiación ultravioleta: Datos de la intensidad de la radiación ultravioleta (UV) en diferentes áreas geográficas. Los datos se proporcionan en diferentes formatos, incluyendo mapas y archivos de texto.
- Datos oceanográficos: Datos de temperatura del agua, velocidad y dirección de las corrientes oceánicas, altura de las olas y otros parámetros oceánicos. Los datos están disponibles para diferentes áreas geográficas y profundidades.
- Datos de calidad del aire: Datos de concentraciones de diferentes contaminantes atmosféricos, como el dióxido de nitrógeno, el ozono y las partículas finas (PM2.5). Los datos se proporcionan para diferentes áreas geográficas y períodos de tiempo.
- Datos geográficos: Datos geoespaciales, incluyendo mapas y modelos digitales del terreno, que se utilizan para la visualización y el análisis de datos meteorológicos y climáticos.
Para poder descargar datos de la API es necesario solicitar una API Key.
Una API Key es un identificador, mediante el cual se contabilizan e imputan los accesos que un usuario realiza al API.
Obtén tu clave de API en la siguiente URL: https://opendata.aemet.es/centrodedescargas/altaUsuario?
Mi objetivo por tanto era crear un complemento de QGIS que descargara los datos disponibles en aemet, agrupándolos por provincias, de las ultimas 24h hasta el momento de la consulta, los datos diarios dentro de un rango de fechas (5 años maximo), los datos mensuales correspondientes a un año determinado y los datos normales disponibles de la API Open Data de AEMET. Una vez descargados, generar las archivos CSV que pudieran ser importados y cargados por QGIS a partir de los datos de cada estación meteorológica.

Tecnologías Utilizadas.
El desarrollo del plugin se ha realizado íntegramente con software libre, empezando por el sistema operativo con base Linux, Ubuntu 22.04.2 LTS
A continuación se detallan las tecnologías principales implicadas en el creación del plugin:
QGIS.
QGIS es un software libre y de código abierto de Sistemas de Información Geográfica (SIG), utilizado para la visualización, edición y análisis de datos espaciales. Fue desarrollado inicialmente por la empresa Open Source Geospatial Foundation y cuenta con una amplia comunidad de usuarios y desarrolladores en todo el mundo.
PyCharm.
https://www.jetbrains.com/es-es/pycharm/
PyCharm es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) utilizado para la programación en el lenguaje Python. Fue desarrollado por la empresa JetBrains y está disponible en versiones gratuitas y de pago.
Qt 5 Designer
Qt 5 Designer es una herramienta gráfica para el diseño y creación de interfaces de usuario (UI) para aplicaciones desarrolladas en el framework Qt 5. Qt es un conjunto de herramientas de desarrollo de software multiplataforma utilizado para la creación de aplicaciones de escritorio, móviles e integradas.
Desarrollo del complemento
El proceso de desarrollo del complemento puede resumirse en los siguientes pasos:
- Instalar/Actualizar el software necesario.
- pyqt5
- La ultima versión LTS de QGIS
- Python 3
- PyCharm
- Creación un nuevo plugin utilizando el Plugin Builder de QGIS
- Compilación e instalación del plugin
- Diseño de la interfaz grafica: Qt Designer
- Escribir el código del plugin con Pycharm incidiendo en:
- La consulta
- Descarga y control de errores
- La transformación de los datos
- Exportación a QGIS
Una vez diseñado y probado el complemento lo subí a la plataforma GitHub. https://github.com/Parpaya/AemetOpenDataDownloader
Conclusiones y aspectos futuros
Si aun no habéis intentado acceder a AEMET, ni a la descarga de los datos, ni a trabajar con sus diferentes formatos, os invito a hacerlo, que si bien la disponibilidad de los datos de aemet en el servicio ofrece una amplia gama de información útil, aunque gratuita, no es ni fácil, ni intuitivo, el acceso a ella.
A pesar de las dificultades podemos decir que se han cumplido los objetivos del proyecto, la creación de un complemento completamente funcional para la descarga de los datos abiertos de aemet.
No puedo resaltar la dificultad de una parte del proyecto sobre otra, tan solo, que escribir estas lineas se me antoja la parte más fácil.
En un futuro espero seguir incorporando al plugin mas opciones de descarga como la de los valores climatológicos extremos.
El complemento puede descargarse con el archivo zip desde este repositorio y descomprimirlo en la carpeta de plugins de QGIS según el sistema operativo. O instalarse directamente en Qgis con el archivo zip.
Forma de usarlo
Tras su instalación el plugin puede ser ejecutado desde la barra de herramientas o bien desde el menú Complementos>AemetOpenDataDownloader
Una vez ejecutado el complemento se debe obligatoriamente:
- Introducir la API Key
- Marcar los tipos de datos (capas) que se quieren descargar
- Seleccionar las provincias y, o, los años o fechas correspondientes
- Introducir la carpeta de destino
Ejemplo de uso del Plugin:

Sin mas agradeceros vuestra atención y que utilicéis el complemento y lo compartáis con el mismo espíritu y libertad con la que lo he hecho.
¿Quieres comentarnos algo? Adelante!