Utiliser les analyses géospatiales pour calculer le trajet d'un ouragan

Ce tutoriel présente les analyses géospatiales. Les analyses géospatiale vous permet d'analyser et de visualiser facilement des données géospatiales dans BigQuery.

Objectifs

Dans ce tutoriel, vous allez :

  • utiliser une fonction d'analyse géospatiale pour convertir les colonnes de latitude et de longitude en points géographiques ;
  • Exécuter une requête qui trace le trajet d'un ouragan.
  • Visualiser vos résultats dans BigQuery
  • visualiser vos résultats dans BigQuery Geo Viz.

Coûts

BigQuery est un produit payant. Des coûts d'utilisation vous seront donc facturés dans le cadre de ce tutoriel. BigQuery offre des ressources sans frais jusqu'à une limite spécifique. Pour en savoir plus, consultez Opérations et niveau sans frais de BigQuery.

Avant de commencer

Avant de commencer ce tutoriel, créez ou sélectionnez un projet à l'aide de la console Google Cloud .

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. 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. 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

  4. BigQuery est automatiquement activé dans les nouveaux projets. Pour activer BigQuery dans un projet existant, accédez à

    Activez l'API BigQuery.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer l'API

  5. Facultatif : Activez la facturation pour le projet. Les étapes décrites dans ce document demeurent valables, même si vous ne souhaitez pas activer la facturation ou fournir une carte de crédit. BigQuery fournit un bac à sable permettant d'accomplir les étapes. Pour en savoir plus, consultez la page Activer le bac à sable BigQuery.

Explorer les exemples de données

Ce tutoriel utilise un ensemble de données disponible via le programme d'ensembles de données publicsGoogle Cloud . Un ensemble de données public est un ensemble de données stocké dans BigQuery et mis à la disposition du grand public. Les ensembles de données publics sont des ensembles de données que BigQuery héberge afin que vous puissiez y accéder et les intégrer à vos applications. Google prend en charge le stockage de ces ensembles de données et fournit un accès public aux données en ayant recours à un projet. Vous ne payez que pour les requêtes que vous effectuez sur les données (le premier To par mois est sans frais, voir notre grille tarifaire).

Ensemble de données Global Hurricane Tracks (IBTrACS)

Ensemble de données Global Hurricane Tracks (IBTrACS)

L'historique de position et d'intensité pour les trajectoires des cyclones tropicaux (CT) majeurs est fourni par la base de données IBTrACS (International Best Track Archive for Climate Stewardship) de l'agence américaine NOAA (National Oceanic and Atmospheric Administration) en charge de l'observation des océans et du climat. Les cyclones tropicaux sont appelés ouragans dans les bassins de l'Atlantique nord et du nord-est du Pacifique, typhons dans le nord-ouest du Pacifique, cyclones au nord et au sud de l'Océan Indien, et cyclones tropicaux dans le sud-ouest du Pacifique.

La base IBTrACS collecte des données sur les CT rapportées par les centres de surveillance internationaux chargés de prévoir et d'émettre des rapports sur les CT (elle comprend également des ensembles de données historiques importants). IBTrACS comprend des données provenant de 9 pays différents. Historiquement, les données décrivant ces systèmes incluent également les meilleures estimations de leur trajectoire et de leur intensité (d'où le terme "best track" dans l'intitulé de la base).

Vous pouvez commencer à explorer ces données dans la console Google Cloud en affichant les détails de la table hurricanes (ouragans) :

Accéder au schéma des ouragans

Exécuter une requête sur la trajectoire de l'ouragan Maria en 2017

Dans cette section du tutoriel, vous allez exécuter une requête GoogleSQL qui obtient le trajet de l'ouragan Maria au cours de la saison 2017. Pour tracer le parcours de l'ouragan, vous recherchez l'emplacement de l'ouragan à différents moments.

Détails de la requête

La requête GoogleSQL suivante permet de définir le trajet de l'ouragan Maria.

SELECT
  ST_GeogPoint(longitude, latitude) AS point,
  name,
  iso_time,
  dist2land,
  usa_wind,
  usa_pressure,
  usa_sshs,
  (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt,
  (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt
FROM
  `bigquery-public-data.noaa_hurricanes.hurricanes`
WHERE
  name LIKE '%MARIA%'
  AND season = '2017'
  AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'),
    ST_GeogPoint(longitude, latitude), 10)
ORDER BY
  iso_time ASC

Les clauses de la requête effectuent les opérations suivantes :

  • SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt
    La clause SELECT sélectionne toutes les données météorologiques de la tempête et utilise la fonction ST_GeogPoint pour convertir les valeurs des colonnes latitude et longitude en types GEOGRAPHY (points).
  • FROM bigquery-public-data.noaa_hurricanes.hurricanes
    La clause FROM spécifie la table interrogée : hurricanes.
  • WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10)
    La clause WHERE filtre les données uniquement sur les points de l'Atlantique correspondant à l'ouragan Maria de la saison cyclonique 2017.
  • ORDER BY iso_time ASC
    La clause ORDER BY ordonne les points pour qu'ils forment un cheminement chronologique de la tempête.

Exécuter la requête

