Usa BigQuery GIS para trazar la ruta de un huracán

Este instructivo presenta una introducción a BigQuery GIS. Con BigQuery GIS, puedes analizar y visualizar datos geoespaciales en BigQuery de forma sencilla.

Objetivos

En este instructivo, realizarás lo siguiente:

  • Usar una función de BigQuery GIS 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

En este instructivo, se usan componentes facturables de Google Cloud, incluidos los siguientes:

  • BigQuery

Se te cobrará por lo siguiente:

  • 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

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. Selecciona o crea un proyecto de GCP.

    Ir a la página Administrar recursos

  3. Asegúrate de tener habilitada la facturación para tu proyecto.

    Aprende a habilitar la facturación

  4. BigQuery se habilita de forma automática en proyectos nuevos. Para activar BigQuery en un proyecto existente, ve a Habilita las BigQuery API necesarias.

    Habilita las API

Explora los datos de muestra

En este instructivo, se usa 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 pagas por las consultas que realizas en los datos (el primer TB mensual es gratuito, sujeto a los detalles de los precios de las consultas).

Conjunto de datos sobre los recorridos de huracanes globales (IBTrACS)

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. Actualmente, 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 Cloud Console si consultas los detalles de la tabla hurricanes:

Ir al esquema de huracanes

Consulta la ruta del huracán María en 2017

En esta sección del instructivo, ejecutas una consulta en SQL estándar 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 SQL estándar a fin de 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 realizan 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ón ST_GeogPoint para convertir los valores de las columnas latitude y longitude a los tipos GEOGRAPHY (puntos).
  • bigquery-public-data.noaa_hurricanes.hurricanesFROM
    La cláusula FROM especifica la tabla en la que se realiza la consulta: 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 mediante la IU web de BigQuery en Cloud Console, haz lo siguiente:

  1. Ve a Cloud Console.

    Ir a Cloud Console

  2. Ingresa la siguiente consulta de SQL estándar 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
    
  3. 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.

    Resultados de la consulta del huracán María

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:

  1. Abre la herramienta web Geo Viz.

    Abrir la herramienta web Geo Viz

  2. En el primer paso, Seleccionar datos, haz clic en Autorizar.

    Botón de autorización de Geo Viz

  3. En el diálogo Elige una cuenta, haz clic en tu Cuenta de Google.

    Cuadro de diálogo Elegir una cuenta

  4. En el diálogo de acceso, haz clic en Permitir para que Geo Viz pueda tener acceso a tus datos de BigQuery.

    Diálogo Permitir acceso

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:

  1. En el primer paso, Seleccionar datos, ingresa el ID de tu proyecto en el campo ID del proyecto.

  2. En la ventana de la consulta, ingresa la siguiente consulta de SQL estándar.

    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
    
  3. Haz clic en Ejecutar (Run).

  4. Una vez completada la consulta, haz clic en Ver resultados. También puedes hacer clic en Definir columnas en el paso dos.

    Ver resultados

  5. 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.

    Resultados mapeados

Formatea tu visualización

La sección Estilo 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 y 1 = 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 y 1 = 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 “linear” puede usarse a fin de mapear 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.
  • identity (identidad): Se usa el valor de los datos de cada campo como el valor de estilo.
  • categorical (categórico): Se mapean uno a uno los valores de los datos de cada campo enumerado en el dominio hacia los estilos correspondientes en el rango.
  • interval (intervalo): 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.
  • linear (lineal): 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.
  • field (campo): Se usa el campo especificado en los datos como los datos de entrada para la función de estilo.
  • domain (dominio): 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 a 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 visualizas.
  • range (rango): 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 controlas. Por ejemplo, el rango de la propiedad fillColor debe contener solo colores.

Para formatear tu mapa, haz lo siguiente:

  1. Haz clic en Agregar estilos en el paso dos o haz clic en el paso tres, Estilo.

  2. Cambia el color de tus puntos. Haz clic en fillColor.

  3. En el panel de fillColor, haz lo siguiente:

    1. Haz clic en Basado en los datos.
    2. En Función, elige linear.
    3. En Campo, selecciona usa_wind.
    4. En Dominio, ingresa 0 en el primer cuadro y 150 en el segundo.
    5. 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.

      Color de relleno

  4. Examina tu mapa. Si colocas el cursor sobre uno de tus puntos, se muestran sus datos meteorológicos.

    Detalles del punto del mapa

  5. Haz clic en fillOpacity.

  6. En el campo Valor, ingresa .5.

    Opacidad del relleno

  7. Examina tu mapa. El color de relleno de los puntos ahora es semitransparente.

  8. Cambia el tamaño de los puntos según el radio del huracán. Haz clic en circleRadius.

  9. En el panel circleRadius, haz lo siguiente:

    1. Haz clic en Basado en los datos.
    2. En Función, elige linear.
    3. En Campo, selecciona radius_50kt.
    4. En Dominio, ingresa 0 en el primer cuadro y 135 en el segundo.
    5. En Rango, ingresa 5 en el primer cuadro y 15 en el segundo.

      Radio del círculo

  10. Examina tu mapa. El radio de cada punto ahora corresponde al radio del huracán.

    Mapa final

  11. Cierra Geo Viz.

Cómo realizar una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud Platform por los recursos que usaste en este instructivo:

  • Puedes borrar el proyecto que creaste.
  • O puedes conservar el proyecto y usarlo a futuro.

Para borrar el proyecto, haz lo siguiente:

  1. En la GCP Console, dirígete a la página Proyectos.

    Ir a la página Proyectos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar.
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Próximos pasos

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.