Partager via


Démarrage rapide : Prise en main des cubes de données dans Microsoft Planetary Computer Pro

Conditions préalables

Configurer la source d’ingestion

Avant de commencer à ingérer des données de cube de données, vous devez configurer une source d’ingestion, qui servira d’informations d’identification pour accéder au compte de stockage Blob où vos ressources et éléments STAC sont stockés. Vous pouvez configurer une source d’ingestion à l’aide d’une identité managée ou d’un jeton SAP.

Créer une collection de cubes de données

Une fois votre source d’ingestion configurée, vous pouvez créer une collection pour vos ressources de cube de données. Les étapes de création d’une collection peuvent être suivies dans Créer une collection STAC avec Microsoft Planetary Computer Pro à l’aide de Python.

Ingérer des ressources de cube de données

Le démarrage du processus d'ingestion pour les cubes de données et d'autres types de données peut être suivi dans Vue d'ensemble de l’ingestion. Comme décrit dans Data Cube Overview, toutefois, l’ingestion est l’étape de la gestion des données de Planetary Computer Pro qui diffère pour ces types de fichiers. Alors que les données GRIB2 et les éléments STAC associés sont ingérés comme n’importe quel autre fichier raster bidimensionnel, les ressources NetCDF et HDF5 subissent d’autres enrichissements de données. La génération de manifestes Kerchunk est documentée dans la vue d’ensemble du cube de données, mais ce qui est important de noter est que les ressources Kerchunk seront ajoutées à votre conteneur de stockage Blob en même temps que les ressources d’origine, et un champ supplémentaire cube:variables est ajouté au JSON de l’élément STAC. Cela est important lors du rendu de ces types de données dans l’Explorateur Pro de l’ordinateur planetaire.

Configurer une collection de cubes de données

La configuration de votre collection de cube de données est une autre étape qui sera légèrement différente de celle d’autres types de données. Vous pouvez suivre les étapes décrites dans Configurer une collection avec l’interface web Microsoft Planetary Computer Pro pour configurer votre collection de cube de données, mais vous devez connaître les différences suivantes lors de la création de votre configuration de rendu :

Configuration du rendu pour les ressources NetCDF et HDF5

N’oubliez pas qu’un argument de configuration de rendu standard au format JSON ressemble à ceci :

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

Le options champ est l’endroit où vous souhaitez utiliser la ressource optimisée dans le cloud, Kerchunk, par opposition à la ressource d’origine répertoriée dans l’élément STAC. Vous devez également inclure l’argument subdataset_name , qui est le nom de la variable à afficher.

Configuration de rendu pour les ressources GRIB2

Le options champ de la configuration de rendu des ressources GRIB2 ressemble à l’exemple précédent, mais vous n’aurez pas besoin d’inclure l’argument subdataset_name . Cela est dû au fait que les données GRIB2 sont déjà structurées de manière optimale et référencées via leurs fichiers Index. Dans ce cas, l’argument assets représente la bande, ou la couche raster 2D, que vous souhaitez afficher. Voici un exemple de configuration de rendu 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
 }
]

Configuration de rendu pour les ressources Zarr

Le champ options pour la configuration de rendu des ressources Zarr est également similaire à celui de NetCDF et HDF5, mais dans l’argument assets, vous devrez inclure le paramètre « sel » qui vous permet de sélectionner une heure, un intervalle ou une autre variable permettant le rendu 2D d’une variable à un instant donné à partir d’un magasin Zarr multivariable. Vous devrez peut-être également inclure un paramètre « sel_method », pour vous assurer que la variable appropriée est sélectionnée même si la valeur entrée est légèrement désactivée. Vous pouvez en savoir plus sur ce paramètre « sel » dans la documentation publique de la bibliothèque de lecture de données multidimensionnelles Python utilisée dans le back-end Planetary Computer Pro, Xarray. Voici un exemple de configuration pour la restitution Zarr :

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

Visualiser les ressources de cube de données dans l’Explorateur

Une fois que vos ressources de cube de données sont ingérées et configurées, vous pouvez les visualiser dans l’Explorateur de Planetary Computer Pro. Vous pouvez suivre un guide pas à pas pour utiliser l’Explorateur dans le guide de démarrage rapide : Utilisez l’Explorateur dans Microsoft Planetary Computer Pro.

Bien que Microsoft Planetary Computer Pro inclut un générateur de tuiles qui peut être utilisé pour visualiser certaines ressources de cubes de données, il existe des mises en garde à noter pour chaque type de données pris en charge.

Visualisation NetCDF et HDF5

Tous les ensembles de données NetCDF pouvant être importés dans Microsoft Planetary Computer ne sont pas compatibles avec le visualiseur Planetary Computer Pro. Un jeu de données doit avoir des axes X et Y, des coordonnées de latitude et de longitude, ainsi que des dimensions spatiales et des limites à visualiser. Par exemple, un jeu de données dans lequel la latitude et la longitude sont des variables, mais pas des coordonnées, n’est pas compatible avec le tiler de Planetary Computer Pro.

Avant de tenter de visualiser votre jeu de données NetCDF ou HDF5, vous pouvez utiliser les éléments suivants pour vérifier s’il répond aux exigences.

  1. Installer les dépendances requises

    pip install xarray[io] rioxarray cf_xarray
    
  2. Exécutez la fonction suivante :

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

Visualisation GRIB2

Les ressources GRIB2 qui ont été ingérées dans Microsoft Planetary Computer Pro peuvent être visualisées dans l’Explorateur tant qu’elles ont un fichier Index associé (.idx) stocké dans le même conteneur de stockage d’objets blob. Le fichier d’index est généré pendant l’ingestion et est requis pour un accès et un rendu optimaux des données GRIB2.

Visualisation de Zarr

Les actifs Zarr ingérés dans Microsoft Planetary Computer Pro peuvent être visualisés dans l'Explorateur, à condition que la configuration de rendu spécifie quelle variable et quelle tranche de temps à rendre à l'aide du paramètre sel dans le champ options. Si vous ne le faites pas, l’Explorateur tente d’afficher toutes les variables et tranches de temps du magasin Zarr à la fois, ce qui entraîne le blocage de l’Explorateur.

La taille du magasin Zarr et des segments spatiaux aura également un impact sur les performances. Il est recommandé de maintenir la taille totale d’un stockage Zarr sous 2 Go, et chaque segment inférieur à 100 Mo pour garantir des performances optimales du générateur de mosaïques.

Curseur de temps pour la visualisation du cube de données

Si vos ressources de cube de données ont un composant temporel, vous pouvez utiliser le curseur de temps dans l’Explorateur pour visualiser les modifications au fil du temps. Le curseur de temps s'affiche automatiquement si vos éléments STAC contiennent des ressources avec une dimension time comprenant un champ extent et un champ step.

 [!REMARQUE] Nous ne proposons actuellement pas de prise en charge du curseur temporel pour les ressources Zarr. En raison de cela, il est essentiel de spécifier les tranches de temps que vous souhaitez visualiser dans la configuration de rendu. Si vous ne le faites pas, l’Explorateur tentera d’afficher toutes les tranches temporelles du magasin Zarr à la fois, ce qui entraînera son blocage.