Usa datos ráster para analizar la temperatura

En este instructivo, se describe cómo realizar análisis geoespaciales en datos ráster.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 usa 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, que incluye 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 ráster

Cada fila de la tabla era5_climate_tutorial.climate contiene metadatos de una imagen ráster que incluye datos climáticos de un día en particular. Ejecuta la siguiente consulta para extraer el ID de ráster de la imagen ráster 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.

Cómo calcular 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 públicamente que contiene valores de GEOGRAPHY que representan los límites de varias regiones de la Tierra, incluidos los países. La función ST_REGIONSTATS usa la banda temerature_2m de la imagen ráster, que contiene la temperatura del aire a 2 metros sobre la superficie terrestre 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 que indica 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 tus 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.

    Abrir 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 tu búsqueda, este campo ya estará completado con tu búsqueda.

    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.

Cómo aplicar 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 Cómo dar formato a tu visualización.

Para formatear 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. Para Rango, haz clic en el primer cuadro y, luego, ingresa #0006ff en el cuadro Hexadecimal. 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 temperatura 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 mostrarán 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?