Usa datos de ráster para analizar la temperatura

Realizar análisis geoespaciales en datos de trama te permite calcular y visualizar métricas climáticas del mundo real, como la temperatura promedio en diferentes países. Puedes usar la función ST_REGIONSTATS con los conjuntos de datos de Google Earth Engine para extraer estas estadísticas regionales y asignar tus resultados con BigQuery Geo Viz.

Objetivos

  • Encuentra datos de Google Earth Engine disponibles públicamente en BigQuery sharing (anteriormente Analytics Hub).
  • Usa la función ST_REGIONSTATS para calcular la temperatura promedio en cada país en un momento determinado.
  • Visualiza tus resultados en BigQuery Geo Viz, que es una herramienta web para visualizar datos geoespaciales en BigQuery con las APIs de Google Maps.

Costos

En este instructivo, usarás los siguientes componentes facturables de Google Cloud:

Antes de comenzar

Te recomendamos que crees un proyecto de Google Cloud para este instructivo. Asegúrate de tener los roles necesarios para completar este instructivo.

Configura un proyecto de Google Cloud

  1. Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

Roles obligatorios

Para obtener los permisos que necesitas para realizar las tareas de este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para realizar las tareas de este instructivo. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para realizar las tareas de este instructivo:

  • earthengine.computations.create
  • serviceusage.services.use
  • bigquery.datasets.create

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Suscríbete a un conjunto de datos

Para encontrar el conjunto de datos que se usó en este instructivo, sigue estos pasos:

  1. Ve a la página Uso compartido (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. Haz clic en Buscar fichas.

  3. En el campo Buscar fichas, ingresa "ERA5-Land Daily Aggregated".

  4. Haz clic en el resultado. Se abrirá un panel de detalles con información sobre el conjunto de datos de reanálisis climático de ERA5-Land, incluida una descripción, un vínculo a la información de la banda, la disponibilidad, el tamaño de píxel y las condiciones de uso.

  5. Haz clic en Suscribirse.

  6. Opcional: Actualiza el Proyecto.

  7. Actualiza el Nombre del conjunto de datos vinculado a era5_climate_tutorial.

  8. Haz clic en Guardar. El conjunto de datos vinculado se agrega a tu proyecto y contiene una sola tabla llamada climate.

Cómo encontrar el ID de trama

Cada fila de la tabla era5_climate_tutorial.climate contiene metadatos de una imagen de trama que tiene datos climáticos de un día en particular. Ejecuta la siguiente consulta para extraer el ID de la imagen de trama del 1 de enero de 2025:

SELECT
  assets.image.href
FROM
  `era5_climate_tutorial.climate`
WHERE
  properties.start_datetime = '2025-01-01';

El resultado es ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101. En la siguiente sección, usarás esto para el argumento raster_id de la función ST_REGIONSTATS.

Calcula la temperatura promedio

Ejecuta la siguiente consulta para calcular la temperatura promedio de cada país el 1 de enero de 2025 con la función ST_REGIONSTATS:

WITH SimplifiedCountries AS (
  SELECT
    ST_SIMPLIFY(geometry, 10000) AS simplified_geometry,
    names.primary AS name
  FROM
    `bigquery-public-data.overture_maps.division_area`
  WHERE
    subtype = 'country'
)
SELECT
  sc.simplified_geometry AS geometry,
  sc.name,
  ST_REGIONSTATS(
    sc.simplified_geometry,
    'ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101',
    'temperature_2m'
  ).mean - 273.15 AS mean_temperature
FROM
  SimplifiedCountries AS sc
ORDER BY
  mean_temperature DESC;

Esta consulta se ejecuta en la tabla division_area disponible de forma pública que contiene valores GEOGRAPHY que representan los límites de varias regiones de la Tierra, incluidos los países. La función ST_REGIONSTATS usa la banda temperature_2m de la imagen de trama, que contiene la temperatura del aire a 2 metros sobre la superficie de la tierra en el píxel determinado.

Visualiza los resultados de la consulta en BigQuery

Para visualizar tus resultados en BigQuery, sigue estos pasos:

  1. En el panel Resultados de la consulta, haz clic en la pestaña Visualización.

  2. En Columna de datos, selecciona mean_temperature.

    Aparecerá un mapa del mundo con un gradiente de color para la temperatura promedio de cada país.

Mapa de países coloreados según la temperatura promedio

Visualiza los resultados de la consulta en Geo Viz

También puedes visualizar los resultados con BigQuery Geo Viz.

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.

    Abre Geo Viz

    Como alternativa, en el panel Resultados de la consulta, haz clic en Abrir en > GeoViz.

  2. En el primer paso, Consulta, haz clic en Autorizar.

  3. En el diálogo Choose an account (Elegir una cuenta), haz clic en tu cuenta de Google.

  4. 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:

  1. En el primer paso, Select data (Seleccionar datos), ingresa el ID de tu proyecto en el campo Project ID (ID del proyecto).

  2. En la ventana de la consulta, ingresa la siguiente consulta de GoogleSQL. Si abriste Geo Viz desde los resultados de la consulta, este campo ya se completó con tu consulta.

    WITH SimplifiedCountries AS (
      SELECT
        ST_SIMPLIFY(geometry, 10000) AS simplified_geometry,
        names.primary AS name
      FROM
        `bigquery-public-data.overture_maps.division_area`
      WHERE
        subtype = 'country'
    )
    SELECT
      sc.simplified_geometry AS geometry,
      sc.name,
      ST_REGIONSTATS(
        sc.simplified_geometry,
        'ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101',
        'temperature_2m'
      ).mean - 273.15 AS mean_temperature
    FROM
      SimplifiedCountries AS sc
    ORDER BY
      mean_temperature DESC;
    
  3. Haz clic en Ejecutar.

Aplica estilos

En la sección Estilo, se proporciona una lista de estilos visuales para personalizar la visualización. Para obtener más información sobre cada estilo, consulta Asigna un formato a tu visualización.

Para darle formato a tu mapa, haz lo siguiente:

  1. Para abrir el panel fillColor, haz clic en el paso 3, Estilo.

  2. Haz clic en el botón de activación Basado en datos para llevarlo a la posición activada.

  3. En Función (Function), elige lineal (linear).

  4. En Campo(Field), selecciona mean_temperature.

  5. En Dominio, ingresa -20 en el primer cuadro y 32 en el segundo.

  6. En Rango, haz clic en el primer cuadro y, luego, ingresa #0006ff en el cuadro Hex. Luego, haz clic en el segundo cuadro y, luego, ingresa #ff0000. Esto cambia el color de cada país según su temperatura promedio el 1 de enero de 2025. El azul indica una temperatura más fría y el rojo, una más cálida.

  7. Haz clic en fillOpacity.

  8. En el campo Valor, ingresa .5.

  9. Haz clic en Aplicar estilo.

  10. Examina tu mapa. Si haces clic en un país, se muestran su nombre, su temperatura promedio y su geometría simplificada.

    Mapa con países coloreados según la temperatura promedio.

Realiza una limpieza

  1. En la Google Cloud consola, ve a la página Administrar recursos.

    Ir a Administrar recursos

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

¿Qué sigue?