API para descarga de datos catastrales de Italia
Hace pocos días, os presentamos Italy Inspire Catastral Downloader, un plugin para QGIS diseñado para automatizar la descarga de datos catastrales. Como complemento, hemos desarrollado una API para descarga de datos catastrales de Italia, pensada para acceder de forma estructurada a la información geográfica por municipios, provincias y regiones.
Para complementar este desarrollo, se ha implementado una API con Flask que centraliza y optimiza el acceso a los datos catastrales, eliminando la necesidad de búsquedas manuales y mejorando la velocidad de consulta. En este artículo, explicaremos el funcionamiento de esta API, detallando sus endpoints, las tecnologías utilizadas y la infraestructura en contenedores que garantiza su eficiencia y escalabilidad.
Tecnologías de la API
Para el desarrollo de la API, se han utilizado Flask y Flasgger, dos herramientas clave para la gestión de servicios web y documentación interactiva. Además, la aplicación a sido contenerizada a través de Docker.
Flask
Flask es un framework minimalista de Python para el desarrollo de aplicaciones web. Su diseño ligero y flexible lo convierte en una excelente opción para la creación de APIs REST, ya que permite:
- Definir rutas y manejar peticiones HTTP fácilmente.
- Implementar controladores y middleware de forma modular.
- Integrarse con múltiples bases de datos y herramientas de autenticación.
- Escalar la API sin depender de arquitecturas pesadas.
Gracias a su estructura sencilla, Flask proporciona una alta eficiencia en el procesamiento de peticiones, lo que lo hace ideal para esta API de descarga de datos catastrales.
Flasgger
Flasgger es una extensión de Flask que permite generar documentación automática para la API a través de Swagger UI. Con Flasgger, cada endpoint de la API puede describirse en el código con anotaciones en formato YAML o docstrings, y la documentación se genera automáticamente.
Ventajas de Flasgger en esta API:
- Permite visualizar y probar los endpoints sin necesidad de herramientas externas.
- Mejora la comprensión de la API tanto para desarrolladores como para usuarios finales.
- Facilita la depuración de errores al proporcionar una interfaz interactiva para probar las respuestas.
En conjunto, Flask y Flasgger permiten el desarrollo de una API modular, escalable y bien documentada, lo que facilita su mantenimiento y uso.
Estructura de la API
La API está diseñada para facilitar la navegación por los datos catastrales en tres niveles jerárquicos:
- Regiones: Listado de todas las regiones disponibles.
- Provincias: Listado de provincias dentro de una región específica.
- Municipios: Listado de municipios dentro de una provincia.
Para permitir la descarga de los ficheros municipales, se habilita un endpoint que devuelve el archivo zip con los archivos catastrales GML en su interior.

A continuación, presentamos los endpoints disponibles en la API y su funcionalidad.
Endpoints de la API para descarga de datos catastrales de Italia
- GET /regions → Devuelve el listado de regiones disponibles.
[«MARCHE»,»SICILIA»,»BASILICATA»,»TOSCANA»,»LAZIO»,»CALABRIA»]
- GET /provinces/<name_region> → Retorna las provincias de una región.
Ejemplo (“MARCHE”):
[«MACERATA»,»ANCONA»,»ASCOLI PICENO»,»PESARO E URBINO»]
- GET /municipalities/<name_region>/<name_province> → Lista los municipios dentro de una provincia.
Ejemplo (“MARCHE”/“MACERATA”):
[«G436_PENNA SAN GIOVANNI»,»F051_MATELICA»,»H323_RIPE SAN GINESIO»]
- GET /download/<name_region>/<name_province>/<municipality> → Descarga un archivo ZIP con los datos del municipio.
- GET /info → Devuelve información general de la API y su última actualización.
- GET /all_municipalities → Devuelve un diccionario con todas las regiones, provincias y municipios disponibles.

Infraestructura con Docker y sus ventajas
Para garantizar la portabilidad y facilidad de despliegue de la API, se ha utilizado Docker, una plataforma de contenedorización que permite empaquetar aplicaciones junto con sus dependencias en entornos aislados llamados contenedores. Además, se ha implementado Docker Compose para gestionar la ejecución de múltiples contenedores de manera coordinada.
Ventajas del uso de Docker en este proyecto
- Portabilidad: La API puede ejecutarse en cualquier entorno con Docker sin necesidad de configuraciones adicionales, evitando conflictos entre versiones de librerías o dependencias.
- Facilidad de Despliegue: Al contenerizar la API, su ejecución es sencilla y rápida, lo que permite implementarla en servidores sin complicaciones.
- Escalabilidad: Si en el futuro se requiere escalar la API, Docker permite distribuir la carga de trabajo entre varios contenedores con facilidad.
- Gestión de Dependencias: Todas las librerías y configuraciones necesarias están incluidas en la imagen de Docker, asegurando que la API funcione de la misma manera en cualquier sistema.
- Manejo de Volúmenes de Datos: Gracias a Docker Compose, los datos catastrales almacenados en el sistema pueden ser montados en volúmenes dentro del contenedor, permitiendo su acceso sin afectar la estructura de la API.
En términos prácticos, esta infraestructura permite que la API se ejecute en cualquier servidor o máquina sin necesidad de instalar manualmente Python ni sus dependencias, facilitando su implementación y mantenimiento.
Si quieres ver otros ejemplos sobre el uso de Docker, puedes consultar este artículo:
🔗 PostgreSQL y PGAdmin con Docker
Análisis y utilidades de la API
Gracias a la API para descarga de datos catastrales de Italia es posible registrar y analizar el comportamiento de uso por parte de los usuarios. Cada solicitud de descarga queda registrada de forma estructurada, lo que habilita la posibilidad de realizar análisis espaciales sobre las zonas con mayor demanda de información.
Este tipo de seguimiento, lejos de ser un simple registro técnico, se convierte en una herramienta clave para:
- Identificar patrones de interés territorial, como zonas urbanas en transformación, áreas rurales en estudio o territorios con alta demanda institucional.
- Visualizar tendencias de uso a lo largo del tiempo, diferenciando municipios más consultados o regiones en auge.
- Optimizar la infraestructura y la arquitectura de la API, anticipando necesidades de escalabilidad en base a la concentración de descargas.
- Evaluar el impacto de proyectos o formaciones GIS mediante el seguimiento de las zonas en las que se focaliza el uso de la API.
Descargas por municipios
El siguiente mapa representa el número de descargas realizadas por municipio desde el lanzamiento del complemento (más de 5000 municipios descargados desde el 20 de febrero), destacando las zonas con mayor actividad y permitiendo detectar focos de interés a nivel nacional:

