Практика 1 Источники данных ДЗЗ в сети Интернет#
Спецификация STAC#
Спецификация SpatioTemporal Asset Catalog (STAC) была разработана для создания стандартного и единого языка для описания геопространственных данных, что позволяет их более легко искать и запрашивать.
STAC был разработан таким образом, чтобы быть простым, гибким и расширяемым. STAC представляет собой сеть JSON-файлов, которые ссылаются на другие JSON-файлы, и каждый файл соответствует определенной основной спецификации в зависимости от того, какой компонент STAC он описывает. Этот основной формат JSON также можно настроить для различных нужд, что делает спецификацию STAC чрезвычайно гибкой и адаптируемой.
Таким образом, если спецификация STAC кажется "легкой", то это действительно так — по дизайну. Благодаря этой гибкости различные области и инструменты могут легко использовать спецификацию STAC и адаптировать её под свои нужды.
Пространственно-временной набор (SpatioTemporal Asset)#
Перед тем как погрузиться в компоненты спецификации STAC, давайте обсудим SpatioTemporal Asset.
SpatioTemporal Asset — это любой файл, который представляет информацию о Земле, захваченную в определенном месте и в определенное время. Примеры включают пространственно-временные данные, полученные из изображений (средства, такие как спутники, самолеты и дроны), данные синтетической апертурной радиолокации (SAR), точечные облака (например, из LiDAR, структура из движений и другие), кубы данных и видео с полным движением. Ключевым моментом является то, что GeoJSON не является фактическим «объектом», а скорее ссылается на файлы и служит индексом для STAC Assets.
Составляющие компоненты STAC#
Существует три компонента спецификации, которые вместе составляют основную спецификацию SpatioTemporal Asset Catalog. Эти компоненты:
- Item
- Catalog
- Collection
Каждый компонент может использоваться отдельно, но они работают лучше всего в сочетании друг с другом.
STAC Item представляет один или несколько пространственно-временных активов в формате GeoJSON, что позволяет легко их искать. Спецификация STAC Catalog предоставляет структурные элементы для группировки STAC Items и Collections. STAC Collections — это каталоги, которые добавляют дополнительные обязательные метаданные и описывают группу связанных объектов. Теперь давайте рассмотрим каждый из этих компонентов более подробно.
STAC Item#
STAC Item — это основной строительный блок STAC. Это объект GeoJSON, дополненный дополнительными метаданными, которые позволяют клиентам переходить по каталогам. Поскольку Item представляет собой GeoJSON, он может быть легко прочитан любой современной библиотекой ГИС или геопространственных данных. Один Item может описывать один или несколько пространственно-временных активов. Например, обычная практика использования STAC для изображений заключается в том, что каждый диапазон сцены является отдельным STAC Asset, и для представления всех диапазонов в одной сцене используется один STAC Item.
Спецификация STAC Item в формате JSON использует стандартные поля GeoJSON, а также несколько дополнительных информационных полей, которые позволяют более подробно описывать активы. На рисунке ниже приведены поля JSON-формата STAC Item. Подробные описания этих полей можно найти в таблице.
Ниже приведен пример следа изображения и связанного с ним файла GeoJSON. Если этот пример был бы преобразован в STAC, диапазоны изображения стали бы STAC активами, а содержимое GeoJSON было бы объединено с дополнительными полями для описания связанных пространственно-временных активов и стало бы STAC Item.
STAC Catalog#
STAC Catalog обычно является отправной точкой для навигации по STAC. Файл catalog.json содержит ссылки на другие STAC каталоги, коллекции и/или элементы (Items).
Можно представить его как структуру каталогов на компьютере.
Нет ограничений на то, как могут быть организованы STAC Catalogs. Поэтому комбинация компонентов STAC внутри STAC Catalog может быть весьма переменной и гибкой. Большинство реализаций используют набор "подкаталогов" (sub-catalogs), которые группируют элементы (Items) логичным способом. Его можно легко расширить, например, чтобы включить дополнительные метаданные для более подробного описания его содержимого, как это делает STAC Collection.
Ниже приведены поля JSON-формата STAC Catalog.
STAC Collection#
STAC Collection расширяет спецификацию STAC Catalog, добавляя дополнительные метаданные о наборе элементов (Items), которые являются частью коллекции. Он расширяет родительский каталог, добавляя дополнительные поля для описания информации, такой как пространственные и временные пределы данных, лицензия, ключевые слова, поставщики и т.д. Поэтому его можно легко расширить для включения дополнительных метаданных на уровне коллекции.
Плагин STAC API Browser#
Спецификация STAC API позволяет выполнять поиск по основным возможностям API каталога и искать объекты STAC item. Плагин поддерживает поиск объектов и предоставляет фильтры, которые можно использовать вместе с запросами.
При выполнении поиска необходимо убедиться, что соответствующий сервис STAC API реализует конечную точку /search
в соответствии со спецификацией. Подробнее: STAC API Item Search.
Плагин содержит следующие фильтры, которые можно использовать при поиске объектов STAC item:
- Фильтр по дате(Date filter) — позволяет искать ресурсы с фиксированным моментом времени или в указанном временном диапазоне.
- Фильтр по пространственному охвату(Spatial extent filter) — позволяет задать ограничивающий прямоугольник, по которому будут фильтроваться результаты.
- Расширенный фильтр(Advanced Filter) — поддерживает языки фильтрации STAC API для выполнения сложных запросов. Подробнее: STAC API Filters.
Каждый объект STAC Item содержит несколько ресурсов (assets) и контур (footprint), представленный геометрией GeoJSON, которая определяет полное покрытие ресурсов, связанных с данным объектом.
Результаты поиска плагина включают специальный диалог для просмотра, загрузки и скачивания ресурсов объекта в QGIS. Подробнее см. в разделе добавление ресурсов.
Установка STAC API Browser из управления модулями QGIS (путь 1)#
Плагин доступен в официальном репозитории плагинов QGIS.
Для установки выполните следующие шаги:
- Откройте приложение QGIS и найдите вкладку "Модули" -> "Управление модулями".
- Перейдите на вкладку "Все" и найдите STAC API Browser.
- Выберите STAC API Browser, чтобы открыть страницу с информацией о плагине.
- Нажмите кнопку Установить плагин в нижней части диалогового окна.
Установка STAC API Browser из ZIP-файла (путь 2)#
Скачайте ZIP-архив плагина с GitHub, выбрав нужную версию.
Для установки из ZIP-файла:
- Откройте менеджер плагинов ("Модули" -> "Управление модулями") в QGIS.
- Перейдите на вкладку Установить из ZIP.
- Выберите загруженный ZIP-файл.
- Нажмите кнопку Установить плагин.
Работа со STAC API Browser#
В панели инструментов QGIS появится значок STAC API Browser. Нажмите на него, чтобы открыть основное диалоговое окно плагина.
Либо плагин можно будет найти После появится во вкладке модули
Знакомство с интерфейсом#
Рассмотрим каждую вкладку интерфейса STAC API Browser. Далее будем выделять области,о которых идет речь красным цветом
Добавление соединения STAC API#
При первой установке STAC API Browser содержит несколько предустановленных подключений к сервисам STAC API.
Чтобы добавить новое подключение к сервису STAC API:
- Нажмите кнопку Новое подключение (new).
- Введите необходимые данные.
- Нажмите ОК, чтобы сохранить подключение.
Диалог подключения содержит поле API Capabilities, которое позволяет настроить использование механизма подписи с SAS Token. Этот механизм включает токен с ограниченным сроком действия. После его истечения пользователям необходимо повторно запросить API, чтобы обновить подпись объектов.
Группа Дополнительно (Advanced) содержит список типов соответствия, которым придерживается STAC API. При создании нового подключения этот список пуст. Чтобы загрузить классы соответствия, нажмите кнопку Получить классы соответствия (conformance classes).
Поиск элементов (коллекций снимков) STAC API#
Note
Все поисковые фильтры можно использовать только после установки соответствующих групповых флажков.
Чтобы увидеть допступные коллекции снимков заданного ресурса необходимо:
1. Выбрать подлкючение
2. Нажать кнопку Fetch collections
3. Выбрать интересующую вас коллекцию данных (нажать на названия)
Настройка диапазона дат поиска снимков#
Чтобы выбрать диапазон дат, по которым осуществляется поиск, поставьте галочку в пункте filter by date. Затем вы сможете настроить даты.
Настройка области поиска#
Для настройки области поиска поставьте галочку в пункте охват
Существует несколько вариантов выбора зоны поиска
- Ввод коориднат охвата вручную
- Выбор текущего охвата экрана
- Выбор в окне карты
- Рассчитать из охвата слоя
- Рассчитать из охвата макета
Настройка дополнительных параметров (прим. обалочность)#
Для настройки дополнительных параметров поставьте галочку в пункте data driven queryables
Затем вам необходимо изменить параметр поиска свойств снимка с Fetch from catalog на Fetch from current collection. Затем вы можете нажать Fetch properties.
Warning
При попытке запроса с параметром Fetch from catalog приложение QGIS стабильно зависает и закрывается!
После запроса вы увидите все свойства снимка обратим внимание на два свойства:
- datetime
- eo::cloud_cover (парметр облачности)
Параметр datetime
дублирует функционал вкладки Настройка диапазона дат поиска снимков
. Если вы ранее настроили диапазон дат, то всегда ставьте символ <
.
Параметр eo::cloud_cover (парметр облачности)
задает порог облачности. Например, чтобы выбрать снимки с облачность менее 30% следует сформировать следующую строку eo::cloud_cover (парметр облачности) <30
Полностью шаги:
Settings - Настройка папки сохранения снимков#
В разделе Settings
настроивается папка сохрания. В указанный вами папке будут создаваться директории с названиями набора снимков, а внутрь помещаться .tiff файлы.
Result - результаты поиска#
После настройки предыдущих разделов и по нажатию кнопки Search
во вкладке Result
будут отображены найденные материалы ДЗЗ.
Плагин позволяет загружать контуры (footprints) и снимки (assets) объектов STAC Item в QGIS в виде картографических слоев. После выполнения поиска контуры и ресурсы можно просмотреть и добавить в QGIS.
Result - скачать реузльтаты#
В настоящее время плагин поддерживает загрузку ресурсов в QGIS в виде COG-слоев.
- Чтобы добавить ресурс в QGIS, нажмите кнопку Просмотр ресурсов (view assets) в результатах поиска.
- В открывшемся диалоговом окне выберите нужные ресурсы и нажмите Добавить ресурсы как слои.
- Для скачивания ресурса нажмите кнопку Скачать ресурс.
Warning
При нажатии кнопки `скачать снимок` файлы будут загружены в выбранную папку на вашем копьютере.
Однако! Вам необходимо вручную перетащить эти файлы в проект QGIS.
По умолчанию QGIS открывает загрузки в формате Виртуального слоя!!!
Result - Добавить контур#
- Нажмите кнопку Добавить контур (footprints), чтобы добавить контур объекта в холст QGIS. Контур в виде карты будет загружен в QGIS, а если у объекта STAC есть свойства, они будут добавлены в атрибутивную таблицу результирующего слоя карты.
Пример запроса Sentinel_2 (Gif)#
- Откройте STAC API Browser через панель инструментов QGIS.
- Выберите нужное подключение к STAC API.
- Перейдите на вкладку Поиск элементов.
- Настройте фильтры поиска:
- Дата – укажите временной диапазон снимков.
- Пространственный охват – задайте границы области поиска (Bounding Box).
- Расширенные фильтры – используйте языки фильтрации STAC API для сложных запросов.
- Нажмите кнопку Поиск, чтобы выполнить запрос.
- В результатах поиска выберите объект и загрузите его в QGIS или скачайте данные.