Terrain_MBtiles/make_tiles_italy.sh
Fabio Micheluz acf5948fdb first commit
2026-02-08 15:56:14 +01:00

93 lines
2.2 KiB
Bash
Executable file

#!/bin/zsh
###############################################
# CONFIG
###############################################
PYTHON="/usr/bin/python3"
TERRAIN_ROOT="/Volumes/terrain/tiles"
TILES_ROOT="/Volumes/SSD4T/tiles_italy_new"
LOG_DIR="/Volumes/SSD4T/logs_new"
RESUME_DIR="/Volumes/SSD4T/resume_new"
Z_MIN=7
Z_MAX=14
mkdir -p "$TILES_ROOT" "$LOG_DIR" "$RESUME_DIR"
###############################################
# CHECK PYTHON
###############################################
if [ ! -x "$PYTHON" ]; then
echo "[ERRORE] Python non trovato: $PYTHON"
exit 1
fi
###############################################
# LOOP SU TUTTI I DEM ITALIANI
###############################################
DEM_LIST=$(find "$TERRAIN_ROOT" -maxdepth 1 -type d -name "Copernicus_DSM_COG_10_*_DEM" \
| grep -E "N(3[6-9]|4[0-7])_00_E(00[6-9]|0(1[0-9]))_00" \
| sort)
echo "[INFO] Trovati $(echo "$DEM_LIST" | wc -l | tr -d ' ') DEM italiani"
for DEM_DIR in $DEM_LIST; do
BASENAME=$(basename "$DEM_DIR")
TIF="$DEM_DIR/${BASENAME}_terrain_rgb.tif"
if [ ! -f "$TIF" ]; then
echo "[WARN] Nessun TIFF TerrainRGB in $DEM_DIR"
continue
fi
OUT_DIR="$TILES_ROOT/$BASENAME"
mkdir -p "$OUT_DIR"
RESUME_FILE="$RESUME_DIR/${BASENAME}.done"
LOGFILE="$LOG_DIR/${BASENAME}.log"
if [ -f "$RESUME_FILE" ]; then
echo "[SKIP] Tiles già generati per $BASENAME"
continue
fi
echo "[INFO] Genero tiles per $BASENAME"
{
echo "----------------------------------------"
echo "DEM: $BASENAME"
echo "Input: $TIF"
echo "Output: $OUT_DIR"
echo "Zoom: $Z_MIN-$Z_MAX"
echo "Start: $(date)"
echo "----------------------------------------"
CORES=$(sysctl -n hw.ncpu 2>/dev/null || echo 4)
$PYTHON terrain_rgb_to_tiles.py "$TIF" "$OUT_DIR" "$Z_MIN" "$Z_MAX" "$CORES"
STATUS=$?
echo "End: $(date)"
echo "Status: $STATUS"
echo "----------------------------------------"
} >> "$LOGFILE" 2>&1
if [ "$STATUS" -ne 0 ]; then
echo "[ERRORE] Tiles falliti per $BASENAME"
continue
fi
touch "$RESUME_FILE"
echo "[OK] Tiles creati per $BASENAME"
done
echo "[INFO] Completato!"