Источники рельефа и карт (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/AWSHGT/GeoTIFFpublic 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 — позже (интегратор).