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.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
- BigQuery est automatiquement activé dans les nouveaux projets.
Pour activer BigQuery dans un projet existant, accédez à
Enable the BigQuery API.
- 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 via 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). Actuellement, la base 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 fonctionST_GeogPoint
pour convertir les valeurs des colonneslatitude
etlongitude
en typesGEOGRAPHY
(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:
Accédez à la page "BigQuery" de la console Google Cloud.
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
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).
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 :
Ouvrez l'outil Web Geo Viz.
À l'étape 1, Select data (Sélectionner les données), cliquez sur Authorize (Autoriser).
Dans la boîte de dialogue Choose an account (Choisir un compte), cliquez sur votre compte Google.
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 :
À l'étape 1, sous Sélectionner des données, saisissez l'ID de votre projet dans le champ ID du projet.
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
Cliquez sur Exécuter.
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).
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.
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 et1
= 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 et1
= 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 :
Cliquez sur Ajouter des styles à l'étape 2 ou cliquez sur l'étape 3 Style.
Changez la couleur de vos points. Cliquez sur fillColor.
Dans le panneau fillColor :
- Cliquez sur Data driven (Basé sur les données).
- Pour Function (Fonction), choisissez linear (linéaire).
- Pour Field (Champ), choisissez
usa_wind
. - Pour Domain (Domaine), saisissez
0
dans la première case et150
dans la seconde. 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.
Regardez votre carte. Si vous passez la souris sur l'un de vos points, les données météorologiques du point s'affichent.
Cliquez sur fillOpacity.
Dans le champ Value (Valeur), saisissez .5.
Regardez votre carte. La couleur de remplissage des points est maintenant semi-transparente.
Changez la taille des points en fonction du rayon de l'ouragan. Cliquez sur circleRadius.
Dans le panneau circleRadius :
- Cliquez sur Data driven (Basé sur les données).
- Pour Function (Fonction), choisissez linear (linéaire).
- Pour Field (Champ), choisissez
radius_50kt
. - Pour Domain (Domaine), saisissez
0
dans la première case et135
dans la seconde. Pour Range (Plage), saisissez
5
dans la première case et135000
dans la seconde.
Regardez votre carte. Le rayon de chaque point correspond désormais au rayon de l'ouragan.
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 :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étape suivante
- Pour en savoir plus sur la visualisation des options d'analyse géospatiale, consultez la page Visualiser des données géospatiales.
- Pour travailler avec des données géospatiales, consultez la page Utiliser des données géospatiales.
- Pour en savoir plus sur les fonctions de géographie que vous pouvez utiliser dans l'analyse géospatiale, consultez la page Fonctions de géographie dans GoogleSQL.