Перейти к содержимому
SYS checking…

LIVE · показатели
Направлений исследований6активных программ
Открытых репозиториев5на GitHub
Партнёрских организаций4университеты и НИИ
Проектов в работе11по трём направлениям
Наборов данных3в открытом доступе
Рецензируемых статей4в процессе подготовки
Проведённых мероприятий7семинары и коллоквиумы
Страниц документации240открытая база знаний
Направлений исследований6активных программ
Открытых репозиториев5на GitHub
Партнёрских организаций4университеты и НИИ
Проектов в работе11по трём направлениям
Наборов данных3в открытом доступе
Рецензируемых статей4в процессе подготовки
Проведённых мероприятий7семинары и коллоквиумы
Страниц документации240открытая база знаний
Project · Urban Heat Islands

Карта жары

Публичная карта городских островов тепла России: температура поверхности с разрешением тридцать метров, посчитанная по открытым спутниковым данным — без единого закрытого источника, без обученной на приватных данных модели и без сервера, который может упасть.

Городов
10
Разрешение
30 м
Наблюдения
2015–2025
Слоёв данных
7
Статусактивный · рабочая сборка · подготовка к публичному релизуНаправлениеПрикладное машинное восприятие · геоаналитика городской средыPython · rasterio / pyproj · PMTiles · Next.js · MapLibre GL
Интерфейс «Карты жары»: слой температуры поверхности над Москвой, панель выбора слоёв, шкала температур от 25 до 60 градусов
Слой «Жара» над Москвой. Съёмка 25 июля 2025, 11:28 МСК, Landsat C2 L2 ST. Красным — административная граница города; шкала внизу слева — температура поверхности в градусах Цельсия.
Постановка задачи

Город неоднороден, а измеряют его как точку

Городской остров тепла — не метафора и не публицистический оборот. Это измеримое физическое явление: плотная застройка, тёмные кровли и запечатанный грунт поглощают солнечную радиацию днём и отдают её ночью, а испарение с растительности, которое охлаждает открытый ландшафт, в городе почти отсутствует. Результат — устойчивая разница температур между кварталами одного и того же города, доходящая, по нашим измерениям, до тринадцати градусов.

При этом инструмент наблюдения устроен несоразмерно предмету. Городская метеосеть даёт одну–две точки на миллионный город, и сводка «в Волгограде +36» описывает весь город одним числом — тогда как между Красноармейским районом и берегом водохранилища лежит другая климатическая реальность. Человек, выбирающий, где жить, врач, оценивающий риск теплового удара, и планировщик, решающий, где сажать деревья, работают с картиной, у которой нет пространственного разрешения.

Спутник даёт то, чего не даёт метеосеть: регулярную тридцатиметровую сетку по всей площади города, десять лет ретроспективы и одинаковую методику для Махачкалы и для Москвы. Институт поставил вопрос инженерно: можно ли, не имея ни собственного спутника, ни закрытых данных, ни бюджета на постоянно работающую инфраструктуру, собрать инструмент, который городской администрации, врачу, журналисту и жителю говорит одно и то же — где именно в этом городе горячо, насколько и почему.

«Карта жары» — ответ на этот вопрос. Рабочая формула проекта коротка: открытые данные, открытые модели, мониторинг факта вместо прогноза и дешёвая статическая карта. И один принцип, определяющий тон: виновата физика, а не люди. Карта не обвиняет город — она показывает, где физика работает против жителя, и что именно можно изменить.

Предмет измерения

Температура поверхности, а не воздуха

Проект измеряет LST — land surface temperature, температуру подстилающей поверхности: асфальта, кровли, кроны дерева, воды. Это не та величина, которую показывает термометр на балконе, и разница между ними не поправочный коэффициент, а физически иная сущность. В полдень поверхность бывает на два десятка градусов горячее воздуха над ней; ночью — холоднее.

