Назад к блогу

Открытый фид Planet Labs: снимки зон бедствий как STAC-каталог

Открытый фид Planet Labs: снимки зон бедствий как STAC-каталог

Planet Labs открыла доступ к архиву снимков зон крупных катастроф, объединив их в единый STAC-каталог. Разбираем структуру данных, способы выборки через DuckDB и сборку мозаик, а также оцениваем, насколько быстро снимки попадают в публичный доступ после съёмки.

Planet Labs выложила в открытый доступ набор данных «Disaster Data Releases from Planet Labs PBC» — снимки программы Planet Crisis Response по крупным бедствиям, оформленные как единый просматриваемый STAC-каталог. Каталог лежит по адресу https://data.source.coop/planet/disasterdata/catalog.json, его идентификатор — «disasterdata», лицензия — CC-BY-NC-4.0 (non-commercial).

Внутри — шесть событий: colombia-earthquake-2026-08-10, gironde-wildfire-2026, hurricane-melissa-2025, nepal-flash-flood-2026-08-26, philippines-earthquake-2026-06-08 и venezuela-earthquake-2026-06-24. Каждое событие — самодостаточный подкаталог со снимками до и после бедствия, организованными по пострадавшему месту.

Что именно публикуется

Снимки — это COG высокого разрешения в трёх вариантах: visual, pansharpened-analytic и usable-data masks.

Список событий вытаскивается программно из корневого каталога: скачивается catalog.json, из массива links извлекаются ссылки, отбираются оканчивающиеся на [0-9]/catalog.json, и из пути берётся второй сегмент — это URL-слаг события.

$ jq -r '.links[]|.href' catalog.json \
  | grep '.*[0-9]/catalog.json' \
  | cut -d/ -f2 \
  | sort

Дочерние каталоги помечены rel="child" и ведут на ./<slug>/catalog.json.

Как устроен каталог события

Внутри слага данные лежат по уровням pre-event/basemap-2026q2/items/<quad>/<quad>_*.tif. Например, файл Колумбии доступен по адресу .../colombia-earthquake-2026-08-10/pre-event/basemap-2026q2/items/585-1059/585-1059_visual.tif.

В листингах папок как pre-, так и post-event лежит файл items.parquet — его можно читать напрямую в DuckDB запросом FROM 'items.parquet'. Для этого нужны расширения H3, JSON, Lindel, Parquet и Spatial; h3 и lindel ставятся из community, остальные — обычным INSTALL. Автор настраивает ~/.duckdbrc, чтобы все установленные расширения подгружались при каждом запуске.

Разрешение и задержка публикации

Разбивка по группировкам показывает доступные разрешения до скачивания растров. Запрос группирует по constellation и берёт минимум и максимум pl:pixel_resolution. В файле nepal.post.parquet (24 записи) у pelican и skysat разрешение 0.5, у planetscope — 3.0.

Задержку от съёмки до публикации считают как разность created - datetime в часах. datetime, а created; их разность и даёт время от съёмки до публикации.

SELECT hours_: ROUND(EPOCH(created - datetime) / 3600, 1),
       num_images: COUNT(*)
FROM 'nepal.post.parquet'
GROUP BY 1 ORDER BY 1;

По набору Непала минимальная задержка — 1.4 часа (3 снимка). Встречаются также 1.5 (4), 1.6 (4), 1.7 (1), 2.2 (4), 3.1 (4), 4.0 (2) и 4.1 (2) часа.

Сборка мозаики и маски облачности

Мозаика собирается в два шага: gdalbuildvrt создаёт виртуальный набор mosaic.vrt из всех файлов по маске *visual.tif, затем gdal_translate преобразует его в единый GeoTIFF с параметрами -co NUM_THREADS=ALL_CPUS, -of COG и -co COMPRESS=WEBP. WEBP-сжатие сокращает размер более чем на 80% при минимальных изменениях внешнего вида: итоговый GeoTIFF занимает 327 МБ против 1.7 ГБ исходных тайлов.

UDM — сопутствующие снимкам файлы *_udm.tif. Чёрный цвет означает чистый обзор поверхности, белый — облака, серый — отсутствие изображения. Для PlanetScope и Tanager используются UDM2, которые помимо облаков выявляют тени, дымку и снег. Для снимков Непала UDM занимают 49 МБ.

Предыстория

Раньше данные о спутниках Planet Labs получали из файла эфемерид planet_mc.tle с адреса https://ephemerides.planet-labs.com/planet_mc.tle. Из него извлекали NORAD-идентификаторы: строки, начинающиеся с 2, обрезали по пробелу и сохраняли второе поле в NORAD_IDs.csv. Сервис Ephemerides перечисляет 97 спутников, всё ещё находящихся на орбите.

Зачем это сделано

Фид решает задачу ускорения гуманитарного реагирования. Planet публикует снимки до и после крупных бедствий — землетрясений, наводнений, штормов, пожаров и антропогенных катастроф — для организаций, участвующих в ликвидации последствий. Доступ получают лица и группы, связанные с НКО, государственными органами и международными организациями. Данные предоставляются своевременно и бесплатно для квалифицированных организаций, поддерживающих кризисное реагирование. Публикация идёт как открытые релизы на Source Cooperative.

Что это меняет на практике

Разбивка по группировкам и разрешению позволяет заранее понять, с какими созвездиями и разрешениями строить выборку, не загружая сами изображения. Для события в Непале со SkySat скачанные визуальные тайлы занимают 1.9 ГБ, UDM — 49 МБ; в пайплайне загрузки список GeoTIFF строится заранее и качается четырьмя параллельными потоками. Снимки получены в разное время и иногда перекрываются с уже собранными.

Ограничения

Состав доступных ассетов различается от события к событию. Базовые карты — мозаики нескольких снимков за недавний период с малым облачным покровом — есть только у Колумбии и Венесуэлы. Для Колумбии они поставляются как 93 GeoTIFF с соответствующими JSON-файлами метаданных.

Разницу между created и datetime автор проверяет, вычисляя число часов между ними и группируя по этому значению. При подсчёте уникальных значений полей структуры properties автор исключает вложенные структуры и списки.

Источники

Похожее