Files
wiki/tasks/enduro-trails/scripts/gen_tri_full.sh
2026-05-13 22:10:04 +03:00

86 lines
2.0 KiB
Bash

#!/bin/bash
set -e
echo '=== FULL TRI REGENERATION (32E-50E) ==='
echo "Start: $(date)"
SRTM_DIR='/home/slin/enduro-trails/data/srtm'
TERRAIN_DIR='/home/slin/enduro-trails/data/terrain'
TRI_DIR="${TERRAIN_DIR}/tri"
TMP='/tmp/tri_gen'
mkdir -p $TMP
echo ''
echo '=== Step 1: Merge all 101 HGT files ==='
ls $SRTM_DIR/*.hgt > $TMP/hgt_list.txt
echo "Files: $(wc -l < $TMP/hgt_list.txt)"
gdalbuildvrt -input_file_list $TMP/hgt_list.txt $TMP/merged_full.vrt
echo "VRT built"
echo ''
echo '=== Step 2: Compute TRI ==='
gdaldem TRI $TMP/merged_full.vrt $TMP/tri_raw_full.tif \
-of GTiff -co COMPRESS=LZW -co BIGTIFF=YES
echo "TRI computed"
echo ''
echo '=== Step 3: Color relief (thresholds x1.3) ==='
cat > $TMP/tri_color_v3.txt << 'RAMP'
nv 0 0 0 0
0 0 0 0 0
3 0 0 0 0
4 255 255 100 60
5 255 230 50 100
6.5 255 200 0 140
9 255 150 0 180
13 255 100 0 200
20 230 50 0 220
26 200 0 0 235
39 180 0 50 245
65 150 0 100 255
RAMP
gdaldem color-relief \
$TMP/tri_raw_full.tif \
$TMP/tri_color_v3.txt \
$TMP/tri_colored_full.tif \
-alpha \
-of GTiff \
-co COMPRESS=LZW \
-co BIGTIFF=YES
echo "Color relief done"
echo ''
echo '=== Step 4: Generate tiles ==='
rm -rf ${TRI_DIR}
mkdir -p ${TRI_DIR}
gdal2tiles.py \
--zoom=5-12 \
--processes=4 \
--tilesize=256 \
--webviewer=none \
$TMP/tri_colored_full.tif \
${TRI_DIR}/
echo "Tiles generated"
echo ''
echo '=== Step 5: Stats ==='
for z in 5 6 7 8 9 10 11 12; do
total=$(find ${TRI_DIR}/$z/ -name '*.png' 2>/dev/null | wc -l)
nonempty=$(find ${TRI_DIR}/$z/ -name '*.png' -size +400c 2>/dev/null | wc -l)
echo " zoom $z: $total total, $nonempty non-empty"
done
echo ''
du -sh ${TRI_DIR}
# Also update merged_srtm.tif for future use
cp $TMP/tri_raw_full.tif $TMP/tri_raw.tif
gdal_translate -of GTiff -co COMPRESS=LZW $TMP/merged_full.vrt ${TERRAIN_DIR}/merged_srtm.tif
echo ''
echo '=== DONE ==='
echo "End: $(date)"