En este instructivo, se presentan estadísticas geoespaciales. Las estadísticas geoespaciales te permiten analizar y visualizar datos geoespaciales en BigQuery.
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 busque todas las estaciones de Citi Bike con más de 30 bicicletas disponibles para alquiler
- Visualizar tus resultados en BigQuery Geo Viz
Costos
En este instructivo, se usan componentes facturables de Google Cloud, como BigQuery.
Se te cobrará por:
- Consultar datos en los conjuntos de datos públicos de BigQuery.
- El primer TB de cada mes es gratuito.
- Si usas el precio basado en la capacidad, los costos de consultas se incluyen en el precio basado en la capacidad.
Antes de comenzar
- 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.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
- BigQuery se habilita automáticamente en proyectos nuevos.
Para activar BigQuery en un proyecto existente, ve a
Enable the BigQuery API.
.
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 de viajes con NYC Citi Bike
Citi Bike es el programa de bicicletas compartidas más grande del país, con 10,000 bicicletas y 600 estaciones en Manhattan, Brooklyn, Queens y Jersey City. Este conjunto de datos incluye viajes de Citi Bike desde que este programa se lanzó en septiembre de 2013 y se actualiza diariamente. Citi Bike procesó los datos para quitar los viajes tomados por el personal para inspeccionar y reparar el sistema, así como los viajes de menos de 60 segundos de duración, los que se consideran inicios falsos.
Para comenzar a explorar estos datos en la consola de BigQuery, visualiza los detalles de la tabla citibike_stations
:
Ir al esquema citibike_stations
Tres columnas en esta tabla son relevantes para este instructivo:
bike_stations.longitude
: la longitud de una estación. Los valores son longitudes WGS 84 válidas en formato de grados decimales.bike_stations.latitude
: la latitud de una estación. Los valores son latitudes WGS 84 válidas en formato de grados decimales.num_bikes_available
: la cantidad de bicicletas disponibles para alquiler.
Consulta las estaciones de bicicletas con más de 30 bicicletas disponibles
En esta sección del instructivo, ejecutas una consulta de GoogleSQL que encuentra todas las estaciones de Citi Bike en Nueva York con más de 30 bicicletas disponibles para alquiler.
Detalles de la consulta
La siguiente consulta de GoogleSQL se usa para encontrar las estaciones de Citi Bike con más de 30 bicicletas.
SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available FROM `bigquery-public-data.new_york.citibike_stations` WHERE num_bikes_available > 30
Las cláusulas de la consulta hacen lo siguiente:
SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
- La cláusula
SELECT
selecciona la columnanum_bikes_available
y usa la funciónST_GeogPoint
para convertir los valores en las columnaslatitude
ylongitude
a tipos (puntos) deGEOGRAPHY
FROM `bigquery-public-data.new_york.citibike_stations`
- La cláusula
FROM
especifica la tabla que se está consultando:citibike_stations
.
WHERE num_bikes_available > 30
- La cláusula
WHERE
filtra los valores en la columnanum_bikes_available
a solo aquellas estaciones con más de 30 bicicletas
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.
-- 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
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.
Abrir la herramienta web Geo Viz
Es posible que debas habilitar las cookies para autorizar y usar esta herramienta.
En el primer paso, Consulta, haz clic en Autorizar.
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 una consulta de GoogleSQL sobre datos geoespaciales
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.
-- 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
Haz clic en Ejecutar.
Una vez completada la consulta, haz clic en Show results. También puedes hacer clic en Definir columnas (Define columns) en el paso dos.
Esto te hace avanzar al paso dos. En el paso dos, en Columna de geometría (Geometry column), elige WKT (WKT). Esto traza los puntos correspondientes a las estaciones de bicicleta en tu mapa.
Formatea tu visualización
En la sección Estilo (Style), 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 0 a 1, 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 0 a 1, 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 píxeles. 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 usan 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.
- 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.
- range. Una lista de valores 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 campo Valor (Value), ingresa
#0000FF
, el código de color HTML para azul.Haz clic en Aplicar estilo.
Examina tu mapa. Si haces clic en uno de tus puntos, se muestra el valor.
Haz clic en fillOpacity.
En el campo Valor, ingresa
0.5
y haz clic en Aplicar estilo.Examina tu mapa. El color de relleno de los puntos ahora es semitransparente.
Cambia el tamaño de los puntos en función del número de bicicletas disponibles. 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
num_bikes_available
. - En Dominio (Domain), ingresa
30
en el primer cuadro y60
en el segundo. En Rango, ingresa
5
en el primer cuadro y20
en el segundo.
Examina tu mapa. El radio de cada círculo ahora corresponde al número de bicicletas disponibles en esa ubicación.
Cierra Geo Viz.
Realiza una limpieza
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 deseas obtener más información sobre las opciones de visualización para las estadísticas geoespaciales, consulta Visualiza datos geoespaciales.
- Para obtener más información sobre cómo trabajar con datos de estadísticas geoespaciales, consulta Trabaja con datos geoespaciales.
- Si quieres ver un instructivo sobre cómo usar las estadísticas geoespaciales, consulta Usa las estadísticas geoespaciales para trazar la ruta de un huracán.
- A fin de ver la documentación sobre las funciones de GoogleSQL para estadísticas geoespaciales, consulta Funciones de geografía en GoogleSQL.