Мы намеренно не «переводим» одно в другое ради удобства читателя. Величина, за которую можно ручаться, — измеренная; величина, которую пришлось бы моделировать, была бы удобнее в заголовке и хуже в науке. Поэтому в интерфейсе, в подписях к слоям и в каждом экспорте карта повторяет это ограничение — а модельные величины, вроде суточного пика, маркированы как расчёт.

Практический смысл от этого не теряется, а меняется. Температура поверхности — прямая характеристика того, как городская ткань обходится с солнечной энергией: где кровля работает нагревателем, где двор лишён тени, где пятно зелени сбивает температуру квартала. Именно это, а не показания одной будки в парке, отвечает на вопрос «что делать».

Метод

Конвейер из пяти шагов, воспроизводимый по одной команде

Каждый город проходит один и тот же путь от запроса к спутниковому каталогу до опубликованного слоя. Шаги идемпотентны: повторный запуск не портит результат, а пересчёт вызывается явным флагом. Версии модели и её контрольные суммы зафиксированы в конфигурации, логика покрыта модульными тестами, а состояние города — машиночитаемо, поэтому конвейер можно остановить и продолжить с любого шага.

  1. 01

    Ingest

    Поиск и отбор сцен через STAC-каталог Microsoft Planetary Computer: Landsat Collection 2 Level-2, Sentinel-2 L2A, ESA WorldCover. Подписанные ссылки читаются потоково, без выкачивания архивов целиком. Границы районов приходят из OpenStreetMap через Overpass — с несколькими зеркалами, ретраями и дисковым кэшем, потому что открытая инфраструктура иногда недоступна.

  2. 02

    Inference

    Приведение сцен к единой сетке и расчёт поля температуры поверхности. Для облачных городов — медианный композит летних сцен, устойчивый к пропускам. Отдельным проходом считается модельная оценка суточного пика.

  3. 03

    Zonal

    Зональная статистика по реальным административным границам: медиана, среднее, доля запечатанной поверхности, плотность населения и итоговый индекс экспозиции для каждого района. Индекс собирается из температуры (вес 0.5), населения (0.3) и дефицита зелени (0.2) — веса зафиксированы в конфигурации, а не подобраны под красивую картинку.

  4. 04

    Tiles

    Публикация слоя в двух формах: PMTiles для отрисовки и PNG-сетка значений для расчётов на клиенте. Один файл на слой, обычный HTTP с byte-range — ни тайл-сервера, ни базы данных, ни точки отказа.

  5. 05

    Validation

    Гейт публикации, а не отчётность постфактум. Город не попадает в релиз, пока не пройдёт проверку: методика допускает публикацию при среднеквадратичной ошибке не выше 2.5 K, а сцены с недостаточным покрытием отбраковываются автоматически.

Слои данных

Семь способов посмотреть на один и тот же город

Слой жары отвечает на вопрос «где горячо». Остальные шесть отвечают на вопрос «почему» и «кого это касается» — и именно их пересечение превращает красивую картинку в аргумент.

Жара

Landsat C2 L2 Surface Temperature, 30 м

Базовый слой: температура поверхности по безоблачной летней сцене. Для городов с устойчивой облачностью — медианный композит нескольких летних сцен.

Пик (модель)

Суточный ход, модельная оценка

Спутник снимает город около 11 часов местного времени. Слой достраивает суточный ход к дневному максимуму — это расчёт, а не измерение, и он маркирован как расчёт.

Зелень

Sentinel-2 L2A, медианный композит NDVI

Индекс вегетации. Нужен не сам по себе, а чтобы связать жару с отсутствием растительности и проверить связь количественно.

Население

WorldPop 2020 constrained

Плотность населения. Превращает вопрос «где горячо» в вопрос «сколько людей живёт там, где горячо».

Тренд

Попиксельная регрессия по годовым срезам

Скорость изменения температуры поверхности, °C в год. Наклон считается прямо в браузере по годовым сеткам значений — с двойным ползунком «с года / по год».

Покрытие

ESA WorldCover, 10 м

Категории земного покрова: доля запечатанной поверхности и контраст «застройка против растительности» — то есть измеренная сила острова тепла (SUHI).

