Questo tutorial introduce l'analisi geospaziale. L'analisi geospaziale ti consente di analizzare e visualizzare facilmente i dati geospaziali in BigQuery.
Obiettivi
In questo tutorial:
- Utilizza una funzione di analisi geospaziale per convertire le colonne di latitudine e longitudine in punti geografici
- Eseguire una query che traccia la traiettoria di un uragano
- Visualizzare i risultati in BigQuery
- Visualizza i risultati in BigQuery Geo Viz
Costi
BigQuery è un prodotto a pagamento e in questo tutorial sostieni costi di utilizzo di BigQuery. BigQuery offre alcune risorse senza costi entro limiti specifici. Per ulteriori informazioni, vedi Operazioni senza costi e livello senza costi di BigQuery.
Prima di iniziare
Prima di iniziare questo tutorial, utilizza la console Google Cloud per creare o selezionare un progetto.
- 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 carichi di lavoro.
-
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.
-
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.
- BigQuery viene attivato automaticamente nei nuovi progetti.
Per attivare BigQuery in un progetto esistente, vai a
Abilita l'API BigQuery.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli. - (Facoltativo) Abilita la fatturazione per il progetto. Se non vuoi attivare la fatturazione o fornire una carta di credito, i passaggi descritti in questo documento funzionano comunque. BigQuery ti offre una sandbox per eseguire i passaggi. Per saperne di più, vedi Attiva la sandbox di BigQuery.
Esplorare i dati di esempio
Questo tutorial utilizza un set di dati disponibile tramite il Google Cloud programma per i set di dati pubblici. 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 che BigQuery ospita per consentirti di accedervi e integrarli nelle tue applicazioni. Google paga lo spazio di archiviazione di questi set di dati e fornisce l'accesso pubblico ai dati utilizzando un progetto. Paghi solo 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 Global Hurricane Tracks (IBTrACS)
Set di dati sulle traiettorie degli uragani globali (IBTrACS)
Le posizioni e le intensità storiche lungo le traiettorie dei cicloni tropicali globali sono fornite dall'International Best Track Archive for Climate Stewardship (IBTrACS) della NOAA. I cicloni tropicali sono noti come uragani nei bacini dell'oceano Atlantico settentrionale e del Pacifico nord-orientale, tifoni nel bacino dell'oceano Pacifico nord-occidentale, cicloni nei bacini dell'oceano Indiano settentrionale e meridionale e cicloni tropicali nel bacino dell'oceano Pacifico sud-occidentale.
IBTrACS raccoglie dati sui cicloni tropicali segnalati dai centri di monitoraggio internazionali che hanno la responsabilità di prevedere e segnalare i cicloni tropicali (e include anche alcuni importanti set di dati storici). IBTrACS include dati di 9 paesi diversi. Storicamente, i dati che descrivono questi sistemi hanno incluso le migliori stime della loro traiettoria e intensità (da cui il termine "best track").
Puoi iniziare a esplorare questi dati nella console Google Cloud visualizzando i dettagli della tabella hurricanes:
Esegui una query sul percorso dell'uragano Maria nel 2017
In questa sezione del tutorial, esegui una query GoogleSQL che trova il percorso dell'uragano Maria nella stagione 2017. Per tracciare la traiettoria dell'uragano, devi interrogare la posizione dell'uragano in diversi momenti.
Dettagli query
La seguente query GoogleSQL viene utilizzata per trovare la traiettoria dell'uragano 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
Le clausole della query eseguono le seguenti operazioni:
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 clausola
SELECTseleziona tutti i dati meteo della tempesta e utilizza la funzioneST_GeogPointper convertire i valori nelle colonnelatitudeelongitudein tipiGEOGRAPHY(punti).
FROMbigquery-public-data.noaa_hurricanes.hurricanes- La clausola
FROMspecifica la tabella sottoposta a query: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 clausola
WHEREfiltra i dati in modo da includere solo i punti nell'Atlantico corrispondenti all'uragano Maria nella stagione degli uragani del 2017.
ORDER BY iso_time ASC- La clausola
ORDER BYordina i punti in modo da formare un percorso della tempesta cronologico.
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 query.
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