Iniziare a utilizzare l'analisi geospaziale

L'analisi geospaziale in BigQuery ti consente di analizzare e visualizzare facilmente i dati basati sulla posizione. La conversione delle coordinate di latitudine e longitudine non elaborate in punti geografici ti consente di eseguire query spaziali e tracciare mappe interattive direttamente dal tuo data warehouse.

Obiettivi

  • Utilizza una funzione di analisi geospaziale per convertire le colonne di latitudine e longitudine in punti geografici.
  • Esegui una query che trovi tutte le stazioni Citi Bike con più di 30 biciclette disponibili per il noleggio.
  • Visualizza i risultati in BigQuery.
  • Visualizza i risultati in BigQuery Geo Viz.

Costi

Questo tutorial utilizza componenti fatturabili di Google Cloud, tra cui BigQuery.

Ti vengono addebitati i costi per:

Prima di iniziare

  1. 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

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

  3. BigQuery viene abilitato automaticamente nei nuovi progetti. Per attivare BigQuery in un progetto esistente, vai a

    Abilita l'API BigQuery, se non è già abilitata.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

Esplora i dati campionati

Questo tutorial utilizza un set di dati disponibile tramite il programma per i set di dati pubblici diGoogle Cloud . Un set di dati pubblico è un set di dati archiviato in BigQuery e reso disponibile al pubblico. I set di dati pubblici sono set di dati ospitati da BigQuery a cui puoi accedere e che puoi integrare nelle tue applicazioni. Google paga per l'archiviazione di questi set di dati e fornisce l'accesso pubblico ai dati utilizzando un progetto. Paghi solo per le query che esegui sui dati (il primo TB al mese è senza costi, in base ai dettagli dei prezzi delle query).

Il set di dati Citi Bike Trips di New York

NYC Citi Bike Trips

Citi Bike è il più grande programma di bike sharing degli Stati Uniti, con 10.000 biciclette e 600 stazioni a Manhattan, Brooklyn, Queens e Jersey City. Questo set di dati include i percorsi di Citi Bike dal lancio del servizio a settembre 2013 e viene aggiornato quotidianamente. I dati vengono elaborati da Citi Bike per rimuovere i percorsi effettuati dal personale per la manutenzione e l'ispezione del sistema e tutti i percorsi di durata inferiore a 60 secondi, che sono considerati false partenze.

Puoi iniziare a esplorare questi dati nella console BigQuery visualizzando i dettagli della tabella citibike_stations:

Vai allo schema citibike_stations

Tre colonne di questa tabella sono pertinenti per questo tutorial:

  • bike_stations.longitude: la longitudine di una stazione. I valori sono longitudini WGS 84 valide nel formato di gradi decimali.
  • bike_stations.latitude: la latitudine di una stazione. I valori sono latitudini WGS 84 valide nel formato di gradi decimali.
  • num_bikes_available: il numero di biciclette disponibili per il noleggio.

Esegui una query sulle stazioni di bike sharing con più di 30 biciclette disponibili

In questa sezione del tutorial, eseguirai una query GoogleSQL che trova tutte le stazioni Citi Bike di New York City con più di 30 biciclette disponibili per il noleggio.

Dettagli query

La seguente query GoogleSQL viene utilizzata per trovare le stazioni Citi Bike con più di 30 biciclette.

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

Le clausole della query eseguono le seguenti operazioni:

  • SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
    La clausola SELECT seleziona la colonna num_bikes_available e utilizza la funzione ST_GeogPoint per convertire i valori nelle colonne latitude e longitude in tipi GEOGRAPHY (punti).
  • FROM `bigquery-public-data.new_york.citibike_stations`
    La clausola FROM specifica la tabella su cui viene eseguita la query: citibike_stations.
  • WHERE num_bikes_available > 30
    La clausola WHERE filtra i valori nella colonna num_bikes_available per includere solo le stazioni con più di 30 biciclette.

Esegui la query

