Источники рельефа и карт (FR-17 … FR-20)
Дата проверки: 2026-09-27. Всё ниже проверено запросами с этой машины, кроме помеченного «(по документации)».
1. Высоты (DEM)
| Источник | Разрешение | Доступ | Формат | Лицензия | Итог |
|---|---|---|---|---|---|
AWS Terrain Tiles (Mapzen/Tilezen, s3.amazonaws.com/elevation-tiles-prod/terrarium/{z}/{x}/{y}.png) | z0–15; на суше SRTM 1″ (≈30 м, «номинально 90 м»), ниже z7 — GMTED/ETOPO1, в Европе EU-DEM, в США 3DEP 10 м, выше 60° с. ш. ArcticDEM | открытый HTTPS, без ключа и без лимитов (AWS Open Data) | PNG 256×256, h = R·256 + G + B/256 − 32768 м | открытые данные, атрибуция источников по списку | ✅ рантайм (FR-17): PNG декодирует сам Godot (Image.load_png_from_buffer), кеш — просто файлы |
Copernicus DEM GLO-30 (copernicus-dem-30m.s3.amazonaws.com/Copernicus_DSM_COG_10_N51_00_E085_00_DEM/…tif) | 1″ (30 м), по долготе 1.5″ на 50–60° | открытый HTTPS, без ключа | Cloud-Optimized GeoTIFF float32, тайл 1°×1° ≈ 28 МБ | бесплатно, любое использование, атрибуция DLR/Airbus/ESA | ✅ встроенные локации: лучшее открытое качество (новее и чище SRTM, без дыр). В Godot GeoTIFF не читается → конвертация в python |
| SRTM (NASA, SRTMGL1/NASADEM) | 1″ (30 м) | NASA Earthdata (нужна регистрация) или через OpenTopography/AWS | HGT/GeoTIFF | public domain | уже внутри Terrain Tiles; отдельно не нужен |
OpenTopography Global DEM API (portal.opentopography.org/API/globaldem?demtype=COP30&south=…) | SRTM, NASADEM, COP30, COP90, ALOS | нужен бесплатный API-ключ, лимиты на площадь и число запросов в сутки (по документации) | GeoTIFF по bbox | как у исходных данных | ⚠️ удобно для разовой подготовки, но ключ и лимиты — не для игры у пользователя |
Важно: и Copernicus, и SRTM — модели поверхности (DSM). В лесу «земля» — это верх крон (+15…25 м), на опушках и вырубках
ступеньки высотой с дерево. Поэтому fetch_dem.py слегка сглаживает детальный слой (σ = 0.8 клетки), а 3D-деревья
утоплены в поверхность (trees.sink_fraction). Модели рельефа без леса (DTM: FABDEM — CC-BY-NC, не подходит по лицензии;
национальные лидарные DTM — только отдельные страны) для Алтая открыто нет.
2. Подложка карты для экрана выбора места (FR-17)
| Вариант | Можно ли в десктоп-игре | Комментарий |
|---|---|---|
tile.openstreetmap.org | ⚠️ по Tile Usage Policy — только умеренно: обязателен узнаваемый User-Agent, кеширование по HTTP-заголовкам, атрибуция «© OpenStreetMap contributors», запрещены массовая/предварительная загрузка; сервер может заблокировать приложение, гарантий нет | как основной источник для распространяемой игры не рекомендуется |
OpenTopoMap ({a,b,c}.tile.opentopomap.org) | ⚠️ CC-BY-SA, красивая топокарта с горизонталями — но небольшой волонтёрский сервер, та же политика «разумного использования» | можно как опцию с кешем, не как основу |
| Коммерческие (MapTiler, Thunderforest, Stadia) | ✅ бесплатные тарифы с API-ключом | ключ пришлось бы зашить в игру — плохо для NFR-5 и открытого кода |
| Свой сервер векторных тайлов (martin / PMTiles из OpenStreetMap, ODbL) | ✅ | планируется интегратором позже; данные OSM под ODbL (атрибуция) |
| Отмывка рельефа (hillshade) из тех же Terrarium-тайлов | ✅ без внешних карт и ключей | рекомендую для MVP: тайлы высот всё равно качаются для рельефа, они же рисуют карту (шейдер отмывки + гипсометрия). Горы, долины, реки-долины отлично читаются — пилоту это важнее дорог. Реализовано: scripts/terrain/map_picker.gd |
3. Реализуемость FR-17 — да, получается
Сделан прототип Terrain.load_location_latlon(lat, lon, size_km) (scripts/terrain/terrarium_loader.gd):
- детальный слой 40 км из Terrarium z12 (≈24 м на 52°) + дальний 160 км из z9 (≈190 м);
- ≈ 90 тайлов ≈ 4 МБ; кеш —
user://terrain_cache/terrarium/z/x/y.png; - проверено на Эльбрусе (43.25, 42.45): холодная загрузка 24 с (сеть, 4 параллельных запроса), из кеша 0.8 с;
- сетка строится прямо в пикселях web-mercator (масштаб на 40–170 км меняется < 1 %), декодирование — в рабочем потоке.
Ограничения прототипа: нет индикатора прогресса в UI (есть сигнал TerrariumLoader.progress), нет стартовых площадок кроме выбранной
точки (курс — вниз по склону), нет офлайн-режима кроме кеша. Качество Terrarium ниже Copernicus (местами ступеньки SRTM),
но для полётов достаточно.
4. Решения
- Встроенная локация «Алтай»: Copernicus GLO-30 (детально) + Terrarium z10 (фон). 11.5 МБ в репозитории.
- Рантайм: Terrarium (без ключей, PNG, неограниченно).
- Карта выбора: отмывка из Terrarium сейчас; векторная карта через martin — позже (интегратор).