Condividi tramite


Guida introduttiva: Introduzione ai cubi di dati in Microsoft Planetary Computer Pro

Prerequisiti

Configurare l'origine di inserimento

Prima di iniziare a inserire i dati del cubo di dati, è necessario configurare un'origine di inserimento, che fungerà da credenziali per accedere all'account di archiviazione BLOB in cui sono archiviati gli asset e gli elementi STAC. È possibile configurare un'origine di inserimento usando l'identità gestita o il token di firma di accesso condiviso.

Creare una raccolta di cubi di dati

Dopo aver configurato l'origine di inserimento, è possibile creare una raccolta per gli asset del cubo di dati. I passaggi per creare una raccolta possono essere seguiti in Creare una raccolta STAC con Microsoft Planetary Computer Pro usando Python.

Inserire asset di cubi di dati

L'avvio del processo di inserimento per i dati del cubo di dati e altri tipi di dati può essere seguito in Panoramica dell'inserimento. Come descritto in Panoramica del cubo di dati, tuttavia, l'inserimento è il passaggio nella gestione dei dati di Planetary Computer Pro che differisce per questi tipi di file. Mentre i dati GRIB2 e gli elementi STAC associati vengono inseriti esattamente come qualsiasi altro file raster bidimensionale, gli asset NetCDF e HDF5 vengono sottoposti ad ulteriore arricchimento dei dati. La generazione di manifesti Kerchunk è documentata in Panoramica del cubo di dati, ma ciò che è importante notare è che gli asset Kerchunk verranno aggiunti al contenitore di archiviazione BLOB insieme agli asset originali e un campo aggiuntivo cube:variables viene aggiunto al codice JSON dell'elemento STAC. Questo aspetto è importante quando si esegue il rendering di questi tipi di dati in Planetary Computer Pro Explorer.

Configurare una raccolta di cubi di dati

La configurazione della raccolta di cubi di dati è un altro passaggio che sarà leggermente diverso da quello di altri tipi di dati. È possibile seguire i passaggi descritti in Configurare una raccolta con l'interfaccia Web Microsoft Planetary Computer Pro per configurare la raccolta di cubi di dati, ma è necessario tenere presenti le differenze seguenti durante la compilazione della configurazione di rendering:

Configurazione del rendering per le risorse NetCDF e HDF5.

Ricordare che un argomento di configurazione del rendering standard in formato JSON è simile al seguente:

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

Il options campo è dove si desidera utilizzare l'asset Kerchunk ottimizzato per il cloud, anziché l'asset originale elencato nell'Item STAC. È anche necessario includere l'argomento subdataset_name , ovvero il nome della variabile di cui si vuole eseguire il rendering.

Configurazione del rendering per le risorse GRIB2

Il campo options per la configurazione del rendering degli asset GRIB2 è simile all'esempio precedente, ma non è necessario includere l'argomento subdataset_name. Ciò è dovuto al fatto che i dati GRIB2 sono già strutturati e a cui si fa riferimento in modo ottimale tramite i file di indice. L'argomento assets, in questo caso, rappresenta la banda o il livello raster 2D di cui si vuole eseguire il rendering. Di seguito è riportato un esempio di configurazione di rendering GRIB2:

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

Eseguire il rendering della configurazione per gli asset Zarr

Il campo di options per la Configurazione di Rendering degli asset Zarr è simile a quello di NetCDF e HDF5, tuttavia all'interno dell'argomento assets è necessario includere il parametro 'sel' che consente di selezionare un momento, passo o un'altra variabile che consente il rendering 2D di una variabile in un singolo time slice da uno store Zarr multivariabile. Potrebbe anche essere necessario includere un parametro 'sel_method' per assicurarsi che la variabile corretta venga selezionata, anche se il valore immesso è leggermente sbagliato. Per altre informazioni su questo parametro 'sel', consulta la documentazione pubblica per la libreria di lettura dei dati multidimensionali Python usata nel back-end Planetary Computer Pro, Xarray. Di seguito è riportato un esempio di Zarr Render Configuration:

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

Visualizzare gli asset del cubo di dati nell'Explorer

Dopo aver inserito e configurato gli asset del cubo di dati, è possibile visualizzarli in Planetary Computer Pro Explorer. È possibile seguire una guida dettagliata per l'uso di Explorer in Guida introduttiva: Usare Explorer in Computer Planetario Pro di Microsoft.

Anche se Microsoft Planetary Computer Pro include un tiler che può essere usato per visualizzare alcuni asset del cubo di dati, esistono alcune avvertenze da notare quando si tratta di ogni tipo di dati supportato.

Visualizzazione NetCDF e HDF5

Non tutti i set di dati NetCDF che possono essere inseriti in Microsoft Planetary Computer sono compatibili con il tiler di visualizzazione Planetary Computer Pro. Un set di dati deve avere assi X e Y, coordinate di latitudine e longitudine e dimensioni spaziali e limiti da visualizzare. Ad esempio, un set di dati in cui latitudine e longitudine sono variabili, ma non coordinate, non è compatibile con il tiler di Planetary Computer Pro.

Prima di tentare di visualizzare il set di dati NetCDF o HDF5, è possibile usare quanto segue per verificare se soddisfa i requisiti.

  1. Installare le dipendenze necessarie

    pip install xarray[io] rioxarray cf_xarray
    
  2. Eseguire la seguente funzione:

    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.")
    

Visualizzazione GRIB2

Gli asset GRIB2 inseriti in Microsoft Planetary Computer Pro possono essere visualizzati in Explorer purché abbiano un file di indice associato (con estensione .idx) archiviato nello stesso contenitore di archiviazione BLOB. Il file indice viene generato durante l'ingestione ed è necessario per l'accesso ottimale e il rendering dei dati GRIB2.

Visualizzazione Zarr

Gli asset Zarr inseriti in Microsoft Planetary Computer Pro possono essere visualizzati in Explorer, a condizione che la Render Configuration specifichi quale variabile e intervallo temporale eseguire il rendering utilizzando il parametro sel nel campo options. Se non lo si fa, Explorer cercherà di effettuare il rendering di tutte le variabili e le sezioni temporali dell'archivio Zarr contemporaneamente, causando l'arresto anomalo di Explorer.

Anche le dimensioni dell'archivio Zarr e dei blocchi spaziali influiranno sulle prestazioni. È consigliabile mantenere le dimensioni totali di un archivio Zarr inferiori a 2 GB e ogni blocco inferiore a 100 MB per ottenere prestazioni ottimali con il tiler.

Dispositivo di scorrimento temporale per la visualizzazione del cubo di dati

Se gli asset del cubo di dati hanno un componente temporale, è possibile usare la barra di scorrimento temporale nell'Explorer per visualizzare le modifiche nel tempo. Il dispositivo di scorrimento dell'orario verrà visualizzato automaticamente se gli elementi STAC contengono asset con una dimensione time con campi extent e step.

 [!NOTA] Attualmente non è disponibile il supporto del cursore temporale per gli asset Zarr. Per questo motivo, è fondamentale specificare quali intervalli di tempo si desidera visualizzare nella configurazione di rendering. Se non lo si fa, Explorer cercherà di effettuare il rendering di tutte le sezioni temporali dell'archivio Zarr contemporaneamente, causando l'arresto anomalo di Explorer.