No description
Find a file
hacklab 73e471005b Multi-país de verdad: 27 países calculados y 26 defectos corregidos
El soporte multi-país estaba declarado pero nunca se había ejecutado entero.
Al hacerlo aparecieron defectos en cadena, la mayoría por dar por hecho que
lo que vale en España vale en todas partes.

Máscara del país
- El nivel administrativo que cubre el país no es el mismo en todas partes: en
  España el 4 son las comunidades, en Portugal el 4 se queda en 2.338 km2 de
  89.015 y cubre el 8, en Islandia el 8 tiene un solo polígono de 5 km2 y manda
  el 6. Se elige el nivel midiendo cobertura, no suponiéndola.
- Se mide sobre la máscara del país y no por área cruda de los polígonos: con
  áreas crudas el nivel grueso gana en los países con costa (las županije
  croatas cuentan 30.000 km2 de Adriático) y el fino gana en Polonia cubriendo
  el 57 %.
- Fuera el mar. El límite del país en OSM incluye las aguas territoriales:
  Islandia son 177.147 km2 con mar y 102.719 de tierra, y salían ocho
  candidatos flotando en el Atlántico. Se recorta por DEM, donde el océano es
  exactamente 0.0 y la tierra a cero clavado casi no existe (5 km2 de 56.439
  en Croacia). Los países bajo el nivel del mar salen negativos, no cero.

Un solo modelo
- score.py duplicaba los umbrales de stars.py con otros valores (1.500 m al
  edificio en vez de 2.000, 8 grados de pendiente en vez de 10) y publicaba su
  propia lista de candidatos sin filtro acústico: 60 sitios que compartían uno
  con los 355 buenos. Fuera la lista, y los umbrales salen de stars.py.

Datos por país
- Los espacios protegidos se guardaban en un único directorio con un "si ya
  existe, no lo bajes", así que cualquier país nuevo se quedaba con los
  polígonos de España. Uno por país.
- Comprobado contra los servicios de la EEA país por país: Andorra y Reino
  Unido devuelven cero sitios (Andorra nunca estuvo en la UE, el Reino Unido
  salió) y Grecia solo tiene Natura 2000. Donde no hay fuente oficial se cae a
  OpenStreetMap avisando, que es incompleto pero mucho mejor que una máscara
  vacía: en Andorra eran 9 km2 contra 70.
- make datos no descargaba el OSM y los vecinos se extraían a mano. Nuevo
  src/dl_osm.sh y extract_osm.py los recorre solo, avisando si falta alguno.

Robustez
- stars.py reventaba con un traceback si un país no daba ningún sitio. Ahora
  explica el embudo filtro a filtro y corta limpio. Pasa en cuatro países.
- stars.py no cabía en memoria con mallas grandes: Argelia son 449 M celdas,
  16 capas de 1,8 GB más los criterios, y el kernel mataba el proceso. Las
  capas se mapean a disco. Resultado idéntico byte a byte.
- dl_dem.sh no era seguro en paralelo: el fichero temporal se llamaba igual
  para todos y dos países bajando la misma tesela se pisaban.
- revisar.py llevaba la ventana de España cableada, comparaba el centro de
  celda sin tolerancia de rejilla, y trataba como fallo una etiqueta que hay
  países que no tienen. Añadidas dos comprobaciones nuevas: candidatos sobre
  el mar y candidatos pegados al borde de la ventana, donde el aislamiento
  sale inflado porque al otro lado del bbox no hay datos.

Visor
- Selector de país en la cabecera. Cada visor es un fichero autónomo, así que
  salta al del otro país en vez de cargar los dos. Rutas relativas.
- Las capas del mapa pasan a ser excluyentes: las tres a la vez se tapaban.
- Lo español (teselas del IGN, catastro, WMS del MITECO, ortofoto del PNOA)
  queda condicionado a la región en vez de salir en blanco fuera de España.

Publicación
- Al repositorio va el visor y los CSV de cada país; fuera los WebP, que van
  ya incrustados dentro del visor, y los PNG de los mapas, que solo usa el
  informe. make empaquetar deja además un zip por país para las releases y
  make descargar los baja sin recalcular nada.
- El informe no se genera fuera de España: no es una plantilla sino un
  artículo escrito, con cifras del barrido español en la prosa.
2026-08-11 17:42:59 +02:00
docs Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
out Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
src Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
vendor RAVE SCOUT: análisis de aislamiento de España y visor de localizaciones 2026-08-08 20:29:27 +02:00
web RAVE SCOUT: análisis de aislamiento de España y visor de localizaciones 2026-08-08 20:29:27 +02:00
.gitignore Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
.gitlab-ci.yml Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
abrir.ps1 Multi-país, idiomas, seguridad, instaladores y documentación 2026-08-08 22:24:17 +02:00
abrir.sh Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
install.ps1 Multi-país, idiomas, seguridad, instaladores y documentación 2026-08-08 22:24:17 +02:00
install.sh Multi-país, idiomas, seguridad, instaladores y documentación 2026-08-08 22:24:17 +02:00
LICENSE RAVE SCOUT: análisis de aislamiento de España y visor de localizaciones 2026-08-08 20:29:27 +02:00
Makefile Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
README.md Multi-país de verdad: 27 países calculados y 26 defectos corregidos 2026-08-11 17:42:59 +02:00
requirements.txt Multi-país, idiomas, seguridad, instaladores y documentación 2026-08-08 22:24:17 +02:00

RAVE SCOUT

Barrido de los 498.528 km² de la España peninsular y balear, celda a celda sobre una malla de 100 m, buscando los puntos más alejados de cualquier rastro de gente a los que además se pueda llegar con un coche cargado.

Salen 355 localizaciones, valoradas de 1 a 5 estrellas, con un visor para explorarlas sobre relieve, ortofoto y catastro.

vista del visor

Documentación completa en la wiki y en docs/.

Cómo usarlo

Sin instalar nada, tras clonar:

xdg-open out/visor.html      # Linux
start out\visor.html         # Windows
open out/visor.html          # macOS

No hace falta servidor ni conexión. Ojo: visor.html necesita la carpeta out/ortho/ al lado, que es donde están las fotos aéreas.

Qué hay dentro

out/visor.html El visor: mapa de España con relieve, filtros, ficha por localización con foto aérea y relieve 3D, y mapa deslizante con satélite, topográfico, catastro y espacios protegidos
out/informe.html El método explicado, los mapas y la tabla de las mejores
out/candidatos_estrellas.csv Las 355 con todos los campos, para abrir en LibreOffice o QGIS
out/ortho/ Ortofoto PNOA de cada localización, 640 m de lado
out/stats.json Cifras del modelo, que leen el informe y el visor
src/ El pipeline entero, reproducible
out/<país>/ Lo mismo para cada país calculado. No van al repositorio: se publican como paquetes (make empaquetar) y se bajan con make descargar

Cómo se calcula

Sobre una malla de 100 m en proyección equiárea (EPSG:3035) se vuelcan 12,5 millones de edificios y 1,4 millones de kilómetros de viales de OpenStreetMap, y para cada celda se calcula por transformada de distancia a qué distancia real está lo más cercano de cada tipo.

Primero se descarta. Una celda queda fuera si está en espacio protegido oficial o a menos de 300 m de su borde, en zona militar, en agua, a menos de 2 km de un edificio, a menos de 400 m de una carretera, a más de 800 m de un vial por el que meter un coche, o con más de 10° de pendiente.

Después manda el sonido. Se estima el nivel que llega a la casa más cercana con propagación real —divergencia esférica, absorción atmosférica en frecuencias bajas, apantallamiento del relieve y absorción del arbolado, desde 130 dB a 1 m— y se exige que no pase de 45 dB, el límite nocturno típico en suelo rural. Es el filtro que de verdad corta: de 47.519 km² que pasan lo anterior, solo 505 km² bajan de 45 dB.

Lo que sobrevive se puntúa en seis criterios: sonido (30 %), soledad (22 %), acceso (18 %), agua (12 %), arbolado (10 %) y clima (8 %). Las estrellas salen de la media ponderada penalizada por el eslabón más débil, para que un sitio 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.

Otros países

cobertura

El país es un parámetro. Hay 27 en el catálogo entre Europa y el norte de África y están los 27 calculados: 7.337 localizaciones en total, de las que 1.417 son de cinco estrellas. Se cambia de uno a otro desde el propio visor.

País Localizaciones ★★★★★ km² bajo 45 dB Protegido
Argelia 1.959 310 51.438 5.5 %
Libia 1.246 434 52.100 0.0 %
Egipto 753 175 22.120 6.7 %
Mauritania 674 150 21.997 0.6 %
Marruecos 640 230 25.173 1.7 %
Suecia 429 18 3.985 18.8 %
España 355 11 505 29.0 %
Rumanía 274 31 1.075 24.3 %
Túnez 213 22 6.085 0.8 %
Grecia 155 13 336 36.2 %
Islandia 143 15 1.147 19.8 %
Noruega 142 6 176 18.2 %
Finlandia 121 0 630 15.8 %
Reino Unido 88 1 150 20.6 %
Italia 46 0 7 22.1 %
Croacia 46 1 86 39.5 %
Portugal 16 0 13 23.1 %
Francia 16 0 2 29.5 %
Irlanda 12 0 4 16.7 %
Chequia 4 0 0 23.1 %
Polonia 2 0 1 40.6 %
Austria 2 0 0 30.5 %
Alemania 1 0 0 41.7 %
Andorra, Países Bajos, Bélgica, Suiza 0 0 0

La columna que manda es la del sonido, y el reparto no tiene nada que ver con el tamaño de los países. El norte de África concentra 5.272 de las 7.337 localizaciones; la Europa central industrializada —Alemania, Polonia, Austria, Chequia, Bélgica, Países Bajos y Suiza juntos, más de un millón de km²— suma nueve. Alemania tiene exactamente una: Bad Arolsen, a 44,4 dB. Y Holanda, Bélgica, Suiza y Andorra, ninguna.

