Partilhar via


Visão geral do STAC para o Microsoft Planetary Computer Pro

Este artigo apresenta uma visão geral da especificação SpatioTemporal Asset Catalog (STAC) e como o Microsoft Planetary Computer Pro a utiliza.

Especificação STAC

A especificação STAC é um padrão aberto e orientado pela comunidade que facilita a localização, combinação e uso de dados geoespaciais. O STAC fornece uma estrutura comum para descrever e catalogar "ativos espaço-temporais". Esta estrutura permite-lhe indexar e organizar dados tanto no espaço como no tempo.

Com o STAC, as organizações podem tornar os seus ativos geoespaciais acessíveis a uma vasta gama de utilizadores. Pode usar catálogos STAC para organizar muitos tipos de dados geoespaciais de ativos, incluindo:

  • Imagens de satélite, aéreas e de drones
  • Dados LIDAR e SAR
  • Vídeo de Movimento Completo
  • Dados hiperespectrais
  • Outros formatos de dados derivados

Além disso, pode usar o STAC com formatos de dados nativos da cloud existentes e emergentes, como os GeoTIFFs Otimizados para a Nube (COGs) e o GeoParquet.

Desde o seu lançamento em 2018, muitas organizações rapidamente adotaram o STAC para organizar seus dados espaciais. Essas organizações incluem operadores de satélites, agências governamentais, grupos da sociedade civil e empresas comerciais.

A especificação STAC consiste em quatro padrões complementares para descrever ativos geoespaciais, organizar esses ativos em grupos e torná-los pesquisáveis por meio de APIs comuns. Especificamente, estas normas STAC incluem:

O Planetary Computer Pro usa a especificação STAC em todos os aspetos do gerenciamento de dados.

Diagrama mostrando os componentes de especificação STAC e suas relações, incluindo Catálogo STAC, coleção STAC, Itens STAC e API STAC, com setas mostrando como eles se interconectam.

Catálogos STAC

Introdução aos GeoCatálogos

O serviço Planetary Computer Pro permite-lhe criar um recurso GeoCatalog na sua subscrição Azure para ingerir, gerir, pesquisar e distribuir conjuntos de dados geoespaciais. Um GeoCatalog é um recurso do Azure que, de uma perspetiva de API STAC, é logicamente equivalente a um Catálogo STAC. Um Catálogo STAC é o objeto de nível superior na hierarquia STAC que agrupa logicamente coleções STAC e Itens STAC. Pode ver o JSON do Catálogo STAC para um GeoCatálogo específico usando o visualizador web JSON e indo para https://<your geocatalog uri>/json-api?path=/. Para mais informações sobre a especificação do Catálogo STAC, consulte a Especificação do Catálogo STAC.

Um GeoCatalog é definido usando as seguintes informações:

Campo Descrição
Subscrição Subscrição Azure onde implementas a instância GeoCatalog
Grupo de Recursos Grupo de recursos Azure onde implementas a instância GeoCatalog
Nome Nome da instância GeoCatalog
Região Região Azure onde implementas a instância GeoCatalog

Atualmente, o Planetary Computer Pro pode implantar GeoCatalogs nas seguintes regiões do Azure:

  • E.U.A. Leste
  • E.U.A. Centro-Norte
  • Europa Ocidental
  • Canadá Central
  • Sul do Reino Unido
  • Governo dos EUA na Virgínia

Pode implementar um GeoCatálogo usando o portal Azure ou a API Azure REST. Para saber como implementar um GeoCatalog na sua subscrição do Azure, consulte criar um recurso GeoCatalog.

Coleções STAC

Introdução às coleções

Um GeoCatalog permite criar coleções para armazenar e organizar conjuntos de dados geoespaciais no Azure. Use uma coleção STAC para descrever um grupo de Itens STAC que partilham propriedades e metadados, como uma área geográfica comum ou um sensor. Para mais informações sobre o conceito de coleção STAC, consulte a Especificação da coleção STAC.

