En este instructivo, se presenta una introducción a BigQuery GIS. BigQuery GIS te permite analizar y visualizar datos geoespaciales en BigQuery.
Objetivos
En este instructivo, realizarás lo siguiente:
- Utilizar una función de BigQuery GIS para convertir columnas de latitud y longitud en puntos geográficos
- Ejecutar una consulta que encuentre 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, que incluyen los siguientes:
- 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 de tasa fija, los costos de consultas están incluidos en el precio de tasa fija.
Antes de comenzar
- Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
- BigQuery se habilita automáticamente en proyectos nuevos. Para activar BigQuery en un proyecto existente, ve a Habilita la API 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 cubre los costos de 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 a fin de 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 SQL estándar 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 SQL estándar 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 mediante Cloud Console, haz lo siguiente:
Ve a la página de BigQuery en Cloud Console.
Ingresa la siguiente consulta de SQL estándar 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 para visualizar datos geoespaciales en BigQuery con 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 una consulta de SQL estándar en los datos de BigQuery GIS
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 SQL estándar.
-- 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 (Run).
Una vez completada la consulta, haz clic en Ver resultados (See 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.Examina tu mapa. Si detienes el cursor sobre uno de tus puntos, se muestra el valor.
Haz clic en fillOpacity.
En el campo Valor (Value), ingresa
.5
.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.
Realice 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:
- En Cloud Console, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
- A fin de obtener más información sobre las opciones de visualización para BigQuery GIS, consulta Cómo visualizar datos en BigQuery GIS.
- Para obtener más información sobre cómo trabajar con datos BigQuery GIS, consulta Cómo trabajar con datos de BigQuery GIS.
- Si quieres ver un instructivo sobre cómo usar BigQuery GIS, consulta Cómo usar BigQuery GIS para trazar la ruta de un huracán.
- A fin de ver la documentación sobre las funciones de SQL estándar para BigQuery GIS, consulta las funciones geográficas en SQL estándar.