A través del análisis visual de las descargas por región, provincia y municipio, se pueden identificar patrones espaciales de demanda que reflejan distintos niveles de interés en la información catastral a lo largo del territorio italiano.
En el primer mapa, donde se representan las descargas por municipios, observamos cómo algunas provincias presentan una demanda uniforme distribuida por muchos municipios. Este patrón sugiere un interés generalizado en el conjunto del territorio provincial, posiblemente por motivos de análisis integrales o planificación a gran escala. Es el caso, por ejemplo, de provincias del sur y del noreste, donde se acumulan mayores valores de descarga.
Por el contrario, en otras provincias la actividad se concentra en municipios concretos, probablemente vinculados a proyectos localizados o estudios específicos, lo que sugiere un uso más puntual o temático de los datos.
Descargas por provincias
Por su parte, el mapa por provincias permite ver cómo dentro de una misma región existen diferencias significativas en el volumen de descargas. Algunas regiones destacan muy por encima de sus vecinas, lo que puede deberse a una mayor actividad técnica o investigadora en esos territorios, o bien a una concentración de proyectos urbanísticos, agrícolas o de ordenación del suelo.

Descargas por regiones
Por último, el mapa por regiones sintetiza el comportamiento agregado. Aquellas regiones donde se alcanzan los umbrales más altos de descargas suelen coincidir con aquellas que también presentan patrones distribuidos a menor escala. Esto refleja una demanda acumulada tanto por la amplitud geográfica como por la intensidad de consulta, y puede estar ligada a la combinación de factores como el aumento de proyectos de análisis regional, mayor número de estudios de impacto o mayor número procesos urbanísticos.

En definitiva, no se trata solo de cuántas descargas se producen, sino de dónde, con qué distribución y a qué nivel territorial, aspectos que permiten una lectura geográfica estratégica de los municipios de demanda. Este tipo de análisis permite transformar la API en algo más que una herramienta de descarga: en una fuente activa de inteligencia geoespacial que puede retroalimentar decisiones técnicas o de planificación territorial aportando una visión basada en datos sobre cómo, dónde y cuándo se consulta la información catastral.
Ranking de descargas (desde el 20 de febrero)
Municipios
Quarto d’Altino – 19 (Venezia – Veneto)
Ramacca – 19 (Catania – Sicilia)
Acquaviva d’Isernia – 19 (Isernia – Molise)
Roma – 18 (Roma – Lazio)
Ayas – 17 (Aosta – Valle d’Aosta)
Provincias
Aosta – 1010 (Valle d’Aosta)
Isernia – 681 (Molise)
Verona – 484 (Veneto)
Potenza – 246 (Basilicata)
Chieti – 215 (Abruzzo)
Regiones
Veneto – 1265
Valle d’Aosta – 1010
Molise – 695
Puglia – 306
Abruzzo – 298
Conclusión
Esta API para descarga de datos catastrales de Italia proporciona una solución eficiente para la descarga de datos catastrales en Italia, estructurada en niveles jerárquicos para facilitar la navegación y descarga de información. Gracias a Flask, Docker y Swagger, se garantiza una implementación modular, escalable y bien documentada. Con esta API, los usuarios pueden automatizar la adquisición de datos geoespaciales sin necesidad de realizar búsquedas manuales en múltiples fuentes.
Además, el sistema de seguimiento de descargas permite transformar los registros de uso en datos destinados al análisis espacial. Este tipo de análisis convierte la API en algo más que una herramienta de descarga: en una fuente de datos destinada a la inteligencia geoespacial que puede retroalimentar decisiones técnicas, académicas o de planificación territorial.
Al identificar las zonas más consultadas, analizar tendencias de interés geográfico y detectar focos emergentes, esta API no solo sirve como herramienta operativa, sino como infraestructura estratégica para comprender y anticipar posibles dinámicas territoriales en contextos urbanos, rurales o administrativos.