Condividi tramite


Panoramica di STAC per Microsoft Planetary Computer Pro

Questo articolo offre una panoramica della specifica SPAtioTemporal Asset Catalog (STAC) e del modo in cui viene usata da Microsoft Planetary Computer Pro.

Specifica STAC

La specifica STAC è uno standard aperto basato sulla community che semplifica la ricerca, la combinazione e l'uso di dati geospaziali. STAC fornisce una struttura comune per descrivere e catalogare "asset spatiotemporal". Questa struttura consente di indicizzare e organizzare i dati sia nello spazio che nel tempo.

Con STAC, le organizzazioni possono rendere accessibili gli asset geospaziali a un'ampia gamma di utenti. È possibile usare cataloghi STAC per organizzare molti tipi di dati geospaziali degli asset, tra cui:

  • Immagini satellitari, aeree e drone
  • Dati LIDAR e SAR
  • Video full motion
  • Dati ipersspectrali
  • Altri formati di dati derivati

Inoltre, è possibile usare STAC con formati di dati nativi del cloud esistenti ed emergenti, ad esempio geotiff ottimizzati per il cloud (COG) e GeoParquet.

Dal rilascio nel 2018, molte organizzazioni hanno adottato rapidamente STAC per organizzare i dati spaziali. Queste organizzazioni includono operatori satellite, agenzie governative, gruppi della società civile e società commerciali.

La specifica STAC è costituita da quattro standard complementari per descrivere gli asset geospaziali, organizzare tali asset in gruppi e rendere tali asset ricercabili tramite API comuni. In particolare, questi standard STAC includono:

Planetary Computer Pro usa la specifica STAC in tutti gli aspetti della gestione dei dati.

Diagramma che mostra i componenti della specifica STAC e le relative relazioni, tra cui il catalogo STAC, la raccolta STAC, gli elementi STAC e l'API STAC, con frecce che mostrano come si interconnettono.

Cataloghi STAC

Introduzione a GeoCatalogs

Il servizio Planetary Computer Pro consente di creare una risorsa GeoCatalog nella sottoscrizione di Azure per inserire, gestire, cercare e distribuire set di dati geospaziali. Un GeoCatalog è una risorsa di Azure che, dal punto di vista dell'API STAC, è logicamente equivalente a un catalogo STAC. Un catalogo STAC è l'oggetto di primo livello nella gerarchia STAC che raggruppa logicamente le raccolte STAC e gli elementi STAC. È possibile visualizzare il codice JSON del catalogo STAC per uno specifico GeoCatalog usando il visualizzatore Web JSON e passando a https://<your geocatalog uri>/json-api?path=/. Per altre informazioni sulla specifica del catalogo STAC, vedere Specifiche del catalogo STAC.

Un GeoCatalog viene definito usando le informazioni seguenti:

Campo Descrizione
Abbonamento Sottoscrizione di Azure in cui si distribuisce l'istanza GeoCatalog
Gruppo di risorse Gruppo di risorse di Azure in cui si distribuisce l'istanza GeoCatalog
Nome Nome dell'istanza GeoCatalog
Area geografica Area di Azure in cui si distribuisce l'istanza GeoCatalog

Attualmente, Planetary Computer Pro può distribuire GeoCatalogs nelle aree di Azure seguenti:

  • Stati Uniti orientali
  • Stati Uniti centro-settentrionali
  • Europa occidentale
  • Canada centrale
  • UK South
  • Governo degli Stati Uniti Virginia

È possibile distribuire un GeoCatalog usando il portale di Azure o l'API REST di Azure. Per informazioni su come distribuire un GeoCatalog nella sottoscrizione di Azure, vedere Creare una risorsa GeoCatalog.

Raccolte STAC

Introduzione alle raccolte

Un GeoCatalog consente di creare raccolte per archiviare e organizzare set di dati geospaziali in Azure. Usare una raccolta STAC per descrivere un gruppo di elementi STAC che condividono proprietà e metadati, ad esempio un'area geografica o un sensore comune. Per altre informazioni sul concetto di raccolta STAC, vedere STAC collection Spec.

Definizione della raccolta

Planetary Computer Pro è conforme alla specifica della raccolta STAC, che definisce un set di campi comuni per descrivere il set di dati e gli elementi inclusi.

All'interno di una raccolta è possibile specificare il tipo e la struttura dei dati archiviati in tale raccolta. È anche possibile aggiungere impostazioni di configurazione del rendering per visualizzare i dati all'interno della raccolta usando Planetary Computer Pro's Explorer.

Le raccolte vengono definite in GeoCatalog in formato JSON. La definizione include i campi seguenti:

