# Dev Report: Тестовая генерация hypso тайлов (Task 1) Дата: 2026-05-13 Статус: DONE ## Задача Тестовая генерация hypso тайлов из SRTM данных — зум 10, обрезанный участок (Москва). ## Проблема (root cause) Оригинальный `gdalbuildvrt` запускался из директории SRTM (`cd /home/slin/.../srtm && gdalbuildvrt ... *.hgt`), но VRT сохранялся в `/tmp/`. В VRT пути к файлам записывались как относительные (`N50E038.hgt`), и при чтении VRT из `/tmp/` GDAL не мог найти файлы → пустой результат. **Решение:** использовать `-input_file_list` с абсолютными путями (через `find ... -name "*.hgt" > list.txt`). ## Сделано - [x] 1.1 Построен VRT из 67 HGT файлов с абсолютными путями - [x] 1.2 Сгенерирован color-relief GeoTIFF (bbox 36.5-38.5E, 55.0-56.5N) - [x] 1.3 Нарезаны тайлы зума 10 (56 тайлов, 40 non-empty >400 байт, крупнейшие ~55KB) - [x] 1.4 Тайлы скопированы в production директорию, старые забэкаплены ## Результаты проверок | Проверка | Результат | |----------|-----------| | VRT stats | MIN=-21, MAX=340 ✅ | | Crop stats (Moscow) | MIN=84, MAX=298 ✅ | | Color-relief bands | R max=169, G max=190, B max=105, A max=255 ✅ | | Тайлы зума 10 | 56 total, 40 non-empty (>400b), max size 55KB ✅ | | Deploy | `/home/slin/enduro-trails/data/terrain/hypso/10/` — 7 X-dirs (615-621) ✅ | ## Изменённые файлы (на сервере) - `/home/slin/enduro-trails/data/terrain/hypso/10/` — новые тайлы (из `/tmp/hypso_test/tiles/10/`) - `/home/slin/enduro-trails/data/terrain/hypso/10_backup/` — бэкап старых пустых тайлов - `/tmp/hypso_test/` — рабочая директория (VRT, crop, color-relief, tiles) ## URL для проверки в UI ``` https://openclaw.mva154.duckdns.org/enduro/terrain/hypso/10/619/703.png (55KB) https://openclaw.mva154.duckdns.org/enduro/terrain/hypso/10/620/706.png (47KB) ``` ## Ключевой урок При использовании `gdalbuildvrt` с выходным файлом в другой директории — всегда использовать абсолютные пути к исходным файлам (через `-input_file_list` или полные пути в аргументах). Относительные пути в VRT резолвятся от расположения VRT файла, а не от CWD при создании. ## Следующий шаг Task 2 (полная генерация зумов 5-14) — ждёт подтверждения от Славы что тест прошёл в UI.