Годы

11 годовых срезов, 2015–2025

Слайдер по годам: температура, медиана и отклонение от первого года наблюдений. Одиннадцать срезов на каждый из десяти городов — 110 самостоятельных слоёв.

Результаты

Что уже видно на десяти городах

Все цифры ниже получены на реальных спутниковых сценах, а не на демонстрационных данных, и воспроизводятся конвейером из исходников. Они описывают конкретные даты съёмки — это мониторинг факта, а не климатический прогноз.

43.6°C
Астрахань

Самая высокая средняя температура поверхности среди десяти городов. Не «жарко в тени» — жарко под ногами, по всей площади города.

62.4°C
Ростов-на-Дону

Пиковая температура поверхности в кадре. Такие значения дают не жилые кварталы, а промзоны, кровли и открытый асфальт.

93.7%
Волгоград

Доля населения города, живущая в зонах, где поверхность прогревается выше 40 °C. Это уже не карта температуры, а карта нагрузки на людей.

+1.246°C/год
Москва

Скорость роста температуры поверхности по медиане города за 2015–2025. Самый быстрый тренд в выборке.

+6.5°C
Самара

Сила острова тепла: настолько застройка горячее зелёных зон в один и тот же момент съёмки.

4.7–13.6°C
девять городов из десяти

Разница между малозелёными и зелёными кварталами. Связь зелени и жары отрицательная почти везде: от r = −0.33 в Саратове до r = −0.76 в Симферополе.

Страница «Рейтинг городов»: таблица десяти городов со средней и максимальной температурой поверхности, силой острова тепла, долей запечатанной поверхности, долей населения в зонах выше сорока градусов и трендом
Рейтинг городов: одна методика, десять городов, шесть сопоставимых показателей. Раздел «Как читать» объясняет каждый столбец — карта, которую нельзя прочитать неправильно, важнее карты, которая красиво выглядит.
От карты к решению

Страница региона как рабочий документ

У каждого города есть собственная страница: общие данные, ключевые цифры по жаре, разница между поверхностью и климатической нормой воздуха, рейтинг районов по экспозиции и сформулированная рекомендация. Это то, что можно приложить к письму в администрацию, не пересказывая карту словами.

Дашборд региона «Москва»: карточки с населением, площадью охвата, климатической нормой, средней и пиковой температурой поверхности, силой острова тепла, долей запечатанной поверхности, трендом, рекомендацией и таблицей округов
Москва: средняя поверхность 28.5 °C при июльской норме воздуха 19.7 °C, пик 53.7 °C, остров тепла +4.4 °C, 37.3 % запечатанной поверхности, тренд +1.246 °C в год. Одиннадцать округов ранжированы по индексу экспозиции.
Ограничения

Что карта не умеет и где она врёт

Раздел ограничений в этом проекте обязателен по внутреннему регламенту и открывается с той же навигации, что и сама карта. Инструмент, который не перечисляет собственные слабые места, не является научным инструментом.

  • Температура поверхности — не температура воздуха. Асфальт в полдень бывает на два десятка градусов горячее воздуха над ним; сравнивать эти цифры с прогнозом погоды нельзя. В Москве средняя поверхность на съёмке выше июльской климатической нормы воздуха на 8.8 °C — это не аномалия, это разные величины.
  • Съёмка — мгновенный срез около 11 часов местного времени, а не суточный максимум. Слой «Пик» достраивает ход температуры моделью и честно маркирован как оценка.
  • Даты сцен у разных городов различаются. Внутригородские контрасты сопоставимы всегда, межгородские — с оговоркой на дату и погоду съёмки.
  • Годовые срезы шумные там, где композиты за разные годы покрывают разную площадь: отклонения медианы между соседними годами местами превышают физически ожидаемые. Устраняется общей маской валидных пикселей — в работе.
  • Показатель острова тепла местами отрицателен, потому что в класс «растительность» попадает сухая летняя пашня, раскалённая не хуже застройки. Исправляется сужением класса до древесной и травяной растительности — в работе.
  • Для Симферополя нет слоя населения: используемый набор данных по России не покрывает полуостров.
  • Справочные региональные показатели (население, климатические нормы) требуют сверки с первоисточниками и помечены как справочные.