Campo Descrizione
Documento d'identità Obbligatorio: identificatore per la raccolta che è univoco all'interno del provider.
TIPO Obbligatorio - Tipo di elemento STAC; deve essere "Raccolta".
Titolo Titolo breve descrittivo a una riga per la raccolta.
Descrizione Obbligatorio: descrizione dettagliata di più righe per illustrare completamente la raccolta.
Licenze Obbligatorio: licenze della raccolta.
Extent Obbligatorio: descrive gli extent spaziali (longitudine/latitudine) e temporali (intervallo di date) della raccolta.
Fornitori Organizzazioni che acquisisce o elaborano il contenuto della raccolta.
Riepiloghi Elenco di coppie chiave-valore che forniscono una panoramica delle proprietà degli elementi inclusi.
Asset di raccolta File di dati direttamente associati alla raccolta, ad esempio un'immagine di anteprima.
Asset elementi Fornisce informazioni sui file di dati inclusi negli elementi della raccolta. Per ulteriori informazioni, vedere Asset elementi.
Collegamenti Obbligatorio: elenco di oggetti di collegamento a risorse e URL correlati.
Parole chiave Elenco di parole chiave che descrivono la raccolta.
Versione STAC Obbligatorio - versione STAC usata dalla raccolta.

Asset elementi

Il item_assets campo a livello di raccolta mostra quali asset (file di dati) sono disponibili in qualsiasi elemento figlio. Gli asset elencati in questo campo non implicano che tutti gli asset siano disponibili per tutti gli elementi. Il campo mostra l'unione degli asset disponibili, non l'intersezione. Questo campo viene abilitato in un GeoCatalog tramite l'estensione item_assets della specifica STAC. È necessaria l'estensione degli asset elementi se si desidera visualizzare gli elementi in GeoCatalog Explorer.

Il item_assets campo è un oggetto con almeno due dei campi seguenti:

Campo TIPO Descrizione
titolo string Titolo visualizzato per client e utenti.
descrizione string Descrizione dell'asset che fornisce altri dettagli, ad esempio come è stato elaborato o creato.
tipo string Tipo di supporto dell'asset.
Ruoli Elenco di stringhe Ruoli semantici dell'asset, simili all'uso di rel nei collegamenti.

Esempi JSON di raccolta

L'esempio seguente mostra una raccolta JSON minima. Per altri campi, consultare la specifica della raccolta 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"
}

Per un esempio di JSON leggermente più complesso, vedere questo esempio che descrive un set di dati aperto dal Programma nazionale di immagini dell'agricoltura (NAIP).

Configurazione della raccolta

Per visualizzare le raccolte in GeoCatalog Explorer, è necessario definire diverse configurazioni, tra cui:

Elementi STAC

Introduzione agli elementi STAC

Un GeoCatalog archivia e organizza i set di dati geospaziali nelle raccolte. Un elemento STAC è l'oggetto principale di una collezione GeoCatalog. Contiene metadati per una scena e collegamenti ad asset di tale scena, ad esempio un'immagine satellite. I metadati di un elemento consentono a GeoCatalog di eseguire ricerche ed eseguire query sugli asset spaziali. Per altre informazioni sugli elementi STAC, vedere STAC Item Spec.

Definizione dell'elemento

Planetary Computer Pro è conforme alla specifica dell'elemento STAC, che definisce un set di campi comuni per descrivere un elemento, ad esempio l'intervallo di tempo e gli asset correlati all'elemento. Gli elementi vengono definiti in formato JSON e possono espanderli in modo flessibile per includere più metadati.

Un elemento STAC valido richiede i campi seguenti:

Campo Descrizione
Documento d'identità Obbligatorio - identificatore per l'elemento univoco all'interno della raccolta padre dell'elemento
TIPO Obbligatorio - Tipo di oggetto GeoJSON; deve essere "Feature"
Geometria Obbligatorio: definisce l'intero footprint dell'asset rappresentato da questo elemento come una geometria GeoJSON.
Riquadro Obbligatorio - coordinate del rettangolo di delimitazione dell'asset rappresentato da questo elemento
Proprietà Obbligatorio: altri metadati per l'elemento
Asset Obbligatorio: asset di dati associati all'elemento, ognuno con una chiave univoca
Raccolta Obbligatorio - ID della raccolta padre dell'elemento
Collegamenti Obbligatorio: elenco di oggetti di collegamento a risorse e URL correlati
Versione STAC Obbligatorio - Versione STAC usata dall'elemento

I metadati comuni per gli elementi oltre a questi campi obbligatori includono data e ora, licenze, provider, strumenti e altro ancora.

Esempio JSON dell'elemento

L'esempio seguente mostra un elemento JSON di base.

{
  "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"
      ]
    }
  }
}

Estensioni STAC

Attualmente, un GeoCatalog aggiunge automaticamente le estensioni seguenti a tutte le raccolte inserite:

È anche possibile usare le estensioni STAC a livello di elemento STAC.

Annotazioni

Gli elementi STAC, incluse le estensioni, vengono convalidati usando la libreria PySTAC. Se si verificano errori di convalida STAC, provare a rimuovere l'estensione.

Per un elenco completo delle estensioni STAC, inclusa la maturità di ogni estensione, vedere la pagina delle estensioni STAC in GitHub.

STAC API

Le API di Planetary Computer Pro sono conformi alla specifica dell'API STAC, in modo da poter eseguire ricerche in modo rapido e semplice nei set di dati su scala petabyte per trovare asset di dati specifici che soddisfano le proprie esigenze. Dopo aver identificato questi asset, è possibile visualizzare o scaricare gli asset usando le API di GeoCatalog.

Passaggi successivi