使用光栅数据分析温度

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

目标

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

费用

在本教程中,您将使用 Trusted Cloud by S3NS的以下收费组件:

准备工作

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

设置 Trusted Cloud 项目

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

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

    Enable the APIs

  4. 所需的角色

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

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

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

    所需权限

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

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

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

    订阅数据集

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

    1. 前往 Sharing (Analytics Hub) 页面。

      前往 Sharing (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 步中的样式

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

    后续步骤