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 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 gratuites jusqu'à une limite spécifique. Pour en savoir plus, consultez la section Opérations et versions gratuites de BigQuery.

Avant de commencer

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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

    Go to project selector

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

    Enable the BigQuery API.

    Enable the 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 Google Cloud Public Dataset. 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 gratuit - 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, procédez comme suit:

  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 Geo Viz

Vous pouvez ensuite 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. Certaines propriétés ne s'appliquent qu'à certains types de données. Par exemple, circleRadius ne s'applique qu'aux points.

Les propriétés de style acceptées incluent :

  • fillColor - La couleur de remplissage d'un polygone ou d'un point. Par exemple, les fonctions "linear" ou "interval" peuvent être utilisées pour faire correspondre des valeurs numériques avec un dégradé de couleurs.
  • fillOpacity - L'opacité de remplissage d'un polygone ou d'un point. Les valeurs doivent être comprises dans une plage de 0 à 1, où 0 = transparent et 1 = opaque.
  • strokeColor - La couleur du trait ou du contour d'un polygone ou d'une ligne.
  • strokeOpacity - L'opacité du trait ou du contour d'un polygone ou d'une ligne. Les valeurs doivent être comprises dans une plage de 0 à 1, où 0 = transparent et 1 = opaque.
  • strokeWeight - La largeur du trait ou du contour d'un polygone ou d'une ligne, en pixels.
  • circleRadius - Le rayon du cercle représentant un point, en pixels. Par exemple, une fonction "linear" peut être utilisée pour faire correspondre des valeurs numériques à des tailles de points pour créer un style de diagramme de dispersion.

Chaque style peut recevoir une valeur globale (appliquée à chaque résultat) ou une valeur dépendante des données (appliquée de différentes manières en fonction des données de chaque ligne de résultat). Pour les valeurs dépendantes des données, les éléments suivants sont utilisés pour déterminer le résultat :

  • fonction - Une fonction utilisée pour calculer une valeur de style à partir des valeurs d'un champ.
  • identité - La valeur de données de chaque champ est utilisée comme valeur du style.
  • catégorie - Les valeurs de données de chaque champ listé dans le domaine sont mappées une à une avec les styles correspondants dans la plage.
  • intervalle - Les valeurs de données de chaque champ sont arrondies à la valeur la plus proche du domaine et sont ensuite stylisées avec le style correspondant dans la plage.
  • linéaire - Les valeurs de données de chaque champ sont interpolées de manière linéaire dans la plage de valeurs du domaine et sont ensuite stylisées avec un mélange des styles correspondants dans la plage.
  • champ - Le champ spécifié dans les données est utilisé comme entrée de la fonction de style.
  • domaine : Une liste triée d'échantillons de valeurs d'entrée provenant d'un champ. Les échantillons d'entrées (domaine) sont associés à des échantillons de sorties (plage) sur la base de la fonction donnée, puis sont utilisés pour déduire des valeurs de style pour toutes les entrées (y compris celles qui ne figurent pas dans le domaine). Les valeurs du domaine doivent avoir le même type (texte, nombre, etc.) que les valeurs du champ affiché.
  • plage - Une liste d'exemples de valeurs de sortie pour la règle de style. Les valeurs comprises dans la plage doivent avoir le même type (couleur ou nombre) que la propriété de style que vous contrôlez. Par exemple, la plage associée à la propriété fillColor ne doit contenir que des couleurs.

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 d'un 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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Étape suivante