STAC-Übersicht für Microsoft Planetary Computer Pro

Dieser Artikel enthält eine Übersicht über die Spezifikation des SpatioTemporal Asset Catalog (STAC) und dessen Verwendung von Microsoft Planetary Computer Pro.

STAC-Spezifikation

Die STAC-Spezifikation ist ein offener, communitybasierter Standard, der das Auffinden, Kombinieren und Verwenden von Geospatialdaten erleichtert. STAC bietet eine gemeinsame Struktur zur Beschreibung und Katalogisierung von "spatiotemporal assets". Mit dieser Struktur können Sie Daten sowohl im Raum als auch in der Zeit indizieren und organisieren.

Mit STAC können Organisationen ihre geospatialen Ressourcen für eine breite Palette von Benutzern zugänglich machen. Sie können STAC-Kataloge verwenden, um viele Arten von Geospatialobjektdaten zu organisieren, einschließlich:

  • Satelliten-, Luft- und Drohnenbilder
  • LIDAR- und SAR-Daten
  • Vollbewegungsvideo
  • Hyperspectraldaten
  • Andere abgeleitete Datenformate

Darüber hinaus können Sie STAC mit vorhandenen und neuen cloudeigenen Datenformaten wie cloudoptimierten GeoTIFFs (COGs) und GeoParquet verwenden.

Seit seiner Veröffentlichung im Jahr 2018 haben viele Organisationen schnell STAC eingeführt, um ihre räumlichen Daten zu organisieren. Zu diesen Organisationen gehören Satellitenbetreiber, Regierungsstellen, Zivilgesellschaftsgruppen und kommerzielle Unternehmen.

Die STAC-Spezifikation besteht aus vier ergänzenden Standards für die Beschreibung von geospatialen Ressourcen, das Organisieren dieser Objekte in Gruppen und das Aufsuchen dieser Objekte über allgemeine APIs. Insbesondere umfassen diese STAC-Standards:

Planetary Computer Pro verwendet die STAC-Spezifikation für alle Aspekte des Datenmanagements.

Diagramm mit den STAC-Spezifikationskomponenten und deren Beziehungen, einschließlich STAC-Katalog, STAC-Auflistung, STAC-Elemente und STAC-API, mit Pfeilen, die zeigen, wie sie miteinander verbunden sind.

STAC-Kataloge

Einführung in GeoCatalogs

Mit dem Planetary Computer Pro-Dienst können Sie eine GeoCatalog-Ressource in Ihrem Azure-Abonnement erstellen, um geospatiale Datasets aufzunehmen, zu verwalten, zu durchsuchen und zu verteilen. Ein GeoCatalog ist eine Azure-Ressource, die aus stac-API-Sicht logisch einem STAC-Katalog entspricht. Ein STAC-Katalog ist das Objekt der obersten Ebene in der STAC-Hierarchie, das STAC-Auflistungen und STAC-Elemente logisch gruppiert. Sie können das STAC-Katalog-JSON für einen bestimmten GeoCatalog anzeigen, indem Sie den JSON-Web-Viewer verwenden und zu https://<your geocatalog uri>/json-api?path=/ gehen. Weitere Informationen zur STAC-Katalogspezifikation finden Sie unter STAC Catalog Spec.

Ein GeoCatalog wird mithilfe der folgenden Informationen definiert:

Feld BESCHREIBUNG
Abonnement Azure-Abonnement, in dem Sie die GeoCatalog-Instanz bereitstellen
Ressourcengruppe Azure-Ressourcengruppe, in der Sie die GeoCatalog-Instanz bereitstellen
Name Name der GeoCatalog-Instanz
Region Azure-Region, in der Sie die GeoCatalog-Instanz bereitstellen

Derzeit kann Planetary Computer Pro GeoCatalogs in den folgenden Azure-Regionen bereitstellen:

  • Ost-USA
  • Nord-Mittel-USA
  • Westeuropa
  • Kanada, Mitte
  • UK South
  • US-Regierung Virginia