Definição da coleção

O Planetary Computer Pro cumpre a especificação da coleção STAC, que define um conjunto de campos comuns para descrever o conjunto de dados e os Itens incluídos.

Dentro de uma coleção, você pode especificar o tipo e a estrutura dos dados armazenados nessa coleção. Você também pode adicionar definições de configuração de renderização para visualizar dados dentro da coleção usando o Explorer do Planetary Computer Pro.

Defines coleções no GeoCatalog em formato JSON. A definição inclui os seguintes campos:

Campo Descrição
ID Obrigatório - Identificador da coleção que é único em todo o fornecedor.
Tipo Obrigatório - tipo de elemento STAC; deve ser "coleção".
Título Título descritivo breve de uma só linha para a coleção.
Descrição Obrigatório - Descrição detalhada de várias linhas para explicar completamente a coleção.
Licenças Obrigatório - Licenças de cobrança.
Extensão Obrigatório - Descreve as extensões espaciais (longitude/latitude) e temporais (intervalo de datas) da coleção.
Fornecedores Organizações que capturam ou processam o conteúdo da coleção.
Sínteses Lista de pares chave-valor que fornecem uma visão geral das propriedades dos Itens incluídos.
Ativos de Coleção Ficheiros de dados diretamente associados à coleção, como uma imagem em miniatura.
Ativos do item Informações detalhadas sobre os arquivos de dados incluídos nos Itens da coleção. Para obter mais informações, consulte Ativos de item.
Ligações Obrigatório - Lista de objetos de link para recursos e URLs relacionados.
Palavras-chave Lista de palavras-chave que descrevem a coleção.
Versão STAC Obrigatório - Versão STAC utilizada pela coleção.

Ativos do item

O item_assets campo ao nível de coleção mostra que ativos (ficheiros de dados) estão disponíveis em qualquer subitem. Os ativos listados neste campo não implicam que todos os ativos estejam disponíveis para todos os Itens. O campo mostra a união dos ativos disponíveis, não a interseção. Ativa-se este campo num GeoCatálogo através da extensão item_assets da especificação STAC. Precisas da extensão Itens Ativos se quiseres visualizar Itens no GeoCatalog Explorer.

O item_assets campo é um objeto com pelo menos dois dos seguintes campos:

Campo Tipo Descrição
título cadeia (de caracteres) O título exibido para clientes e usuários.
descrição cadeia (de caracteres) Uma descrição do Ativo fornecendo mais detalhes, como como ele foi processado ou criado.
tipo cadeia (de caracteres) Tipo de mídia do ativo.
funções Lista de cadeias de caracteres Os papéis semânticos do ativo, semelhante ao uso de rel em links.

Exemplos de JSON de coleção

O exemplo a seguir mostra uma coleção mínima JSON. Para mais campos, consulte a especificação da coleção STAC.

{
  "id": "example-collection",
  "type": "Collection",
  "title": "Example collection",
  "description": "An example collection",
  "license": "CC-BY-4.0",
  "extent": {
    "spatial": {
      "bbox": [
        [
          -180,
          -90,
          180,
          90
        ]
      ]
    },
    "temporal": {
      "interval": [
        [
          "2018-01-01T00:00:00Z",
          "2018-12-31T23:59:59Z"
        ]
      ]
    }
  },
  "links": [],
  "stac_version": "1.0.0"
}

Para um exemplo um pouco mais complexo, JSON, veja este exemplo que descreve um conjunto de dados aberto do Programa Nacional de Imagens Agrícolas (NAIP).

Configuração da coleção

Para visualizar coleções no GeoCatalog Explorer, deve definir várias configurações, incluindo:

Itens STAC

Introdução aos itens STAC