Per eseguire la query utilizzando la console Google Cloud :

  1. Vai alla pagina BigQuery nella console Google Cloud .

    Vai alla pagina BigQuery

  2. Inserisci la seguente query GoogleSQL nell'area di testo Editor di query.

    -- 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. Fai clic su Esegui.

    Il completamento della query richiede alcuni istanti. Dopo l'esecuzione della query, i risultati vengono visualizzati nel riquadro Risultati query.

    Risultati della query sulla stazione di bike sharing.

Visualizza i risultati in BigQuery

Per visualizzare i risultati in una mappa interattiva, segui questi passaggi:

  1. Nel riquadro Risultati delle query, fai clic su Visualizzazione.

    Visualizzazione delle posizioni delle stazioni di biciclette.

    I punti sulla mappa mostrano le posizioni di ogni stazione di biciclette.

  2. Puoi applicare alla mappa uno stile uniforme o basato sui dati. Per visualizzare il numero di biciclette disponibili in ogni stazione, per Colonna dati seleziona num_bikes_available.

  3. Per migliorare la visibilità, prova a regolare l'Opacità, il Colore o la Dimensione punto. Se i dati contengono outlier, puoi modificare i valori Min e Max. Le aree geografiche con valori al di fuori di questo intervallo vengono comunque visualizzate sulla mappa, ma non viene applicato alcun colore.

  4. Per visualizzare le proprietà di un'area geografica, fai clic su di essa.

  5. Per visualizzare la mappa in modalità satellite, fai clic su Satellite.

Visualizzazione stilizzata delle posizioni delle stazioni di biciclette.

Visualizza i risultati della query in Geo Viz

Puoi anche visualizzare i risultati utilizzando BigQuery Geo Viz, uno strumento web per la visualizzazione di dati geospaziali in BigQuery utilizzando le API di Google Maps.

Avvia Geo Viz ed esegui l'autenticazione

Prima di utilizzare Geo Viz, devi autenticarti e concedere l'accesso ai dati in BigQuery.

Per configurare Geo Viz:

  1. Apri lo strumento web Geo Viz.

    Apri lo strumento web GeoViz

    Potresti dover attivare i cookie per autorizzare e utilizzare questo strumento.

  2. Nel passaggio 1, Query, fai clic su Autorizza.

    Pulsante di autorizzazione di Geo Viz.

  3. Nella finestra di dialogo Scegli un account, fai clic sul tuo Account Google.

    Finestra di dialogo per la scelta dell'account.

  4. Nella finestra di dialogo di accesso, fai clic su Consenti per consentire a Geo Viz di accedere ai tuoi dati BigQuery.

    Finestra di dialogo Consenti l'accesso.

Esegui una query GoogleSQL sui dati geospaziali

Dopo aver eseguito l'autenticazione e concesso l'accesso, il passaggio successivo consiste nell'eseguire la query in Geo Viz.

Per eseguire la query:

  1. Per il primo passaggio, Seleziona i dati, inserisci l'ID progetto nel campo ID progetto.

  2. Nella finestra di query, inserisci la seguente query GoogleSQL.

    -- 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. Fai clic su Esegui.

  4. Al termine della query, fai clic su Mostra risultati. Puoi anche fare clic sul passaggio due Definisci colonne.

    Visualizza i risultati.

  5. In questo modo, passerai al passaggio 2. Nel secondo passaggio, per Colonna geometria, scegli WKT. In questo modo, i punti corrispondenti alle stazioni di bike sharing vengono tracciati sulla mappa.

    Risultati mappati.

Formatta la visualizzazione

La sezione Stile fornisce un elenco di stili visivi per la personalizzazione. Alcune proprietà si applicano solo a determinati tipi di dati. Ad esempio, circleRadius interessa solo i punti.

