Freigeben über


Schnellstart: Erste Schritte mit Datenwürfeln in Microsoft Planetary Computer Pro

Voraussetzungen

Einrichten der Aufnahmequelle

Bevor Sie mit dem Erfassen von Datenwürfeldaten beginnen können, müssen Sie eine Aufnahmequelle einrichten, die als Ihre Anmeldeinformationen für den Zugriff auf das Blob Storage-Konto dient, in dem Ihre Objekte und STAC-Elemente gespeichert sind. Sie können eine Ingestionsquelle mit verwalteter Identität oder SAS-Token einrichten.

Erstellen einer Datenwürfelsammlung

Nachdem Ihre Erfassungsquelle eingerichtet wurde, können Sie eine Sammlung für Ihre Datenwürfelressourcen erstellen. Schritte zum Erstellen einer Sammlung können in der Erstellung einer STAC-Sammlung mit Microsoft Planetary Computer Pro mit Python befolgt werden.

Datenwürfelressourcen erfassen

Die Initiierung des Aufnahmeprozesses für Daten von Datenwürfeln und andere Datentypen kann in der Übersicht über den Erfassungsvorgang nachverfolgt werden. Wie im Data Cube Overview beschrieben, ist die Eingabe jedoch der Schritt in der Datenverarbeitung von Planetary Computer Pro, der sich für diese Dateitypen unterscheidet. Während GRIB2-Daten und zugeordnete STAC-Elemente wie jede andere zweidimensionale Rasterdatei aufgenommen werden, werden NetCDF- und HDF5-Objekte einer weiteren Datenerweiterung unterzogen. Die Generierung von Kerchunk-Manifesten wird in der Datenwürfelübersicht dokumentiert. Beachten Sie jedoch, dass Kerchunk-Ressourcen ihrem Blob Storage-Container zusammen mit den ursprünglichen Ressourcen hinzugefügt werden und ein zusätzliches cube:variables Feld dem STAC Item JSON hinzugefügt wird. Dies ist beim Rendern dieser Datentypen im Planetary Computer Pro Explorer wichtig.

Konfigurieren einer Datenwürfelsammlung

Die Konfiguration Ihrer Datenwürfelsammlung ist ein weiterer Schritt, der sich geringfügig von denen anderer Datentypen unterscheidet. Sie können die unter "Konfigurieren einer Sammlung" beschriebenen Schritte mit der Microsoft Planetary Computer Pro-Webschnittstelle ausführen, um Ihre Datenwürfelsammlung zu konfigurieren. Beachten Sie jedoch beim Erstellen der Renderkonfiguration die folgenden Unterschiede:

Renderkonfiguration für NetCDF- und HDF5-Ressourcen

Beachten Sie, dass ein standardmäßiges Renderkonfigurationsargument im JSON-Format wie folgt aussieht:

[
  {
    "id": "prK1950-06-30",
    "name": "prK1950-06-30",
    "type": "raster-tile",
    "options": "assets=pr-kerchunk&subdataset_name=pr&rescale=0,0.01&colormap_name=viridis&datetime=1950-06-30",
    "minZoom": 1
  }
]

Das options Feld ist der Ort, an dem Sie die in der Cloud optimierte, Kerchunk-Ressource im Gegensatz zu den ursprünglichen Ressourcen verwenden möchten, die im STAC-Element aufgeführt sind. Sie müssen auch das subdataset_name Argument einschließen, bei dem es sich um den Namen der Variablen handelt, die Sie rendern möchten.

Renderkonfiguration für GRIB2-Ressourcen

Das options Feld für die Renderkonfiguration von GRIB2-Ressourcen sieht ähnlich wie im vorherigen Beispiel aus, aber Sie müssen das subdataset_name Argument nicht einschließen. Dies liegt daran, dass GRIB2-Daten bereits optimal strukturiert und über ihre Indexdateien referenziert werden. Das assets Argument stellt in diesem Fall den Bereich oder die 2D-Rasterebene dar, die Sie rendern möchten. Im Folgenden finden Sie ein Beispiel für eine GRIB2-Renderkonfiguration:

[ 
 {
    "id": "render-config-1",
    "name": "Mean Zero-Crossing Wave Period",
    "description": "A sample render configuration. Update `options` below.",
    "type": "raster-tile",
    "options": "assets=data&subdataset_bands=1&colormap_name=winter&rescale=0,10",
    "minZoom": 1
 }
]

Renderkonfiguration für Zarr-Ressourcen

Das options Feld für die Renderkonfiguration von Zarr-Ressourcen ähnelt auch der von NetCDF und HDF5, jedoch müssen Sie im assets Argument den Parameter "sel" einfügen, der es Ihnen ermöglicht, eine Zeit, einen Schritt oder eine andere Variable auszuwählen, die das 2D-Rendering einer einzelnen Variablen in einem Zeitschritt aus einem Multi-Variablen-Zarr-Speicher ermöglicht. Möglicherweise müssen Sie auch einen Parameter "sel_method" einschließen, um sicherzustellen, dass die richtige Variable ausgewählt wird, auch wenn der eingegebene Wert leicht abweicht. Weitere Informationen zu diesem "sel"-Parameter finden Sie in der öffentlichen Dokumentation für die mehrdimensionale Python-Datenlesebibliothek, die im Planetary Computer Pro Back-End verwendet wird, Xarray Below ist ein Beispiel für eine Zarr Render-Konfiguration:

