使用光栅数据分析温度

本教程介绍了如何对栅格数据执行地理空间分析。

目标

  • 在 BigQuery Sharing(以前称为 Analytics Hub)中查找公开可用的 Google Earth Engine 数据。
  • 使用 ST_REGIONSTATS 函数计算每个国家/地区在某个时间点的平均温度。
  • BigQuery Geo Viz 中可视化结果。BigQuery Geo Viz 是一个使用 Google Maps API 直观呈现 BigQuery 中的地理空间数据的 Web 工具。

费用

在本教程中,您将使用 Google Cloud的以下可计费组件:

准备工作

我们建议您为本教程创建一个 Google Cloud 项目。请确保您拥有完成本教程所需的角色。

设置 Google Cloud 项目

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.

    Enable the APIs

  8. 所需的角色

    如需获得执行本教程中任务所需的权限,请让管理员向您授予项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    这些预定义角色可提供执行本教程中的任务所需的权限。如需查看所需的确切权限,请展开所需权限部分:

    所需权限

    如需执行本教程中的任务,您需要拥有以下权限:

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

    您也可以使用自定义角色或其他预定义角色来获取这些权限。

    订阅数据集

    如需查找本教程中所用的数据集,请按以下步骤操作:

    1. 前往共享(Analytics Hub)页面。

      前往“共享”页面 (Analytics Hub)

    2. 点击 搜索商家信息

    3. 搜索商家信息字段中,输入 "ERA5-Land Daily Aggregated"

    4. 点击相应结果。系统随即会打开一个详细信息窗格,其中包含有关 ERA5-Land 气候再分析数据集的信息,包括说明、带信息的链接、可用性、像素大小和使用条款。

    5. 点击订阅

    6. 可选:更新项目

    7. 关联的数据集名称更新为 era5_climate_tutorial

    8. 点击保存。关联的数据集会添加到您的项目中,其中包含一个名为 climate 的表。

    查找栅格 ID

    era5_climate_tutorial.climate 表中的每一行都包含包含特定日期气候数据的栅格图片的元数据。运行以下查询,以提取 2025 年 1 月 1 日的光栅图片的光栅 ID:

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

    结果为 ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101。在下一部分中,您将将其用作 ST_REGIONSTATS 函数的 raster_id 实参。

    计算平均温度

    运行以下查询,使用 ST_REGIONSTATS 函数计算 2025 年 1 月 1 日每个国家/地区的平均温度:

    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;
    

    此查询会在公开的 division_area 表上运行,该表包含表示地球上各个区域(包括国家/地区)边界的 GEOGRAPHY 值。ST_REGIONSTATS 函数使用光栅图像的 temerature_2m 波段,其中包含给定像素处距离地面 2 米处的空气温度。

    在 Geo Viz 中直观呈现查询结果

    接下来,使用 BigQuery Geo Viz 可视化结果。

    启动 Geo Viz 并进行身份验证

    在使用 Geo Viz 之前,您必须对 BigQuery 中的数据进行身份验证并授予访问权限。

    如需设置 Geo Viz,请执行以下操作:

    1. 打开 Geo Viz Web 工具。

      打开 Geo Viz

      或者,在查询结果窗格中,依次点击打开方式 > GeoViz

    2. 在第一步查询中,点击授权

    3. 选择账号对话框中,点击您的 Google 账号。

    4. 在访问对话框中,点击允许以授予 Geo Viz 对 BigQuery 数据的访问权限。

    在 Geo Viz 中运行查询

    进行身份验证并授予访问权限后,下一步就是在 Geo Viz 中运行查询。

    如需运行查询,请执行以下操作:

    1. 第一步是选择数据,在项目 ID 字段中输入您的项目 ID。

    2. 在查询窗口中,输入以下 GoogleSQL 查询。如果您是通过查询结果打开 Geo Viz,则此字段已填充您的查询。

      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. 点击运行

    应用样式

    “样式”部分提供了可供自定义的视觉样式列表。如需详细了解每种样式,请参阅设置可视化图表的格式

    如需设置地图格式,请执行以下操作:

    1. 如需打开 fillColor 面板,请点击第 3 步 Style(样式)。

    2. 点击以数据为依据切换开关,将其切换到开启位置。

    3. 函数 (Function) 部分,选择 linear

    4. 字段 (Field) 部分,选择 mean_temperature

    5. 网域 (Domain) 部分,分别在第一个框和第二个框中输入 -2032

    6. 范围 (Range) 部分,点击第一个框,并在十六进制颜色值 (Hex) 框中输入 #0006ff,然后点击第二个框,并输入 #ff0000。系统会根据每个国家/地区在 2025 年 1 月 1 日的平均温度来更改其颜色。蓝色表示温度较低,红色表示温度较高。

    7. 点击 fillOpacity

    8. 字段中,输入 .5

    9. 点击应用样式

    10. 检查地图。点击某个国家/地区后,系统会显示该国家/地区的名称、平均温度和简化几何图形。

      一张按平均温度着色的国家/地区地图。

    清理

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    后续步骤