Инженерная позиция

Дёшево, статично, воспроизводимо

Публичный инструмент живёт ровно столько, сколько кто-то оплачивает его инфраструктуру. Поэтому «Карта жары» намеренно устроена так, чтобы не иметь работающих частей: результат конвейера — набор статических файлов, а карта в браузере читает их напрямую обычными HTTP-запросами с диапазоном байт. Ни базы данных, ни тайл-сервера, ни фонового процесса, ни ключей доступа на клиенте. Стоимость поддержки такой карты стремится к стоимости раздачи файлов, а её отказоустойчивость равна отказоустойчивости хостинга статики.

Расчёты, которые всё же должны быть интерактивными, вынесены в браузер: попиксельный тренд за произвольный период считается на клиенте из годовых сеток значений, пока пользователь двигает ползунок. Это тот редкий случай, когда перенос вычислений на пользователя — не экономия, а архитектурное решение: серверу нечего было бы посчитать быстрее.

Воспроизводимость обеспечивается не декларацией, а устройством конвейера: версии и контрольные суммы модели зафиксированы, шаги идемпотентны, состояние города машиночитаемо, чистая логика покрыта тестами, а сцены и промежуточные продукты кэшируются на диск, чтобы повторный прогон не зависел от доступности внешних сервисов. Любой шаг воспроизводится одной командой из исходников — включая полный прогон на синтетических данных, если у проверяющего нет доступа к спутниковым каталогам.

Данные и происхождение

Всё, на чём стоит карта, открыто

Температура поверхности
Landsat Collection 2 Level-2 Surface Temperature (NASA/USGS) через каталог Microsoft Planetary Computer
Растительность
Sentinel-2 L2A (ESA/Copernicus), медианный композит NDVI
Земной покров
ESA WorldCover, 10 м
Население
WorldPop 2020, constrained
Границы районов
OpenStreetMap через Overpass API
Модель
granite-geospatial-land-surface-temperature (IBM, Apache 2.0) — адаптация под российские города

Вклад института — не данные и не архитектура модели, а то, что между ними: адаптация модели, инженерия конвейера, валидация как условие публикации, зональная аналитика по реальным административным границам и продукт, которым можно пользоваться без специальной подготовки. Мы считаем корректным говорить об этом прямо: заимствованное названо заимствованным, сделанное — сделанным.

Карточка проекта для соцсетей: Волгоград, самый горячий район Красноармейский, 45.8 градуса, пик в городе 60.9, растровое изображение температуры поверхности
Каждый город получает карточку для репоста, которую генерирует тот же конвейер. Дисклеймер про температуру поверхности напечатан прямо на изображении — чтобы он пережил пересылку в мессенджере.
Статус

Что сделано и что дальше

Сейчас опубликованы десять городов на реальных спутниковых данных: Москва, Ростов-на-Дону, Волгоград, Астрахань, Самара, Саратов, Краснодар, Ставрополь, Махачкала и Симферополь. Выборка сознательно смещена на юг: там жара — ежегодная норма, а не аномалия, и цена ошибки в планировании города выше. Для каждого города собраны все семь слоёв, реальные административные границы, рейтинг районов, годовая ретроспектива за одиннадцать лет и карточка для распространения. Конвейер проходит насквозь, интерфейс собирается в статический экспорт.

Ближайшие задачи: публикация на постоянном адресе в домене института и нагрузочная проверка раздачи тайлов; уточнение тренда до медианы попиксельного наклона; общая маска валидных пикселей для годовых медиан, чтобы убрать шум сравнения разных по покрытию композитов; сужение класса растительности при расчёте острова тепла, чтобы сухая летняя пашня не маскировала эффект застройки; сверка справочных региональных показателей с первоисточниками. После этого — расширение выборки городов.

← Все проекты института