[
  {
    "id": "era5-zarr",
    "name": "era5-zarr",
    "type": "raster-tile",
    "options": "assets=data&subdataset_name=precipitation_amount_1hour_Accumulation&colormap_name=viridis&sel=time=2024-01-01&sel_method=nearest&rescale=0,0.01",
    "minZoom": 12
  }
]

Visualisieren von Datenwürfelressourcen im Explorer

Sobald Ihre Datenwürfelressourcen aufgenommen und konfiguriert wurden, können Sie sie im Planetary Computer Pro Explorer visualisieren. Eine schrittweise Anleitung für die Verwendung des Explorers finden Sie in der Schnellstartanleitung: Verwenden Sie den Explorer in Microsoft Planetary Computer Pro.

Während Microsoft Planetary Computer Pro einen Tiler enthält, der zum Visualisieren einiger Datenwürfelressourcen verwendet werden kann, gibt es einige Einschränkungen zu beachten, wenn es um jeden unterstützten Datentyp geht.

NetCDF- und HDF5-Visualisierung

Nicht alle NetCDF-Datensätze, die in Microsoft Planetary Computer aufgenommen werden können, sind mit dem Visualisierungs-Tiler des Planetary Computer Pro kompatibel. Ein Dataset muss X- und Y-Achsen, Breiten- und Längengradkoordinaten sowie räumliche Dimensionen und Grenzen aufweisen, die visualisiert werden sollen. Beispielsweise ist ein Datensatz, bei dem Breitengrad und Längengrad Variablen, aber keine Koordinaten sind, nicht mit dem Planetary Computer Pro-Tiler kompatibel.

Bevor Sie versuchen, Ihr NetCDF- oder HDF5-Dataset zu visualisieren, können Sie folgendes verwenden, um zu überprüfen, ob es die Anforderungen erfüllt.

  1. Installieren der erforderlichen Abhängigkeiten

    pip install xarray[io] rioxarray cf_xarray
    
  2. Führen Sie die folgende Funktion aus:

    import xarray as xr
    import cf_xarray
    import rioxarray
    
    def is_dataset_visualizable(ds: xr.Dataset):
        """
        Test if the dataset is compatible with the Planetary Computer tiler API.
        Raises an informative error if the dataset is not compatible.
        """
        if not ds.cf.axes:
            raise ValueError("Dataset does not have CF axes")
        if not ds.cf.coordinates:
            raise ValueError("Dataset does not have CF coordinates")
        if not {"X", "Y"} <= ds.cf.axes.keys():
            raise ValueError(f"Dataset must have CF X and Y axes, found: {ds.cf.axes.keys()}")
    
        if not {"latitude", "longitude"} <= ds.cf.coordinates.keys():
            raise ValueError("Dataset must have CF latitude and longitude coordinates, "
                             f"actual: {ds.cf.coordinates.keys()}")
    
        if ds.rio.x_dim is None or ds.rio.y_dim is None:
            raise ValueError("Dataset does not have rioxarray spatial dimensions")
    
        if ds.rio.bounds() is None:
            raise ValueError("Dataset does not have rioxarray bounds")
    
        left, bottom, right, top = ds.rio.bounds()
        if left < -180 or right > 180 or bottom < -90 or top > 90:
            raise ValueError("Dataset bounds are not valid; they must be within [-180, 180] and [-90, 90]")
    
        if ds.rio.resolution() is None:
            raise ValueError("Dataset does not have rioxarray resolution")
    
        if ds.rio.transform() is None:
            raise ValueError("Dataset does not have rioxarray transform")
    
        print("✅ Dataset is compatible with the Planetary Computer tiler API.")
    

GRIB2-Visualisierung

GRIB2-Ressourcen, die in Microsoft Planetary Computer Pro aufgenommen wurden, können im Explorer visualisiert werden, solange sie eine zugeordnete Indexdatei (IDX) im selben Blob Storage-Container gespeichert haben. Die Indexdatei wird während der Aufnahme generiert und ist für den optimalen Zugriff und das Rendern von GRIB2-Daten erforderlich.

Zarr-Visualisierung

Zarr-Ressourcen, die in Microsoft Planetary Computer Pro aufgenommen werden, können solange im Explorer visualisiert werden, bis die Renderkonfiguration angibt, welche Variable und welches Zeitsegment mithilfe des sel-Parameters im options-Feld gerendert werden soll. Andernfalls versucht der Explorer, alle Variablen und Zeitsegmente des Zarr-Speichers gleichzeitig zu rendern, was dazu führt, dass der Explorer abstürzt.

Die Größe des Zarr-Speichers und der räumlichen Blöcke wirkt sich auch auf die Leistung aus. Sie sollten die Gesamtgröße eines Zarr-Speichers unter 2 GB und jeden Block unter 100 MB behalten, um eine optimale Leistung des Tilers zu erzielen.

Zeitschieberegler für datenwürfelvisualisierung

Wenn Ihre Datenwürfelressourcen über eine zeitliche Komponente verfügen, können Sie den Zeitschieberegler im Explorer verwenden, um Änderungen im Laufe der Zeit zu visualisieren. Der Zeitschieberegler wird automatisch angezeigt, wenn Die STAC-Elemente Objekte mit einer time Dimension mit einem extent und step Feld enthalten.

 [! HINWEIS] Wir bieten derzeit keine Zeitschiebereglerunterstützung für Zarr-Objekte. Aus diesem Grund ist es wichtig, dass Sie angeben, welche Zeitsegmente sie in der Renderkonfiguration visualisieren möchten. Wenn Sie diese Funktion nicht ausführen, wird Explorer versuchen, alle Zeitsegmente des Zarr-Speichers auf einmal zu rendern, was dazu führt, dass er abstürzt.