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:
- Esecuzione di query sui dati nei set di dati pubblici di BigQuery.
- Il primo TB al mese non è soggetto a costi aggiuntivi.
- Se utilizzi i prezzi basati sulla capacità, i costi delle query sono inclusi nel prezzo basato sulla capacità.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 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.
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
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
SELECTseleziona la colonnanum_bikes_availablee utilizza la funzioneST_GeogPointper convertire i valori nelle colonnelatitudeelongitudein tipiGEOGRAPHY(punti).
FROM `bigquery-public-data.new_york.citibike_stations`- La clausola
FROMspecifica la tabella su cui viene eseguita la query:citibike_stations.
WHERE num_bikes_available > 30- La clausola
WHEREfiltra i valori nella colonnanum_bikes_availableper includere solo le stazioni con più di 30 biciclette.
Esegui la query
Per eseguire la query utilizzando la console Google Cloud :
Vai alla pagina BigQuery nella console Google Cloud .
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
Fai clic su Esegui.
Il completamento della query richiede alcuni istanti. Dopo l'esecuzione della query, i risultati vengono visualizzati nel riquadro Risultati query.
Visualizza i risultati in BigQuery
Per visualizzare i risultati in una mappa interattiva, segui questi passaggi:
Nel riquadro Risultati delle query, fai clic su Visualizzazione.
I punti sulla mappa mostrano le posizioni di ogni stazione di biciclette.
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.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.
Per visualizzare le proprietà di un'area geografica, fai clic su di essa.
Per visualizzare la mappa in modalità satellite, fai clic su Satellite.
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:
Apri lo strumento web Geo Viz.
Potresti dover attivare i cookie per autorizzare e utilizzare questo strumento.
Nel passaggio 1, Query, fai clic su Autorizza.
Nella finestra di dialogo Scegli un account, fai clic sul tuo Account Google.
Nella finestra di dialogo di accesso, fai clic su Consenti per consentire a Geo Viz di accedere ai tuoi dati BigQuery.
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:
Per il primo passaggio, Seleziona i dati, inserisci l'ID progetto nel campo ID progetto.
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
Fai clic su Esegui.
Al termine della query, fai clic su Mostra risultati. Puoi anche fare clic sul passaggio due Definisci colonne.
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.
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 e1= 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 e1= 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à
fillColordeve contenere solo colori.
Per formattare la mappa:
Fai clic su Aggiungi stili nel passaggio 2 o fai clic sul passaggio 3 Stile.
Modifica il colore dei punti. Fai clic su fillColor.
Nel campo Valore, inserisci
#0000FF, il codice colore HTML per il blu.Fai clic su Applica stile.
Esamina la mappa. Se fai clic su uno dei punti, viene visualizzato il valore.

Fai clic su fillOpacity.
Nel campo Valore, inserisci
0.5e fai clic su Applica stile.
Esamina la mappa. Il colore di riempimento dei punti ora è semitrasparente.
Modifica le dimensioni dei punti in base al numero di biciclette disponibili. Fai clic su circleRadius.
Nel riquadro circleRadius:
- Fai clic su Basato sui dati.
- Per Funzione, scegli lineare.
- In Campo, scegli
num_bikes_available. - In Dominio, inserisci
30nella prima casella e60nella seconda. In Intervallo, inserisci
5nella prima casella e20nella seconda.
Esamina la mappa. Il raggio di ogni cerchio ora corrisponde al numero di biciclette disponibili in quella località.
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:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
Passaggi successivi
- Per scoprire di più sulle opzioni di visualizzazione per l'analisi geospaziale, consulta Visualizzazione dei dati geospaziali.
- Per scoprire di più sull'utilizzo dei dati di analisi geospaziale, consulta Utilizza i dati geospaziali.
- Per un tutorial sull'utilizzo dell'analisi geospaziale, consulta Utilizzo dell'analisi geospaziale per tracciare il percorso di un uragano.
- Per la documentazione sulle funzioni GoogleSQL nell'analisi geospaziale, consulta Funzioni geografiche in GoogleSQL.