使用光栅数据分析温度
本教程介绍了如何对栅格数据执行地理空间分析。
目标
- 在 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 项目
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.
-
Earth Engine Resource Viewer (
roles/earthengine.viewer
) -
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer
) -
BigQuery Data Editor (
roles/bigquery.dataEditor
) -
earthengine.computations.create
-
serviceusage.services.use
-
bigquery.datasets.create
前往共享(Analytics Hub)页面。
点击
搜索商家信息。在搜索商家信息字段中,输入
"ERA5-Land Daily Aggregated"
。点击相应结果。系统随即会打开一个详细信息窗格,其中包含有关 ERA5-Land 气候再分析数据集的信息,包括说明、带信息的链接、可用性、像素大小和使用条款。
点击订阅。
可选:更新项目。
将关联的数据集名称更新为
era5_climate_tutorial
。点击保存。关联的数据集会添加到您的项目中,其中包含一个名为
climate
的表。打开 Geo Viz Web 工具。
或者,在查询结果窗格中,依次点击打开方式 > GeoViz。
在第一步查询中,点击授权。
在选择账号对话框中,点击您的 Google 账号。
在访问对话框中,点击允许以授予 Geo Viz 对 BigQuery 数据的访问权限。
第一步是选择数据,在项目 ID 字段中输入您的项目 ID。
在查询窗口中,输入以下 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;
点击运行。
如需打开 fillColor 面板,请点击第 3 步 Style(样式)。
点击以数据为依据切换开关,将其切换到开启位置。
在函数 (Function) 部分,选择 linear。
在字段 (Field) 部分,选择
mean_temperature
。在网域 (Domain) 部分,分别在第一个框和第二个框中输入
-20
和32
。在范围 (Range) 部分,点击第一个框,并在十六进制颜色值 (Hex) 框中输入
#0006ff
,然后点击第二个框,并输入#ff0000
。系统会根据每个国家/地区在 2025 年 1 月 1 日的平均温度来更改其颜色。蓝色表示温度较低,红色表示温度较高。点击 fillOpacity。
在值字段中,输入
.5
。点击应用样式。
检查地图。点击某个国家/地区后,系统会显示该国家/地区的名称、平均温度和简化几何图形。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- 如需详细了解如何直观呈现地理空间分析的选项,请参阅直观呈现地理空间数据。
- 如需使用光栅数据,请参阅使用光栅数据。
- 如需详细了解可在地理空间分析中使用的地理函数,请参阅 GoogleSQL 中的地理函数。
所需的角色
如需获得执行本教程中任务所需的权限,请让管理员向您授予项目的以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色可提供执行本教程中的任务所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需执行本教程中的任务,您需要拥有以下权限:
订阅数据集
如需查找本教程中所用的数据集,请按以下步骤操作:
查找栅格 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,请执行以下操作:
在 Geo Viz 中运行查询
进行身份验证并授予访问权限后,下一步就是在 Geo Viz 中运行查询。
如需运行查询,请执行以下操作:
应用样式
“样式”部分提供了可供自定义的视觉样式列表。如需详细了解每种样式,请参阅设置可视化图表的格式。
如需设置地图格式,请执行以下操作: