# Pipeline completo. Cada paso deja su resultado en data/interim o en out/, # así que se puede reejecutar solo la parte que interese. PY := ./.venv/bin/python .PHONY: all datos rasters modelo salidas cobertura revisar selector limpio all: datos rasters modelo salidas revisar ## --- descargas (~2,5 GB, una vez) --- datos: bash src/dl_osm.sh bash src/dl_dem.sh $(PY) src/dl_protected.py ## --- extracción y rásters --- rasters: $(PY) src/extract_osm.py $(PY) src/extract_areas.py $(PY) src/extract_extra.py $(PY) src/dem_terrain.py $(PY) src/build_rasters.py $(PY) src/build_protected.py $(PY) src/build_rasters2.py ## --- modelo de estrellas --- # score.py deja iso_pure.npy y score_rave.tif, que necesitan los mapas. modelo: $(PY) src/score.py $(PY) src/stars.py ## --- visor, informe y mapas --- salidas: $(PY) src/render_relief.py $(PY) src/render_map.py $(PY) -c "import sys; sys.path.insert(0,'src'); import config as C; \ from PIL import Image; \ [Image.open(C.OUT/f'{n}.png').save(C.OUT/f'{n}.webp','WEBP',quality=q,method=6) \ for n,q in (('relieve',88),('protegidos',80),('aislamiento_ov',80))]" $(PY) src/dl_orthos.py $(PY) src/build_viewer.py $(PY) src/report.py ## --- mapa de cobertura para la wiki --- cobertura: mkdir -p data/raw/ne cd data/raw/ne && for f in 50m/raster/NE1_50M_SR_W 10m/cultural/ne_10m_admin_0_countries; do \ n=$$(basename $$f); [ -f $$n.zip ] || curl -sfL -o $$n.zip https://naciscdn.org/naturalearth/$$f.zip; \ unzip -o -q $$n.zip; done $(PY) src/render_europe.py ## --- comprobación de coherencia del resultado --- revisar: $(PY) src/revisar.py ## --- desplegable de país --- # Cada visor congela la lista de países al construirse, así que al calcular uno # nuevo hay que rehacer el selector de los demás. selector: $(PY) src/paises.py limpio: rm -rf out/*.html out/*.png out/*.webp out/ortho