En este instructivo, se presentan estadísticas geoespaciales. Las estadísticas geoespaciales te permiten analizar y visualizar datos geoespaciales en BigQuery de forma sencilla.
Objetivos
En este instructivo, harás lo siguiente:
- Usar una función de estadísticas geoespaciales para convertir columnas de latitud y longitud en puntos geográficos
- Ejecutar una consulta que trace la ruta de un huracán
- Visualizar tus resultados en BigQuery Geo Viz.
Costos
BigQuery es un producto pago que generará costos de uso en este instructivo. BigQuery ofrece algunos recursos de forma gratuita hasta alcanzar un límite específico. Para obtener más información, consulta Operaciones gratuitas de BigQuery y nivel gratuito.
Antes de comenzar
Antes de comenzar con este instructivo, usa la consola de Google Cloud para crear o seleccionar un proyecto.
- 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 se habilita automáticamente en proyectos nuevos.
Para activar BigQuery en un proyecto existente, ve a
Enable the BigQuery API.
- Opcional: Habilita la facturación para el proyecto. Si no deseas habilitar la facturación ni proporcionar una tarjeta de crédito, los pasos que se indican en este documento seguirán funcionando. BigQuery proporciona una zona de pruebas para realizar los pasos. Para obtener más información, consulta Habilita la zona de pruebas de BigQuery.
Explora los datos de muestra
Este instructivo utiliza un conjunto de datos disponible a través del Programa de conjuntos de datos públicos de Google Cloud. Un conjunto de datos públicos es un conjunto de datos que se almacena en BigQuery y está disponible para el público en general. Se trata de conjuntos de datos que BigQuery aloja de modo que puedas acceder a ellos y también integrarlos en tus aplicaciones. Google paga por el almacenamiento de estos conjuntos de datos y proporciona acceso público a los datos a través de un proyecto. Solo se paga por las consultas que realices en los datos (el primer 1 TB mensual es gratuito, sujeto a los detalles de los precios de las consultas).
Conjunto de datos sobre los recorridos de huracanes globales (IBTrACS)
Conjunto de datos sobre los recorridos de huracanes globales (IBTrACS)
El archivo International Best Track Archive for Climate Stewardship (IBTrACS) de NOAA proporciona las posiciones históricas y las intensidades de los ciclones tropicales (TC) globales a lo largo de sus recorridos. Los ciclones tropicales se conocen como huracanes en las cuencas oceánicas del Atlántico Norte y del Pacífico Nororiental, tifones en la cuenca oceánica del Pacífico Noroccidental, ciclones en las cuencas oceánicas del Índico Norte y Sur, y ciclones tropicales en la cuenca oceánica del Pacífico Sudoccidental.
El IBTrACS recopila los datos sobre los TC registrados por las centrales de supervisión internacionales, que tienen la responsabilidad de pronosticar y de informar sobre los TC, y, además, incluye algunos conjuntos de datos históricos importantes. El IBTrACS incluye datos provenientes de 9 países distintos. A lo largo de su historia, los datos que describen estos sistemas incluyeron estimaciones de su recorrido y su intensidad (de ahí proviene el término en inglés “best track”, mejor recorrido).
Puedes comenzar a explorar estos datos en la consola de Google Cloud si consultas los detalles de la tabla hurricanes
:
Consulta la ruta del huracán María en 2017
En esta sección del instructivo, ejecutas una consulta en GoogleSQL que encuentra la ruta del huracán María en la temporada de 2017. Para trazar la ruta del huracán, consultas su ubicación en diferentes momentos precisos.
Detalles de la consulta
Se usa la siguiente consulta en GoogleSQL para encontrar la ruta del huracán María.
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
Las cláusulas de la consulta hacen lo siguiente:
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 cláusula
SELECT
selecciona todos los datos climáticos de la tormenta y usa la funciónST_GeogPoint
para convertir los valores de las columnaslatitude
ylongitude
a los tiposGEOGRAPHY
(puntos).
FROM
bigquery-public-data.noaa_hurricanes.hurricanes
- La cláusula
FROM
especifica la tabla que se está consultando: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 cláusula
WHERE
filtra los datos para incluir solo los puntos en el Atlántico que correspondan al huracán María en la temporada de huracanes de 2017.
ORDER BY iso_time ASC
- La cláusula
ORDER BY
ordena los puntos para que formen una ruta de la tormenta cronológica.
Ejecuta la consulta
Para ejecutar la consulta con la consola de Google Cloud, sigue estos pasos:
Ve a la página de BigQuery en la consola de Google Cloud.
Ingresa la siguiente consulta de GoogleSQL en el área de texto del Editor de consultas.
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
Haz clic en Ejecutar.
La consulta tarda un momento en completarse. Una vez que se ejecuta la consulta, tus resultados aparecerán en el panel Resultados de la consulta.
Visualiza los resultados de la consulta en Geo Viz
A continuación, visualizas los resultados con BigQuery Geo Viz, una herramienta web que permite visualizar datos geoespaciales en BigQuery mediante las API de Google Maps.
Inicia Geo Viz y autentícate
Antes de usar Geo Viz, debes autenticarte y otorgar acceso a los datos en BigQuery.
Para configurar Geo Viz, haz lo siguiente:
Abre la herramienta web Geo Viz.
En el primer paso, Seleccionar datos (Select data), haz clic en Autorizar (Authorize).
En el diálogo Choose an account (Elegir una cuenta), haz clic en tu cuenta de Google.
En el diálogo de acceso, haz clic en Permitir (Allow) para que Geo Viz pueda tener acceso a tus datos de BigQuery.
Ejecuta tu consulta en Geo Viz
Después de autenticarte y otorgar acceso, el próximo paso es ejecutar la consulta en Geo Viz.
Para ejecutar la consulta, haz lo siguiente:
En el primer paso, Select data (Seleccionar datos), ingresa el ID de tu proyecto en el campo Project ID (ID del proyecto).
En la ventana de la consulta, ingresa la siguiente consulta de GoogleSQL.
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
Haz clic en Ejecutar.
Una vez completada la consulta, haz clic en Show results. También puedes hacer clic en Datos del paso dos.
Esto te hace avanzar al paso dos. Aquí, para Geometry column (Columna de geometría), elige point (punto). Esto traza los puntos correspondientes a la ruta del huracán María.
Formatea tu visualización en Geo Viz
En la sección Estilo, se proporciona una lista de estilos visuales para personalizar la visualización. Algunas propiedades se aplican solo a algunos tipos de datos. Por ejemplo, circleRadius
solo afecta a los puntos.
Las propiedades de estilo admitidas incluyen las siguientes opciones:
- fillColor: El color de relleno de un polígono o un punto. Por ejemplo, las funciones "linear" o "interval" pueden usarse para mapear valores numéricos a un gradiente de color.
- fillOpacity: la opacidad del relleno de un polígono o un punto. Los valores deben encontrarse en el rango entre cero y uno, en el que
0
= transparente y1
= opaco. - strokeColor: el color del trazo o contorno de un polígono o una línea.
- strokeOpacity: La opacidad del trazo o el contorno de un polígono o una línea.
Los valores deben encontrarse en el rango entre cero y uno, en el que
0
= transparente y1
= opaco. - strokeWeight: el ancho del trazo o contorno en píxeles de un polígono o línea.
- circleRadius: el radio del círculo que representa un punto en metros. Por ejemplo, una función "lineal" puede usarse a fin de asignar valores numéricos de modo que se indiquen los tamaños para crear un estilo de diagrama de dispersión.
Cada estilo puede recibir un valor global (que se aplique a todos los resultados) o uno basado en los datos (que se aplique de maneras distintas según los datos en cada fila de resultados). En el caso de los valores basados en los datos, se utilizan las siguientes opciones para determinar el resultado:
- function (función): Una función que se usa para procesar un valor de estilo a partir de los valores de un campo.
- identidad (identity): se usa el valor de los datos de cada campo como el valor de estilo.
- categórico (categorical): se asignan uno a uno los valores de los datos de cada campo enumerado en el dominio hacia los estilos correspondientes en el rango.
- intervalo (interval): los valores de los datos de cada campo se redondean hacia abajo hasta el valor más cercano en el dominio y, luego, se les da el estilo correspondiente en el rango.
- lineal (linear): los valores de los datos de cada campo se interpolan de forma lineal con los valores del dominio y se les da estilo según una combinación de los estilos correspondientes en el rango.
- campo (field): se usa el campo especificado en los datos como los datos de entrada para la función de estilo.
- dominio (domain): una lista ordenada de datos de entrada de muestra provenientes de un campo. Los datos de entrada (dominio) de muestra se asocian con los datos de salida (rango) de muestra basados en la función determinada y se usan con el fin de inferir valores de estilo para todos los datos de entrada (incluso aquellos que no estén enumerados en el dominio). Los valores en el dominio deben tener el mismo tipo (texto, número, etc.) que los valores del campo que estás visualizando.
- rango (range): una lista de valores de datos de salida de muestra para la regla de estilo. Los valores en el rango deben tener el mismo tipo (color o número) que la propiedad de estilo que estás controlando. Por ejemplo, el rango de la propiedad
fillColor
debería tener solo colores.
Para formatear tu mapa, haz lo siguiente:
Haz clic en Add styles (Agregar estilos) en el paso dos o haz clic en el paso tres, Style (Estilo).
Cambia el color de tus puntos. Haz clic en fillColor.
En el panel de fillColor, haz lo siguiente:
- Haz clic en Data driven (Basado en los datos).
- En Función (Function), elige lineal (linear).
- En Campo(Field), selecciona
usa_wind
. - En Dominio, ingresa
0
en el primer cuadro y150
en el segundo. Para Rango (Range), haz clic en el primer cuadro y, luego, ingresa
#0006ff
en el cuadro Hexadecimal. Haz clic en el segundo cuadro y, luego, ingresa#ff0000
. Esto cambia el color del punto según la velocidad del viento. Se usa el azul para vientos más suaves y el rojo para vientos más fuertes.
Examina tu mapa. Si mantienes el puntero sobre uno de tus puntos, se muestran sus datos meteorológicos.
Haz clic en fillOpacity.
En el campo Valor, ingresa .5.
Examina tu mapa. El color de relleno de los puntos ahora es semitransparente.
Cambia el tamaño de los puntos según el radio del huracán. Haz clic en circleRadius.
En el panel circleRadius, haz lo siguiente:
- Haz clic en Data driven (Basado en los datos).
- En Función (Function), elige lineal (linear).
- En Campo(Field), selecciona
radius_50kt
. - En Dominio (Domain), ingresa
0
en el primer cuadro y135
en el segundo. En Rango, ingresa
5
en el primer cuadro y135000
en el segundo.
Examina tu mapa. El radio de cada punto ahora corresponde al radio del huracán.
Cierra Geo Viz.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
- Puedes borrar el proyecto que creaste.
- O puedes conservar el proyecto y usarlo a futuro.
Para borrar el proyecto, haz lo siguiente:
- 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.
¿Qué sigue?
- Si quieres obtener más información sobre cómo visualizar las opciones para las estadísticas de datos geoespaciales, consulta Visualiza datos geoespaciales.
- Para trabajar con datos geoespaciales, consulta Trabaja con datos geoespaciales.
- Para obtener más información sobre las funciones de geografía que puedes usar en las estadísticas geoespaciales, consulta Funciones de geografía en GoogleSQL.