Delen via


Quickstart: Aan de slag met gegevenskubussen in Microsoft Planetary Computer Pro

Vereiste voorwaarden

Opnamebron instellen

Voordat u data uit een datacube kunt inladen, moet u een Ingestiebron instellen, die dient als uw verificatie voor toegang tot het Blob Storage-account waarin uw assets en STAC-items worden opgeslagen. U kunt een opnamebron instellen met beheerde identiteit of SAS-token.

Een gegevenskubusverzameling maken

Zodra uw opnamebron is ingesteld, kunt u een verzameling voor uw gegevenskubusobjecten maken. Stappen voor het maken van een verzameling kunnen worden gevolgd in Een STAC-verzameling maken met Microsoft Planetary Computer Pro met behulp van Python.

Gegevenskubusassets opnemen

De inleiding van het opnameproces voor gegevenskubusgegevens en andere gegevenstypen kan worden gevolgd in Het opnameoverzicht. Zoals beschreven in Data Cube Overview, is opname echter de stap in Planetary Computer Pro's gegevensverwerking die verschilt voor deze bestandstypen. Hoewel GRIB2-gegevens en bijbehorende STAC-items worden opgenomen, net als elk ander tweedimensionaal rasterbestand, ondergaan NetCDF- en HDF5-assets verdere gegevensverrijking. Het genereren van Kerchunk-manifesten wordt beschreven in het overzicht van de gegevenskubus, maar wat belangrijk is om op te merken is dat Kerchunk-assets naast de oorspronkelijke assets worden toegevoegd aan uw Blob Storage-container en dat er een extra cube:variables veld wordt toegevoegd aan de JSON van het STAC-item. Dit is belangrijk bij het weergeven van deze gegevenstypen in de Planetary Computer Pro Explorer.

Een gegevenskubusverzameling configureren

De configuratie van uw gegevenskubusverzameling is een andere stap die er iets anders uitziet dan die van andere gegevenstypen. U kunt de stappen volgen die worden beschreven in Een verzameling configureren met de microsoft Planetary Computer Pro-webinterface om uw gegevenskubusverzameling te configureren, maar u moet rekening houden met de volgende verschillen bij het bouwen van uw Render-configuratie:

Configuratie renderen voor NetCDF- en HDF5-assets

Onthoud dat een standaardargument Render Configuration in JSON-indeling er als volgt uitziet:

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

In options het veld wilt u de geoptimaliseerde Kerchunk-asset in de cloud gebruiken, in plaats van de oorspronkelijke asset die wordt vermeld in het STAC-item. U moet ook het subdataset_name argument opnemen. Dit is de naam van de variabele die u wilt weergeven.

Configuratie weergeven voor GRIB2-assets

Het options veld voor de renderconfiguratie van GRIB2-assets lijkt op het vorige voorbeeld, maar u hoeft het subdataset_name argument niet op te nemen. Dit komt doordat GRIB2-gegevens al optimaal zijn gestructureerd en waarnaar wordt verwezen via hun indexbestanden. Het assets argument vertegenwoordigt in dit geval de band- of 2D-rasterlaag die u wilt weergeven. Hieronder ziet u een voorbeeld van een GRIB2 Render-configuratie:

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

Configuratie weergeven voor Zarr-assets

Het options veld voor de renderconfiguratie van Zarr-assets is ook vergelijkbaar met die van NetCDF en HDF5, maar binnen het assets argument moet u de parameter 'sel' opnemen waarmee u een tijd-, stap- of andere variabele kunt selecteren die 2D-rendering van één variabele tegelijk mogelijk maakt vanuit een Zarr-archief met meerdere variabelen. Mogelijk moet u ook een parameter 'sel_method' opnemen om ervoor te zorgen dat de juiste variabele wordt geselecteerd, zelfs als de ingevoerde waarde enigszins afwijkt. Meer informatie over deze 'sel'-parameter vindt u in de openbare documentatie voor de Python-bibliotheek voor multidimensionale gegevens die wordt gebruikt in de Planetary Computer Pro-backend, Xarray. Hieronder staat een voorbeeld van een Zarr renderconfiguratie:

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

Gegevenskubusassets visualiseren in Explorer

Zodra uw gegevenskubusassets zijn opgenomen en geconfigureerd, kunt u ze visualiseren in Planetary Computer Pro Explorer. Een stapsgewijze handleiding voor het gebruik van De Verkenner kan worden gevolgd in quickstart: De Verkenner gebruiken in Microsoft Planetary Computer Pro.

Hoewel Microsoft Planetary Computer Pro een tiler bevat die kan worden gebruikt om bepaalde gegevenskubusassets te visualiseren, zijn er enkele opmerkingen bij elk ondersteund gegevenstype.

NetCDF- en HDF5-visualisatie

Niet alle NetCDF-gegevenssets die kunnen worden ingelezen in de Microsoft Planetary Computer zijn compatibel met de visualisatietegel van Planetary Computer Pro. Een gegevensset moet X- en Y-assen, breedte- en lengtegraadcoördinaten en ruimtelijke dimensies en grenzen hebben die moeten worden gevisualiseerd. Een gegevensset waarin breedtegraad en lengtegraad variabelen zijn, maar geen coördinaten, is bijvoorbeeld niet compatibel met de tiler van Planetary Computer Pro.

Voordat u uw NetCDF- of HDF5-gegevensset probeert te visualiseren, kunt u het volgende gebruiken om te controleren of deze voldoet aan de vereisten.

  1. De vereiste afhankelijkheden installeren

    pip install xarray[io] rioxarray cf_xarray
    
  2. Voer de volgende functie uit:

    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-visualisatie

GRIB2-assets die zijn opgenomen in Microsoft Planetary Computer Pro, kunnen worden gevisualiseerd in de Explorer zolang ze een gekoppeld indexbestand (.idx) hebben opgeslagen in dezelfde Blob Storage-container. Het indexbestand wordt gegenereerd tijdens de opname en is vereist voor optimale toegang en rendering van GRIB2-gegevens.

Zarr-visualisatie

Zarr-assets die zijn opgenomen in Microsoft Planetary Computer Pro, kunnen worden gevisualiseerd in de Explorer zolang de renderconfiguratie aangeeft welke variabele en tijdssegment moeten worden weergegeven met behulp van de sel parameter in het options veld. Als u dit niet doet, wordt geprobeerd alle variabelen en tijdsegmenten van het Zarr-archief tegelijk weer te geven, waardoor de Explorer vastloopt.

De grootte van het Zarr-archief en ruimtelijke blokken heeft ook invloed op de prestaties. U moet de totale grootte van een Zarr-opslag onder 2 GB houden en elke chunk kleiner dan 100 MB voor optimale prestaties van de tiler.

Tijdschuifregelaar voor gegevenskubusvisualisatie

Als uw gegevenskubusassets een tijdelijk onderdeel hebben, kunt u de tijdschuifregelaar in Explorer gebruiken om wijzigingen in de loop van de tijd te visualiseren. De tijdschuifregelaar wordt automatisch weergegeven als uw STAC Items assets bevatten met een time-dimensie met een extent- en step-veld.

 [! OPMERKING] Momenteel bieden we geen ondersteuning voor tijdschuifregelaars voor Zarr-assets. Daarom is het essentieel dat u opgeeft welke tijdssegmenten u wilt visualiseren in de renderconfiguratie. Als u dit niet doet, zal de Bestandsexplorer proberen alle tijdsegmenten van het Zarr-archief tegelijk weer te geven, waardoor de Bestandsexplorer vastloopt.