Sie können einen GeoCatalog mithilfe des Azure-Portals oder der Azure REST-API bereitstellen. Informationen zum Bereitstellen eines GeoCatalog-Objekts in Ihrem Azure-Abonnement finden Sie unter Erstellen einer GeoCatalog-Ressource.

STAC-Sammlungen

Einführung in Sammlungen

Mit einem GeoCatalog können Sie Sammlungen erstellen, um geospatiale Datasets in Azure zu speichern und zu organisieren. Verwenden Sie eine STAC-Sammlung, um eine Gruppe von STAC-Elementen zu beschreiben, die Eigenschaften und Metadaten teilen, z. B. eine gemeinsame geografische Region oder einen Sensor. Weitere Informationen zum STAC-Sammlungskonzept finden Sie unter STAC Collection Spec.

Sammlungsdefinition

Planetary Computer Pro entspricht der STAC-Sammlungsspezifikation, die eine Reihe von gemeinsamen Feldern definiert, um das Dataset und die enthaltenen Elemente zu beschreiben.

Innerhalb einer Sammlung können Sie den Typ und die Struktur der in dieser Sammlung gespeicherten Daten angeben. Sie können auch Renderkonfigurationseinstellungen hinzufügen, um Daten in der Sammlung mithilfe des Planetary Computer Pro-Explorers zu visualisieren.

Sie definieren Sammlungen in GeoCatalog im JSON-Format. Die Definition enthält die folgenden Felder:

Feld BESCHREIBUNG
id Erforderlich – Bezeichner für die Sammlung, die für den gesamten Anbieter eindeutig ist.
Typ Erforderlich – STAC-Elementtyp; muss "Sammlung" sein.
Titel Kurzer, beschreibender Titel in einer Zeile für die Sammlung.
BESCHREIBUNG Erforderlich – Detaillierte mehrzeilige Beschreibung, um die Sammlung vollständig zu erläutern.
Lizenzen Erforderlich – Lizenzen der Sammlung.
Extent Erforderlich - Beschreibt die räumlichen (Längengrad/Breitengrad) und zeitliche (Datumsbereich) Ausmaße der Sammlung.
Anbieter Organisationen, die den Inhalt der Sammlung erfassen oder verarbeiten.
Summaries Liste der Schlüsselwertpaare, die eine Übersicht über die Eigenschaften der enthaltenen Elemente bieten.
Sammlungsobjekte Datendateien, die der Auflistung direkt zugeordnet sind, z. B. ein Miniaturbild.
Elementressourcen Details zu den Datendateien, die in den Elementen der Auflistung enthalten sind. Weitere Informationen finden Sie unter "Elementobjekte".
Verknüpfungen Erforderlich – Liste der Verknüpfungsobjekte mit Ressourcen und verwandten URLs.
Schlüsselwörter Liste der Schlüsselwörter, die die Auflistung beschreiben.
STAC-Version Erforderlich – STAC-Version, die von der Sammlung verwendet wird.

Elementressourcen

Das Feld item_assets auf Sammlungsebene zeigt, welche Ressourcen (Datendateien) in den untergeordneten Elementen verfügbar sind. Die aufgelisteten Ressourcen in diesem Feld bedeuten nicht, dass alle Ressourcen für alle Elemente verfügbar sind. Das Feld zeigt die Menge aller verfügbaren Ressourcen an, nicht die Schnittmenge. Sie aktivieren dieses Feld in einem GeoCatalog über die item_assets Erweiterung der STAC-Spezifikation. Sie benötigen die Elementressourcenerweiterung, wenn Sie Elemente im GeoCatalog-Explorer visualisieren möchten.

Das item_assets Feld ist ein Objekt mit mindestens zwei der folgenden Felder:

Feld Typ BESCHREIBUNG
title Schnur Der angezeigte Titel für Clients und Benutzer.
Beschreibung Schnur Eine Beschreibung der Ressource, die weitere Details bereitstellt, z. B. wie sie verarbeitet oder erstellt wurde.
Typ Schnur Medientyp der Ressource.
Rollen Eine Liste von Zeichenfolgen Die semantischen Rollen der Ressource, ähnlich der Verwendung von „rel“ in den Links.

