Premiers pas avec les SIG BigQuery

Ce tutoriel présente BigQuery SIG. BigQuery SIG permet d'analyser et de visualiser facilement des données géospatiales dans BigQuery.

Objectifs

Dans ce tutoriel, vous allez :

  • utiliser une fonction BigQuery SIG pour convertir les colonnes de latitude et de longitude en points géographiques ;
  • exécuter une requête qui trouve toutes les stations Citi Bike ayant plus de 30 vélos disponibles à la location ;
  • visualiser vos résultats dans BigQuery Geo Viz.

Coûts

Ce tutoriel utilise des composants facturables de Google Cloud, dont :

  • BigQuery

Des frais s'appliquent pour les opérations suivantes :

  • Interroger des données dans les ensembles de données publics BigQuery
    • Le premier To est gratuit chaque mois.
    • Si vous utilisez un tarif forfaitaire, les coûts des requêtes sont inclus dans le prix forfaitaire mensuel.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans la page de sélection du projet de la console GCP, sélectionnez ou créez un projet GCP.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform. Découvrez comment confirmer que la facturation est activée pour votre projet.

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

    Activer les API

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 Trajets Citi Bike effectués dans la ville de New York

Trajets Citi Bike effectués dans la ville de New York

Citi Bike est le plus grand programme de partage de vélos du pays, avec 10 000 vélos et 600 stations à Manhattan, Brooklyn, dans le Queens et à Jersey City. Cet ensemble de données inclut tous les trajets effectués via le service Citi Bike depuis son lancement en septembre 2013 et est mis à jour quotidiennement. Les données ont été traitées par Citi Bike pour supprimer les trajets effectués par le personnel chargé de la maintenance et de l'inspection du système, ainsi que les trajets de moins de 60 secondes, considérés comme de faux départs.

Vous pouvez commencer à explorer ces données dans la console BigQuery en affichant les détails de la table citibike_stations :

Accéder au schéma citibike_stations

Trois colonnes de cette table sont pertinentes pour ce tutoriel :

  • bike_stations.longitude : longitude d'une station. Les valeurs sont des longitudes WGS 84 valides en degrés décimaux.
  • bike_stations.latitude : latitude d'une station. Les valeurs sont des latitudes WGS 84 valides en degrés décimaux.
  • num_bikes_available : nombre de vélos disponibles à la location.

Rechercher les stations de vélo avec plus de 30 vélos disponibles

Dans cette section du tutoriel, vous exécutez une requête SQL standard qui recherche toutes les stations Citi Bike de New York ayant plus de 30 vélos disponibles.

Détails des requêtes

La requête SQL standard suivante permet de trouver les stations Citi Bike disposant de plus de 30 vélos.

SELECT
  ST_GeogPoint(longitude, latitude)  AS WKT,
  num_bikes_available
FROM
  `bigquery-public-data.new_york.citibike_stations`
WHERE num_bikes_available > 30

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

  • SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
    La clause SELECT sélectionne la colonne num_bikes_available et utilise la fonction ST_GeogPoint pour convertir les valeurs des colonnes latitude et longitude en types GEOGRAPHY (points).
  • FROM `bigquery-public-data.new_york.citibike_stations`
    La clause FROM spécifie la table interrogée : citibike_stations.
  • WHERE num_bikes_available > 30
    La clause WHERE filtre les valeurs de la colonne num_bikes_available pour ne retenir que les stations comptant plus de 30 vélos.

Exécuter la requête

Pour exécuter la requête à l'aide de l'interface utilisateur Web de BigQuery proposée dans Cloud Console, procédez comme suit :

  1. Accédez à Cloud Console.

    Accéder à Cloud Console

  2. Saisissez la requête suivante en SQL standard dans la zone de texte Éditeur de requête.

    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  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 les stations de vélo

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 mettre en place Geo Viz :

  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.

    Boîte de dialogue d'autorisation d'accès

Exécuter une requête SQL standard sur des données SIG

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 :

  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 SQL standard suivante.

    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. Cliquez sur Run (Exécuter).

  4. Lorsque la requête est terminée, cliquez sur See results (Consultez les résultats). Vous pouvez également cliquer sur l'étape 2, Define columns (Définir des colonnes).

    Consulter les résultats

  5. Cela vous amènera à la deuxième étape. À l'étape 2, pour le champ Geometry column (Colonne Géométrie), sélectionnez WKT. Les points correspondant aux stations de vélo sont représentés sur la carte.

    Résultats cartographiés

Mettre en forme votre affichage

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 afin de 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 Add style (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 champ Value (Valeur), saisissez #0000FF, qui est le code couleur HTML pour le bleu.

    Couleur de remplissage

  4. Regardez votre carte. Si vous passez la souris sur l'un des points, la valeur s'affiche.

    Détails d'un point de la carte

  5. Cliquez sur fillOpacity.

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

    Opacité du remplissage

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

    Carte avec points semi-transparents

  8. Modifiez la taille des points en fonction du nombre de vélos disponibles. 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 num_bikes_available.
    4. Pour Domain (Domaine), saisissez 30 dans la première case et 60 dans la seconde.
    5. Pour Range (Plage), saisissez 5 dans la première case et 20 dans la seconde.

      Rayon de cercle

  10. Regardez votre carte. Le rayon de chaque cercle correspond désormais au nombre de vélos disponibles à chaque endroit.

    Carte finale

  11. Fermez Geo Viz.

Nettoyer

Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud Platform, procédez comme suit :

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

Pour supprimer le projet, procédez comme suit :

  1. Dans la console GCP, 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