Utiliser des données raster pour analyser la température

Ce tutoriel explique comment effectuer une analyse géospatiale sur des données raster.

Objectifs

  • Rechercher des données Google Earth Engine disponibles publiquement dans BigQuery Sharing (anciennement Analytics Hub).
  • Utiliser la ST_REGIONSTATS fonction pour calculer la température moyenne dans chaque pays à un moment donné.
  • Visualiser les résultats dans BigQuery Geo Viz, un outil Web permettant de visualiser des données géospatiales dans BigQuery à l'aide des API Google Maps.

Coûts

Dans ce tutoriel, vous utilisez les composants facturables suivants de Google Cloud:

Avant de commencer

Nous vous recommandons de créer un Google Cloud projet pour ce tutoriel. Assurez-vous de disposer des rôles requis pour suivre ce tutoriel.

Configurer un Google Cloud projet

  1. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Rôles requis

Pour obtenir les autorisations nécessaires pour effectuer les tâches de ce tutoriel, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour effectuer les tâches décrites dans ce tutoriel. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour effectuer les tâches décrites dans ce tutoriel :

  • earthengine.computations.create
  • serviceusage.services.use
  • bigquery.datasets.create

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

S'abonner à un ensemble de données

Pour trouver l'ensemble de données utilisé dans ce tutoriel, procédez comme suit :

  1. Accédez à la page Sharing (Analytics Hub) (Partage (Analytics Hub)).

    Accéder à Sharing (Analytics Hub)

  2. Cliquez sur Search listings (Rechercher des fiches).

  3. Dans le champ Search for listings (Rechercher des fiches), saisissez "ERA5-Land Daily Aggregated".

  4. Cliquez sur le résultat. Un volet d'informations s'ouvre avec des informations sur l'ensemble de données de réanalyse du climat ERA5-Land, y compris une description, un lien vers des informations sur les bandes, la disponibilité, la taille des pixels et les conditions d'utilisation.

  5. Cliquez sur Subscribe (S'abonner).

  6. Facultatif : Mettez à jour le Project (Projet).

  7. Remplacez le Linked dataset name (Nom de l'ensemble de données associé) par era5_climate_tutorial.

  8. Cliquez sur Save (Enregistrer). L'ensemble de données associé est ajouté à votre projet et contient une seule table appelée climate.

Rechercher l'ID raster

Chaque ligne de la table era5_climate_tutorial.climate contient des métadonnées pour une image raster contenant des données climatiques pour un jour donné. Exécutez la requête suivante pour extraire l'ID raster de l'image raster du 1er janvier 2025 :

SELECT
  assets.image.href
FROM
  `era5_climate_tutorial.climate`
WHERE
  properties.start_datetime = '2025-01-01';

Le résultat est ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101. Dans la section suivante, vous l'utiliserez pour l'argument raster_id de la fonction ST_REGIONSTATS.

Calculer la température moyenne

Exécutez la requête suivante pour calculer la température moyenne de chaque pays le 1er janvier 2025 à l'aide de la ST_REGIONSTATS fonction :

WITH SimplifiedCountries AS (
  SELECT
    ST_SIMPLIFY(geometry, 10000) AS simplified_geometry,
    names.primary AS name
  FROM
    `bigquery-public-data.overture_maps.division_area`
  WHERE
    subtype = 'country'
)
SELECT
  sc.simplified_geometry AS geometry,
  sc.name,
  ST_REGIONSTATS(
    sc.simplified_geometry,
    'ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101',
    'temperature_2m'
  ).mean - 273.15 AS mean_temperature
FROM
  SimplifiedCountries AS sc
ORDER BY
  mean_temperature DESC;

Cette requête s'exécute sur la table division_area disponible publiquement, qui contient des valeurs GEOGRAPHY représentant les limites de différentes régions de la planète, y compris les pays. La fonction ST_REGIONSTATS utilise la bande temerature_2m de l'image raster, qui contient la température de l'air à 2 mètres au-dessus de la surface terrestre au niveau du pixel donné.

Visualiser les résultats de la requête dans BigQuery

Pour visualiser vos résultats dans BigQuery, procédez comme suit :

  1. Dans le volet Query results (Résultats de la requête), cliquez sur l'onglet Visualization (Visualisation).

  2. Pour Data column (Colonne de données), sélectionnez mean_temperature.

    Une carte du monde s'affiche, stylisée par un dégradé de couleurs pour la température moyenne de chaque pays.

Carte des pays colorés en fonction de la température moyenne

Visualiser les résultats de la requête dans Geo Viz

Vous pouvez également visualiser vos résultats à l'aide de BigQuery Geo Viz.

Lancer Geo Viz et s'authentifier

Avant d'utiliser Geo Viz, vous devez vous authentifier et autoriser l'accès aux données dans BigQuery.

Pour configurer Geo Viz, procédez comme suit :

  1. Ouvrez l'outil Web Geo Viz.

    Ouvrir Geo Viz

    Vous pouvez également cliquer sur Open in > GeoViz (Ouvrir dans > GeoViz) dans le volet Query results (Résultats de la requête).

  2. À l'étape 1, Query (Requête), cliquez sur Authorize (Autoriser).

  3. Dans la boîte de dialogue Choose an account (Choisir un compte), cliquez sur votre compte Google.

  4. Dans la boîte de dialogue d'accès, cliquez sur Allow (Autoriser) pour permettre à Geo Viz d'accéder à vos données BigQuery.

Exécuter votre requête dans Geo Viz

Une fois que vous vous êtes authentifié et que vous avez accordé l'accès, l'étape suivante consiste à exécuter la requête dans Geo Viz.

Pour exécuter la requête, procédez comme suit :

  1. À l'étape 1, sous Select data (Sélectionner des données), saisissez l'ID de votre projet dans le champ Project ID (ID du projet) .

  2. Dans la fenêtre de requête, saisissez la requête GoogleSQL suivante. Si vous avez ouvert Geo Viz à partir des résultats de votre requête, ce champ est déjà renseigné avec votre requête.

    WITH SimplifiedCountries AS (
      SELECT
        ST_SIMPLIFY(geometry, 10000) AS simplified_geometry,
        names.primary AS name
      FROM
        `bigquery-public-data.overture_maps.division_area`
      WHERE
        subtype = 'country'
    )
    SELECT
      sc.simplified_geometry AS geometry,
      sc.name,
      ST_REGIONSTATS(
        sc.simplified_geometry,
        'ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101',
        'temperature_2m'
      ).mean - 273.15 AS mean_temperature
    FROM
      SimplifiedCountries AS sc
    ORDER BY
      mean_temperature DESC;
    
  3. Cliquez sur Run (Exécuter).

Appliquer des styles

La section Style fournit une liste de styles visuels pour la personnalisation. Pour en savoir plus sur chaque style, consultez la section Mettre en forme votre visualisation.

Pour mettre en forme votre carte, procédez comme suit :

  1. Pour ouvrir le panneau fillColor, cliquez sur l'étape 3, Style.

  2. Cliquez sur le bouton Data-driven (Piloté par les données) pour l'activer.

  3. Pour Function (Fonction), choisissez linear (linéaire).

  4. Pour Field (Champ), choisissez mean_temperature.

  5. Pour Domain (Domaine), saisissez -20 dans la première case et 32 dans la seconde.

  6. Pour Range (Plage), cliquez sur la première case et saisissez #0006ff dans la case Hex, puis cliquez sur la deuxième case et saisissez #ff0000. Cela modifie la couleur de chaque pays en fonction de sa température moyenne le 1er janvier 2025. Le bleu indique une température plus froide et le rouge une température plus chaude.

  7. Cliquez sur fillOpacity.

  8. Dans le champ Value (Valeur), saisissez .5.

  9. Cliquez sur Apply style (Appliquer le style).

  10. Regardez votre carte. Si vous cliquez sur un pays, son nom, sa température moyenne et sa géométrie simplifiée s'affichent.

    Carte avec des pays colorés en fonction de la température moyenne.

Effectuer un nettoyage

  1. Dans la Google Cloud console, accédez à la page Gérer les ressources.

    Accéder à la page "Gérer les ressources"

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez Arrêter pour supprimer le projet.

Étape suivante