Pour exécuter la requête à l'aide de la console Google Cloud  :

  1. Accédez à la page BigQuery de la console Google Cloud .

    Accéder à la page "BigQuery"

  2. Saisissez la requête GoogleSQL suivante dans la zone de texte Éditeur de requête.

    SELECT
      ST_GeogPoint(longitude, latitude) AS point,
      name,
      iso_time,
      dist2land,
      usa_wind,
      usa_pressure,
      usa_sshs,
      (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt,
      (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt
    FROM
      `bigquery-public-data.noaa_hurricanes.hurricanes`
    WHERE
      name LIKE '%MARIA%'
      AND season = '2017'
      AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'),
        ST_GeogPoint(longitude, latitude), 10)
    ORDER BY
      iso_time ASC
  3. Cliquez sur Exécuter.

    L'exécution de la requête peut prendre quelques instants. Une fois la requête exécutée, les résultats apparaissent dans le volet Query results (Résultats de la requête).

    Résultats de la requête sur l'ouragan Maria dans BigQuery

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

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

  1. Pour visualiser vos résultats dans BigQuery, cliquez sur Visualisation dans le volet Résultats de la requête.

  2. Pour Colonne de données, sélectionnez usa_wind.

    Une carte s'affiche avec des points indiquant l'emplacement de l'ouragan au fil du temps, avec un dégradé de couleurs pour la vitesse du vent.

  3. Facultatif : Pour ajuster la visibilité des points, définissez Min sur 0 et sélectionnez un autre dégradé de couleurs dans la liste Couleur.

Visualisation des résultats de la requête sur l'ouragan Maria dans BigQuery

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

Vous pouvez également visualiser les résultats à l'aide de BigQuery Geo Viz, un outil Web de visualisation des données géospatiales dans BigQuery utilisant les API Google Maps.

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 l'outil Web Geo Viz

  2. À l'étape 1, Select data (Sélectionner les données), cliquez sur Authorize (Autoriser).

    Bouton d'autorisation Geo Viz

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

    Boîte de dialogue de choix du compte

  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.

    Autoriser l'accès à la boîte de dialogue Geo Viz

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 Sélectionner des données, saisissez l'ID de votre projet dans le champ ID du projet.

  2. Dans la fenêtre de requête, saisissez la requête GoogleSQL suivante.

    SELECT
      ST_GeogPoint(longitude, latitude) AS point,
      name,
      iso_time,
      dist2land,
      usa_wind,
      usa_pressure,
      usa_sshs,
      (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt,
      (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt
    FROM
      `bigquery-public-data.noaa_hurricanes.hurricanes`
    WHERE
      name LIKE '%MARIA%'
      AND season = '2017'
      AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'),
        ST_GeogPoint(longitude, latitude), 10)
    ORDER BY
      iso_time ASC
  3. Cliquez sur Exécuter.

  4. Lorsque la requête est terminée, cliquez sur Show results (Voir les résultats). Vous pouvez également cliquer sur l'étape 2 Data (Données).

  5. Cela vous amènera à la deuxième étape. Pour cette deuxième étape, choisissez un point pour la colonne Géométrie. Cela aura pour effet de tracer les points correspondant au trajet de l'ouragan Maria.

    Résultats mappés dans BigQuery Geo Viz

Mettre en forme votre visualisation dans Geo Viz

La section Style fournit une liste de styles visuels pour la personnalisation. Pour en savoir plus sur les propriétés et les valeurs de style, consultez Mettre en forme votre visualisation.

Pour mettre en forme votre carte :

  1. Cliquez sur Ajouter des styles à l'étape 2 ou cliquez sur l'étape 3 Style.

  2. Changez la couleur de vos points. Cliquez sur fillColor.

  3. Dans le panneau fillColor :

    1. Cliquez sur Data driven (Basé sur les données).
    2. Pour Function (Fonction), choisissez linear (linéaire).
    3. Pour Field (Champ), choisissez usa_wind.
    4. Pour Domain (Domaine), saisissez 0 dans la première case et 150 dans la seconde.
    5. Pour Range (Plage), cliquez sur la première case et saisissez #0006ff dans la case Hex. Cliquez sur la seconde zone et saisissez #ff0000. Cela change la couleur du point en fonction de la vitesse du vent : bleu pour des vents plus légers et rouge pour des vents plus forts.

      Ajouter une couleur de remplissage dans BigQuery Geo Viz

  4. Regardez votre carte. Si vous maintenez le pointeur sur l'un de vos points, les données météorologiques du point s'affichent.

    Détails du point de la carte

  5. Cliquez sur fillOpacity.

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

    Format de l'opacité du remplissage de la carte dans BigQuery Geo Viz

  7. Regardez votre carte. La couleur de remplissage des points est maintenant semi-transparente.

  8. Changez la taille des points en fonction du rayon de l'ouragan. Cliquez sur circleRadius.

  9. Dans le panneau circleRadius :

    1. Cliquez sur Data driven (Basé sur les données).
    2. Pour Function (Fonction), choisissez linear (linéaire).
    3. Pour Field (Champ), choisissez radius_50kt.
    4. Pour Domain (Domaine), saisissez 0 dans la première case et 135 dans la seconde.
    5. Pour Range (Plage), saisissez 5 dans la première case et 135000 dans la seconde.

      Ajouter un rayon de cercle dans BigQuery Geo Viz

  10. Regardez votre carte. Le rayon de chaque point correspond désormais au rayon de l'ouragan.

    Carte finale de Geo Viz

  11. Fermez Geo Viz.

Nettoyer

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.

  • Supprimez le projet que vous avez créé.
  • Ou vous pouvez conserver le projet pour une utilisation future.

Pour supprimer le projet :

  1. Dans la console Google Cloud , 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 sur Arrêter pour supprimer le projet.

Étapes suivantes