# 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 limpio all: datos rasters modelo salidas revisar ## --- descargas (~2,5 GB, una vez) --- datos: bash src/dl_dem.sh $(PY) src/dl_protected.py @echo "OSM: descarga los .pbf de Geofabrik en data/raw/ (ver README)" ## --- 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 --- modelo: $(PY) src/stars.py ## --- visor, informe y mapas --- salidas: $(PY) src/render_relief.py $(PY) src/render_map.py $(PY) -c "from PIL import Image; \ [Image.open(f'out/{n}.png').save(f'out/{n}.webp','WEBP',quality=q,method=6) \ for n,q in (('relieve',88),('protegidos',80),('aislamiento_ov',80))]" $(PY) src/dl_orthos.py rm -rf out/ortho && cp -r data/interim/ortho out/ortho $(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 limpio: rm -rf out/*.html out/*.png out/*.webp out/ortho