Um GeoCatálogo armazena e organiza conjuntos de dados geoespaciais em coleções. Um Item STAC é o objeto central na coleção de um GeoCatálogo. Contém metadados de uma cena e ligações a recursos dessa cena, como uma imagem de satélite. Os metadados de um item permitem que o GeoCatalog pesquise e consulte ativos espaciais. Para mais informações sobre Itens STAC, consulte Especificação de Itens STAC.

Definição do item

O Planetary Computer Pro segue a Especificação do Item STAC, que define um conjunto de campos comuns para descrever um Item, como intervalo temporal e os ativos relacionados com o Item. Defines os Itens em formato JSON e podes expandi-los de forma flexível para incluir mais metadados.

Um item STAC válido requer os seguintes campos:

Campo Descrição
ID Obrigatório - identificador para o Item que é único na coleção principal do Item
Tipo Obrigatório - Tipo de objeto GeoJSON; deve ser "Elemento"
Geometria Obrigatório - define a pegada total do ativo representado por este item como um objeto de geometria GeoJSON
Caixa delimitadora Obrigatório - coordenadas da caixa delimitadora do ativo representado por este Item
Propriedades Obrigatório - outros metadados para o Item
Ativos Obrigatório - ativos de dados associados ao Item, cada um com uma chave exclusiva
Coleção Obrigatório - Identificador da coleção principal do item
Ligações Obrigatório - lista de objetos de ligação para recursos e URLs relacionados
Versão STAC Obrigatório - versão STAC usada pelo item

Os metadados comuns para Itens além desses campos obrigatórios incluem data e hora, licenças, provedores, instrumento e muito mais.

Exemplo de item JSON

O exemplo a seguir mostra um item básico JSON.

{
  "stac_version": "1.0.0",
  "stac_extensions": [],
  "type": "Feature",
  "id": "20201211_223832_CS2",
  "bbox": [
    172.91173669923782,
    1.3438851951615003,
    172.95469614953714,
    1.3690476620161975
  ],
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          172.91173669923782,
          1.3438851951615003
        ],
        [
          172.95469614953714,
          1.3438851951615003
        ],
        [
          172.95469614953714,
          1.3690476620161975
        ],
        [
          172.91173669923782,
          1.3690476620161975
        ],
        [
          172.91173669923782,
          1.3438851951615003
        ]
      ]
    ]
  },
  "properties": {
    "datetime": "2020-12-11T22:38:32.125000Z"
  },
  "collection": "simple-collection",
  "links": [
    {
      "rel": "collection",
      "href": "./collection.json",
      "type": "application/json",
      "title": "Simple example collection"
    },
    {
      "rel": "root",
      "href": "./collection.json",
      "type": "application/json",
      "title": "Simple example collection"
    },
    {
      "rel": "parent",
      "href": "./collection.json",
      "type": "application/json",
      "title": "Simple example collection"
    }
  ],
  "assets": {
    "visual": {
      "href": "[URL]",
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "title": "3-Band Visual",
      "roles": [
        "visual"
      ]
    },
    "thumbnail": {
      "href": "[URL]",
      "title": "Thumbnail",
      "type": "image/jpeg",
      "roles": [
        "thumbnail"
      ]
    }
  }
}

Extensões STAC

Atualmente, um GeoCatalog adiciona automaticamente as seguintes extensões a todas as coleções ingeridas:

Também podes usar extensões STAC ao nível do item STAC.

Observação

Os itens STAC, incluindo extensões, são validados usando a biblioteca PySTAC. Se encontrares erros de validação STAC, tenta remover a extensão.

Para obter uma lista completa de extensões STAC, incluindo a maturidade de cada uma, consulte a página de extensões STAC no GitHub.

STAC API

As APIs do Planetary Computer Pro cumprem a especificação da API STAC, pelo que pode pesquisar rápida e facilmente conjuntos de dados à escala de petabytes para encontrar ativos de dados específicos que satisfaçam as suas necessidades. Depois de identificar estes ativos, pode visualizá-los ou descarregá-los usando as APIs do GeoCatalog.

Próximos passos