JSON-Beispiele für Sammlung

Das folgende Beispiel zeigt eine minimale Json-Auflistung. Weitere Felder finden Sie in der STAC-Auflistungsspezifikation.

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

Ein etwas komplexeres JSON-Beispiel finden Sie in diesem Beispiel, in dem ein offenes Dataset aus dem National Agriculture Imagery Program (NAIP) beschrieben wird.

Sammlungskonfiguration

Um Sammlungen im GeoCatalog-Explorer zu visualisieren, müssen Sie mehrere Konfigurationen definieren, darunter:

STAC-Elemente

Einführung in STAC-Objekte

Ein GeoCatalog speichert und organisiert Geospatial-Datasets in Sammlungen. Ein STAC-Element ist das Kernobjekt in einer GeoCatalog-Auflistung. Es enthält Metadaten für eine Szene und Links zu Ressourcen aus dieser Szene, z. B. ein Satellitenbild. Mit den Metadaten eines Elements kann GeoCatalog räumliche Objekte durchsuchen und abfragen. Weitere Informationen zu STAC-Elementen finden Sie unter STAC Item Spec.

Definition des Elements

Der Planetary Computer Pro entspricht der STAC Item Specification, die eine Reihe von gemeinsamen Feldern definiert, um ein Element zu beschreiben, z. B. einen Zeitraum und die Objekte im Zusammenhang mit dem Element. Sie definieren Elemente im JSON-Format und können sie flexibel erweitern, um weitere Metadaten einzuschließen.

Für ein gültiges STAC-Element sind die folgenden Felder erforderlich:

Feld BESCHREIBUNG
id Erforderlich: Bezeichner für das Element, das in der übergeordneten Sammlung des Elements eindeutig ist
Typ Erforderlich - GeoJSON-Objekttyp; muss "Feature" sein
Geometrie Erforderlich – definiert den vollständigen Fußabdruck der Ressource, die durch dieses Element dargestellt wird, als GeoJSON Geometry-Objekt
Umgebendes Feld Erforderlich – Koordinaten des umgebenden Felds des Objekts, das durch dieses Element dargestellt wird
Eigenschaften Erforderlich – andere Metadaten für das Element
Vermögenswerte Erforderlich – Datenressourcen, die dem Element zugeordnet sind, jeweils mit einem eindeutigen Schlüssel
Collection Erforderlich – ID der übergeordneten Sammlung des Elements
Verknüpfungen Erforderlich – Liste der Verknüpfungsobjekte mit Ressourcen und verwandten URLs
STAC-Version Erforderlich – STAC-Version, die vom Element verwendet wird

Allgemeine Metadaten für Elemente, die über diese erforderlichen Felder hinausgehen, umfassen Datum und Uhrzeit, Lizenzen, Anbieter, Instrumente und mehr.

Beispiel für Element-JSON

Das folgende Beispiel zeigt einen einfachen JSON-Code für Elemente.

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

STAC-Erweiterungen

Derzeit fügt ein GeoCatalog automatisch die folgenden Erweiterungen zu allen aufgenommenen Auflistungen hinzu:

Sie können auch STAC-Erweiterungen auf der Ebene des STAC-Elements verwenden.

Hinweis

STAC-Elemente, einschließlich Erweiterungen, werden mithilfe der PySTAC-Bibliothek überprüft. Wenn STAC-Überprüfungsfehler auftreten, versuchen Sie, die Erweiterung zu entfernen.

Eine vollständige Liste der STAC-Erweiterungen, einschließlich der Fälligkeit der einzelnen Erweiterungen, finden Sie auf der Seite "STAC-Erweiterungen" auf GitHub.

STAC-API

Die APIs des Planetary Computer Pro entsprechen der STAC-API-Spezifikation, sodass Sie Petabyte-Datasets schnell und einfach durchsuchen können, um bestimmte Datenressourcen zu finden, die Ihren Anforderungen entsprechen. Nachdem Sie diese Objekte identifiziert haben, können Sie die Objekte mithilfe der GeoCatalog-APIs anzeigen oder herunterladen.

Nächste Schritte