Lo que decide es cómo está repartida la gente, no cuánta hay. La mediana de distancia al edificio más cercano va de los 141 m de los Países Bajos a los 48 km de Libia, pasando por 316 m en Polonia y 1.020 m en España. Suiza es el caso curioso: aislamiento le sobra, pero solo el 37,9 % del país baja de 10° de pendiente y el cruce con "a más de 2 km de una casa" deja 430 km², que no sobreviven al resto de filtros.

Dos avisos sobre las cifras extremas. Primero, las estrellas no son comparables entre países: las bandas son absolutas (5★ a partir de 72 puntos) pero los criterios saturan en extremos opuestos. En Libia el 72 % de los candidatos tiene el sonido —que pesa un 30 %— clavado en el máximo, y en España el 0 %; los 121 candidatos finlandeses tienen exactamente la misma nota de clima porque el umbral del frío se acaba en 8 °C y allí el mínimo va de 11 a 20.

Segundo, la columna db_en_casa da negativos en el desierto y eso no significa nada. El mejor candidato argelino tiene la casa más cercana a 265 km, y el término de absorción atmosférica del modelo (0,5 dB/km) extrapolado a esa distancia son 132 dB él solo, de donde salen los 111 dB. La aproximación vale para unos pocos kilómetros, no para cientos. Por debajo del ruido ambiente de una noche en el desierto, unos 20-30 dB, todo es igual de inaudible.

Ojo al comparar estrellas entre países. El criterio de clima penaliza con umbrales absolutos —por encima de 30 °C y por debajo de 1 °C— y en el norte satura: los 121 candidatos finlandeses tienen exactamente la misma nota de clima, así que ese 8 % del modelo deja de distinguir y les baja la banda de estrellas a todos por igual. Finlandia no sale con cero cinco-estrellas porque sus sitios sean peores.

Bajarse un país, o calcular otro

El repositorio lleva España. Los demás se bajan ya hechos, que son unos pocos MB y un momento, en vez de un par de horas y 25 GB:

make descargar PAIS=is     # solo Islandia
make descargar             # todos los publicados

Aparecen en el desplegable de país del visor automáticamente. Y para calcular uno que no esté:

./.venv/bin/python src/regions.py    # ver el catálogo
REGION=hr make all                   # procesar Croacia entera

Sin ortofoto nacional descargable, el visor de Portugal abre la ficha en el relieve 3D en vez de en la foto aérea, y el mapa deslizante va sobre OSM en vez de sobre las teselas del IGN. Tampoco lleva informe.html: ese no es una plantilla sino un artículo escrito sobre el barrido español, así que solo se genera para España.

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.

Ojo con lo que hay disponible en cada sitio. Comprobado consultando los servicios de la Agencia Europea de Medio Ambiente país por país, que estar en Europa no basta: Andorra y Reino Unido devuelven cero espacios protegidos —Andorra nunca estuvo en la UE y el Reino Unido salió— igual que todo el norte de África, y Grecia solo tiene Natura 2000, sin figuras nacionales. Donde no hay fuente oficial se cae a los polígonos de OpenStreetMap, que son incompletos y no son un límite legal; 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.

./install.sh        # Linux y macOS
.\install.ps1       # Windows (PowerShell)
make all

Lo que este análisis no sabe

  • No ve vallas ni propiedad. Casi todo el suroeste que domina la lista es dehesa privada, en fincas cerradas y cotos de caza. Ve la pista que llega; no ve la cadena y el candado. Por eso el visor lleva la capa de catastro.
  • Los protegidos son de diciembre de 2024. Son los límites oficiales, pero las figuras autonómicas cambian y hay ordenanzas municipales que no están en ningún mapa nacional.
  • El modelo acústico es de manual. Una inversión térmica nocturna o el viento a favor llevan el bajo mucho más lejos de lo que dice el número.
  • Ignora la estación. Buena parte de estos sitios son monte mediterráneo en riesgo extremo de incendio de junio a septiembre.
  • Distancia en línea recta, no tiempo de coche.

Fuentes y licencias

Dato Fuente Licencia
Edificios, viales, agua, arbolado, roca, límites administrativos OpenStreetMap vía Geofabrik ODbL
Red Natura 2000 y espacios de designación nacional Agencia Europea de Medio Ambiente / MITECO reutilización con atribución
Ortofotos PNOA Instituto Geográfico Nacional CC BY 4.0
Cartografía catastral Dirección General del Catastro reutilización con atribución
Modelo de elevaciones Copernicus DEM GLO-90 Copernicus
Clima WorldClim 2.1 CC BY-SA 4.0
Mapa deslizante Leaflet 1.9.4 BSD-2

El código de este repositorio, bajo licencia MIT (ver LICENSE). Los datos mantienen la licencia de su fuente.

Aviso

Esto localiza sitios despoblados; no es permiso para nada. Casi todo el terreno es privado, muchas zonas tienen restricciones de acceso por incendios, y celebrar una concentración sin autorización tiene consecuencias administrativas y, si prende algo, penales. Comprueba propiedad, figura de protección y época del año antes de moverte.