Le proprietà di stile supportate includono:

  • fillColor. Il colore di riempimento di un poligono o di un punto. Ad esempio, le funzioni "linear" o "interval" possono essere utilizzate per mappare i valori numerici a una mappa a gradiente di colore.
  • fillOpacity. L'opacità di riempimento di un poligono o di un punto. I valori devono essere compresi nell'intervallo tra 0 e 1, dove 0 = trasparente e 1 = opaco.
  • strokeColor. Il colore del tratto o del contorno di un poligono o di una linea.
  • strokeOpacity. L'opacità del tratto o del contorno del poligono o della linea. I valori devono essere compresi tra 0 e 1, dove 0 = trasparente e 1 = opaco.
  • strokeWeight. La larghezza del tratto o del contorno in pixel di un poligono o di una linea.
  • circleRadius. Il raggio del cerchio che rappresenta un punto in pixel. Ad esempio, è possibile utilizzare una funzione "lineare" per mappare i valori numerici alle dimensioni dei punti per creare uno stile di grafico a dispersione.

A ogni stile può essere assegnato un valore globale (applicato a ogni risultato) o un valore basato sui dati (applicato in modi diversi a seconda dei dati in ogni riga dei risultati). Per i valori basati sui dati, per determinare il risultato viene utilizzato quanto segue:

  • funzione. Una funzione utilizzata per calcolare un valore di stile dai valori di un campo.
  • identity. Il valore dei dati di ogni campo viene utilizzato come valore di stile.
  • categorical. I valori dei dati di ogni campo elencato nel dominio vengono mappati uno a uno con gli stili corrispondenti nell'intervallo.
  • interval. I valori dei dati di ogni campo vengono arrotondati per difetto al valore più vicino nel dominio e poi formattati con lo stile corrispondente nell'intervallo.
  • linear. I valori dei dati di ogni campo vengono interpolati in modo lineare tra i valori nel dominio e poi viene applicato uno stile con una combinazione degli stili corrispondenti nell'intervallo.
  • field. Il campo specificato nei dati viene utilizzato come input per la funzione di stile.
  • dominio. Un elenco ordinato di valori di input di esempio di un campo. Gli input di esempio (dominio) vengono accoppiati con gli output di esempio (intervallo) in base alla funzione specificata e vengono utilizzati per dedurre i valori di stile per tutti gli input (anche quelli non elencati nel dominio). I valori nel dominio devono avere lo stesso tipo (testo, numero e così via) dei valori del campo che stai visualizzando.
  • range. Un elenco di valori di output di esempio per la regola di stile. I valori nell'intervallo devono avere lo stesso tipo (colore o numero) della proprietà di stile che stai controllando. Ad esempio, l'intervallo della proprietà fillColor deve contenere solo colori.

Per formattare la mappa:

  1. Fai clic su Aggiungi stili nel passaggio 2 o fai clic sul passaggio 3 Stile.

  2. Modifica il colore dei punti. Fai clic su fillColor.

  3. Nel campo Valore, inserisci #0000FF, il codice colore HTML per il blu.

  4. Fai clic su Applica stile.

    Colore di riempimento.

  5. Esamina la mappa. Se fai clic su uno dei punti, viene visualizzato il valore.

    Dettagli del punto sulla mappa.

  6. Fai clic su fillOpacity.

  7. Nel campo Valore, inserisci 0.5 e fai clic su Applica stile.

    Opacità riempimento.

  8. Esamina la mappa. Il colore di riempimento dei punti ora è semitrasparente.

    Mappa con punti semitrasparenti.

  9. Modifica le dimensioni dei punti in base al numero di biciclette disponibili. Fai clic su circleRadius.

  10. Nel riquadro circleRadius:

    1. Fai clic su Basato sui dati.
    2. Per Funzione, scegli lineare.
    3. In Campo, scegli num_bikes_available.
    4. In Dominio, inserisci 30 nella prima casella e 60 nella seconda.
    5. In Intervallo, inserisci 5 nella prima casella e 20 nella seconda.

      Raggio del cerchio.

  11. Esamina la mappa. Il raggio di ogni cerchio ora corrisponde al numero di biciclette disponibili in quella località.

    Mappa finale.

  12. Chiudi Geo Viz.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

  • Puoi eliminare il progetto che hai creato.
  • In alternativa, puoi conservare il progetto per un utilizzo futuro.

Per eliminare il progetto:

  1. Nella console Google Cloud , vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.

Passaggi successivi