Atlas sociodemográfico de Xunqueira de Ambía
Análisis territorial y demográfico del municipio ourensano, publicado como mapa interactivo y ficha municipal en HTML estático.
- Estado
- En producción
- Tecnologías
- Python · GeoPandas · Folium · Leaflet · HTML estático
- Licencia
- AGPLv3
Qué resuelve
Xunqueira de Ambía tiene 1.346 habitantes (padrón a 1 de enero de 2025) y ha perdido un 22,3 % de su población desde 2010. Su índice de envejecimiento es de 427 mayores de 65 años por cada 100 menores de 20, y la edad media, 56,5 años.
Esos datos existen, pero están repartidos entre el INE, el IGE y la cartografía de la Xunta, en formatos que no se pueden mirar juntos. Este atlas los reúne en un mapa interactivo de 14 capas y en una ficha municipal que cualquiera puede abrir en un navegador, sin instalar nada.
El mapa cruza el territorio con la demografía: 6 parroquias, 40 entidades de población, 2.675 edificaciones, 15 edificios religiosos, 47 puntos de interés y 101 topónimos de orografía, sobre capas de densidad, dispersión del poblamiento y evolución 2010→2025.
La decisión técnica que más importa
Lo que se publica es HTML estático puro. En el servidor no hay Python, ni Jupyter, ni Dash — y el propio proyecto lo prohíbe expresamente en su fichero de dependencias de producción, que está deliberadamente vacío. Todo el cálculo se hace en local; al servidor solo llegan los ficheros ya generados. Un servidor de notebooks expuesto a internet es una consola remota: aquí no hay ninguna.
Cómo se endureció para publicarlo
Folium genera mapas que cargan Leaflet, jQuery, Bootstrap y Font Awesome desde CDN de terceros y sin verificación de integridad. Un CDN comprometido podría ejecutar JavaScript arbitrario en el navegador de quien abriese el mapa. El proceso de publicación:
- Autoaloja esas cinco bibliotecas: cero peticiones a CDN.
- Inyecta una Content-Security-Policy en cada página, y el servidor añade la suya propia por cabecera.
- Esa CSP no usa
'unsafe-inline'para JavaScript: los dos bloques en línea que Folium necesita están autorizados por su hash SHA-256, calculado por un script que se ejecuta antes de cada publicación. Un script inyectado no casa ningún hash y queda bloqueado.
Lo único que se pide fuera son las teselas del mapa base, al IGN y a OpenStreetMap: no se pueden autoalojar —son cientos de gigabytes— y están declaradas en la política de privacidad.
Reutilización
Las dos páginas están pensadas para poder integrarse en otra web —por ejemplo, la del propio ayuntamiento— manteniendo las rutas relativas. Están bajo AGPLv3, y no son un producto oficial del Ayuntamiento: es un proyecto personal hecho con datos públicos.
Fuentes de datos
- Base Topográfica de Galicia 2020 (concello 32036) — Centro de Descargas de Información Xeográfica de Galicia, Xunta de Galicia.
- Límites administrativos de concello e parroquias — CDIX, Xunta de Galicia.
- Teselas do mapa base — Instituto Geográfico Nacional (IGNBase e ortofoto PNOA) e OpenStreetMap.
- Padrón e indicadores demográficos — INE e IGE.