STAC API в ArcGIS Pro 3.2

STAC — это открытая спецификация онлайн-каталогов геопространственных данных. Сейчас существует множество каталогов пространственных данных, которые поддерживаются различным частными и государственными организациями, но доступ к ним как правило возможен прежде всего через их собственные API. Это не всегда удобно пользователям и разработчикам ПО, поскольку для каждого каталога приходится писать отдельные адаптеры или скрипты для поиска и скачивания данных. Стандарт публикации геоданных STAC API призван решить в том числе эту проблему.

На момент написания статьи, ArcGIS Pro 3.2 поддерживает подключение к ограниченному числу ресурсов через STAC API, прежде всего к Microsoft Planetary Computer. Открытых каталогов на базе STAC API намного больше (список можно найти здесь) и их число постоянно растет. Возможно, в следующих версиях ArcGIS Pro будет добавленна поддержка большего количества каталогов.

Далее мы рассмотрим последовательность действий, необходимых для подключения к каталогу Microsoft Planet Computer. Первое, что нужно сделать, это скачать файлы подключений (*.acs) к облачным ресурсам Microsoft Azure. Файлы можно найти по ссылке: https://github.com/Esri/arcgis-for-mpc/tree/main/AMPC_Resources/ACS_Files.

Создадим новое подключение STAC.

В поле Connection Name необходимо указать название нового (файла) подключения. В поле Connection из списка выберите единственный на данный момент вариант — Microsoft Planetary Computer. В этом поле можно прописать любой другой url корневой ссылки STAC API, но пока что гарантируется подключение только к MPC. Далее обязательно нужно добавить файл подключения к облачному хранилищу, который можно скачать по ссылке. В данном случае мы будем работать с сценами Landsat level 2 collection 2, поэтому нужно выбрать файл esrims_pc_landsat-c2-l2.acs.

После создания нового подключения переходим в окно Catalog, находим только что созданное STAC подключение и в контекстном меню выбираем Search STAC Items. 

Откроется окно поиска данных в каталоге. Ищем раздел landsat-c2-l2, задаем экстент, диапазон дат и дополнительные запросы к метаданным. Например, уровень облачности менее 5%.

Переходим в закладку Results, если запрос был составлен корректно, в ней должны появиться найденные элементы каталога и опционально превью. Далее вы можете выбрать нужные вам элементы (в данном случае сцены Landsat) и добавить на карту. 

Добавлять можно каждую сцену по отдельности или все сцены, которые отмечены флажками. После того как сцены добавлены на карту, с ними можно работать также, как с локальными растрами. Единственное отличие — скорость чтения из облачного хранилища Microsoft Azure. Она скорее всего будет ниже, чем если бы эти данные хранились на локальном SSD диске. Все зависит от массы факторов, в т.ч. от пропускной способности вашего интернет-канала. При необходимости растры можно сохранить на диск с помощью Export Raster или инструмента Copy Raster. 

Выбранные растры также можно добавить в мозаику растров (mosaic dataset), это более удобный способ работы с данными. Для этого нужно создать пустую мозаику с нужными вам параметрами или использовать существующую. Например, создадим новую мозаику, предназначенную работы со сценами Landsat9. 

 

В окне поиска элементов STAC установите флажки напротив нужных вам сцен Landsat (в данном случае это должны быть только сцены Landsat-9). После чего выберите кнопку Add to Mosaic Dataset. 

Откроется стандартный инструмент добавления новых растров в мозаику. Перечень выбранных сцен будет с адресами облачных растров храниться временном csv файле, который будет автоматически добавлен в качестве параметра. Далее нужно указать остальные параметры, такие как тип растра и шаблоны. В данном случае это шаблон Surface Reflectance для Landsat 9. Запустите инструмент. 

Создана мозаика растров, исходные растры которой хранятся не на диске, а в облачном хранилище Microsoft Azure Blob Storage. С этой мозаикой можно работать также, как в случае если бы ваши растры хранились на локальном или сетевом диске.

Пересчитаем статистику и footprints.

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

В каталоге Microsoft Planetary Computer хранятся огромные архивы данных — Sentinel-2, Sentinel-2, Landsat разных поколений, MODIS, различные ЦМР, радарные снимки, аналитические продукты. Процесс поиска, использования или загрузки данных существенно упрощается.

P.S. Не обязательно создавать отдельное подключение STAC для каждого типа элементов. Часто данные хранятся в одних и тех же хранилищах и скорее всего файл acs для Landsat будет работать для Sentinel-2 и других наборов. Но если подключение не работает с имеющимся файлом acs, создайте новое подключение STAC, найдите в директории соответствующий файл acs и используйте его.