Multi-país, idiomas, seguridad, instaladores y documentación

Seguridad
- Escapado de todo lo que viene de datos de terceros antes de ir al HTML,
  incluidos los tooltips de Leaflet. Los nombres de municipio salen de
  OpenStreetMap, que cualquiera puede editar: sin escapar, era una vía de
  inyección de código en el navegador de quien abriera el visor.

Multi-país
- El país pasa a ser un parámetro (REGION). Catálogo de 27 regiones entre
  Europa y el norte de África, declarando por país qué datos existen de verdad.
- Una malla por país y no una continental: Europa entera a 100 m son mil
  millones de celdas y unos 73 GB solo en capas ráster.
- Proyección equiárea propia para las regiones de fuera de Europa, donde
  EPSG:3035 deforma.

Interfaz
- Idiomas: castellano, inglés, francés y portugués, con selector persistente.
- Modo Mapa: el país entero sobre satélite, topográfico u OSM.
- Enlaces a mapas externos en la barra inferior, siempre visibles.
- Botón de ver de cerca también en la cabecera de la ficha.
- Fuera la distancia desde Madrid, que centralizaba algo de uso general.

Portabilidad
- install.sh e install.ps1 para Linux/macOS y Windows; requirements.txt.
- Sin rutas absolutas en el código.

Documentación
- Ocho páginas en docs/ para la wiki: instalación, uso, añadir un país,
  metodología, seguridad, fuentes y publicación.
This commit is contained in:
hacklab 2026-08-08 22:24:17 +02:00
parent d4b3b803e0
commit f890dd9448
22 changed files with 1288 additions and 280 deletions

View file

@ -9,13 +9,11 @@ explorarlas sobre relieve, ortofoto y catastro.
![vista del visor](docs/visor.png)
Documentación completa en la [wiki](../../wiki) y en `docs/`.
## Cómo usarlo
**En el navegador, sin instalar nada** — si está publicado en GitLab Pages:
`https://<usuario>.gitlab.io/<proyecto>/`. Funciona igual en Windows, Android y
Linux.
**En local**, tras clonar:
**Sin instalar nada**, tras clonar:
```bash
xdg-open out/visor.html # Linux
@ -64,18 +62,32 @@ perfecto al que no se puede llegar no salga con cuatro estrellas.
Los candidatos se eligen cogiendo el mejor punto de cada bloque de 20 km y
exigiendo después 10 km de separación entre los elegidos.
## Reproducirlo
## Otros países
Hacen falta ~25 GB de disco y un par de horas. Los datos de partida no están en
el repositorio: se descargan solos.
El país es un parámetro. Hay 27 declarados entre Europa y el norte de África,
pero **solo España está calculada**: el resto hay que procesarlo.
```bash
python3 -m venv .venv
./.venv/bin/pip install numpy scipy rasterio osmium shapely pyproj requests pillow
make all
./.venv/bin/python src/regions.py # ver el catálogo
REGION=pt make all # procesar Portugal
```
O paso a paso, ver el `Makefile`.
Una malla por país, no una continental: Europa entera a 100 m son mil millones
de celdas, 73 GB solo en capas ráster. Ver [Añadir un país](docs/Anadir-un-pais.md).
Ojo con lo que hay disponible en cada sitio: en el norte de África **no hay
fuente libre de espacios protegidos**, así que el filtro legal no se aplica y
hay que conseguir la cartografía del país aparte.
## Reproducirlo
Hacen falta ~25 GB de disco por país y un par de horas.
```bash
./install.sh # Linux y macOS
.\install.ps1 # Windows (PowerShell)
make all
```
## Lo que este análisis no sabe