Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Schnellstart erfassen Sie SpatioTemporal Asset Catalog (STAC)-Elemente in einer Sammlung in Microsoft Planetary Computer Pro GeoCatalog mithilfe der API für die Erfassung einzelner Elemente. STAC-Elemente sind der grundlegende Baustein von STAC, der Eigenschaften zum Abfragen und Verknüpfen mit den Datenressourcen enthält.
Voraussetzungen
Bevor Sie mit diesem Schnellstart beginnen, sollten Sie zunächst den Schnellstart zum Erstellen einer STAC-Sammlung mit Microsoft Planetary Computer Pro GeoCatalog abschließen oder über einen GeoCatalog mit einer STAC-Sammlung für die Elemente verfügen, die Sie erfassen möchten.
Überspringen Sie den folgenden Codeausschnitt, wenn Sie die STAC-Auflistung im aktuellen Terminal/Skript erstellt haben, andernfalls müssen Sie die geocatalog_url und collection_id mit dem folgenden Python-Code festlegen:
# Put the URL to your Microsoft Planetary Computer Pro GeoCatalog Explorer (not including '/api') here.
# Make sure there's no trailing '/'
geocatalog_url = "<your-geocatalog-url>"
# collection_id is "spatio-quickstart" if you're following the collection quickstart
collection_id = "<your-collection-id>"
Erstellen von Elementmetadaten
Die STAC-Elementmetadaten sind für die Objekte eindeutig, die Sie katalogisieren. Sie enthält alle Informationen, die zum Katalogieren der Daten erforderlich sind, sowie Zeiger auf die Stelle, an der die Daten gespeichert werden.
Tipp
Sie verfügen nicht über STAC-Elemente für Ihre Daten? Um die Erstellung von STAC-Elementen zu beschleunigen, haben wir ein detailliertes Lernprogramm und verfügen auch über ein Open Source-Tool namens STAC Forge.
Für diesen Schnellstart verwenden Sie STAC-Elemente und -Ressourcen aus der offenen 10 m Annual Land Use Land Cover-Sammlung von Planetary Computer.
import requests
response = requests.get(
"https://planetarycomputer.microsoft.com/api/stac/v1/search",
params={"collections": "io-lulc-annual-v02", "ids": "23M-2023,23L-2023,24M-2023,24L-2023"},
)
item_collection = response.json()
Verwenden Sie die SAS-API des offenen Planetary Computers, um kurzlebige SAS-Token für die Objekte abzurufen.
sas_token = requests.get(
"https://planetarycomputer.microsoft.com/api/sas/v1/token/io-lulc-annual-v02"
).json()["token"]
for item in item_collection["features"]:
for asset in item["assets"].values():
asset["href"] = "?".join([asset["href"], sas_token])
Dieses SAS-Token ist erforderlich, damit Ihr GeoCatalog die Daten vom offenen Planetarischen Computer kopieren kann. Weitere Informationen dazu, wie Planetary Computer Pro auf Daten zugreift, finden Sie unter Ingestion-Quellen.
STAC erfordert, dass die collection
Eigenschaft für STAC-Items der Sammlung entspricht, in der sie sich befinden. Aktualisieren Sie bei Bedarf die Elemente so, dass sie der verwendeten Sammlungs-ID entsprechen.
for item in item_collection["features"]:
item["collection"] = collection_id
Zugriffstoken erhalten
Planetary Computer Pro erfordert ein Zugriffstoken für die Authentifizierung von Anforderungen über Microsoft Entra. Verwenden Sie die Azure-Identity-Clientbibliothek für Python, um ein Token abzurufen.
import azure.identity
credential = azure.identity.AzureCliCredential()
token = credential.get_token("https://geocatalog.spatio.azure.com")
headers = {
"Authorization": f"Bearer {token.token}"
}
Hinzufügen von Elementen zu einer Auflistung
Elemente können einer Sammlung hinzugefügt werden, indem ein Item
- oder ItemCollection
-Objekt an den /stac/collections/{collection_id}/items
-Endpunkt gesendet wird.
response = requests.post(
f"{geocatalog_url}/stac/collections/{collection_id}/items?api-version=2025-04-30-preview",
headers=headers,
json=item_collection
)
print(response.status_code)
Der Statuscode 202
gibt an, dass Ihre Elemente für die Datenerfassung akzeptiert wurden. Überprüfen Sie das Antwort-JSON, wenn Sie einen 40x-Statuscode erhalten, zum Beispiel print(response.json())
.
Planety Computer Pro nimmt die Elemente asynchron in Ihren GeoCatalog ein. Der location
Header enthält eine URL, die Sie abfragen können, um den Status des Ingestionsprozesses zu überwachen.
import time
import datetime
location = response.headers["location"]
while True:
response = requests.get(location, headers={"Authorization": f"Bearer {token.token}"})
status = response.json()["status"]
print(datetime.datetime.now().isoformat(), status)
if status not in {"Pending", "Running"}:
break
time.sleep(5)
Once the items are ingested, use the `/stac/collections/{collection_id}/items` or `/stac/search` endpoints to get a paginated list of items, including your newly ingested items. If the ingestion fails or you encounter errors, consult the [troubleshooting guide](./troubleshooting-ingestion.md) and the [list of error codes](./error-codes-ingestion.md).
```python
items_response = requests.get(
f"{geocatalog_url}/stac/collections/{collection_id}/items",
headers={"Authorization": f"Bearer {token.token}"},
params={"api-version": "2025-04-30-preview"},
)
items_ingested = items_response.json()
print(f"Found {len(items_ingested['features'])} items")
Oder suchen Sie:
search_response = requests.get(
f"{geocatalog_url}/stac/search",
headers={"Authorization": f"Bearer {token.token}"},
params={"api-version": "2025-04-30-preview", "collection": collection_id},
)
#print(search_response.json())
Sie können die Elemente anzeigen, indem Sie Ihren Daten-Explorer besuchen, sobald die STAC-Sammlung für die Visualisierung konfiguriert ist.
Löschen von Elementen aus einer Auflistung
Elemente können aus einer Sammlung mit einer DELETE
Anforderung an den Elementdetailendpunkt gelöscht werden.
item_id = item_collection["features"][0]["id"]
delete = requests.delete(
f"{geocatalog_url}/stac/collections/{collection_id}/items/{item_id}",
headers=headers,
params={"api-version": "2025-04-30-preview"},
)
print(delete.status_code)
Bereinigen von Ressourcen
Unter Erstellen einer STAC-Auflistung mit Microsoft Planetary Computer Pro GeoCatalog finden Sie Schritte zum Löschen einer gesamten Sammlung sowie aller darunter befindlichen Elemente und Objekte.
Nächste Schritte
Nachdem Sie nun einige Elemente hinzugefügt haben, sollten Sie die Daten für die Visualisierung konfigurieren.
Verwandte Elemente
- Erfassen von Daten in GeoCatalog mit der Massenerfassungs-API
- Schnellstart: Aufnehmen von Daten mithilfe der Microsoft Planetary Computer Pro-Weboberfläche
- Aufnehmen von Daten in Microsoft Planetary Computer Pro
- Erfassungsquelle für Microsoft Planetary Computer Pro
- Problembehandlung bei der Datenaufnahme
- Fehlercodes: Microsoft Planetary Computer Pro-Erfassung