本快速入门将以互动方式介绍如何使用 Earth Engine Python 接口可视化和分析地理空间数据。
准备工作
注册或创建 Google Cloud 项目;系统会提示您完成以下步骤。如果您已注册有 Earth Engine 访问权限的项目,请跳至下一部分。
- 选择项目的用途:商业用途或非商业用途。
- 如果用途是非商业用途,请选择项目类型。
- 创建新的 Google Cloud 项目或选择现有项目。
- 如果用途为商业用途,请验证您的项目或为其设置结算功能。
- 确认您的项目信息。
注意:如果您不打算保留在此过程中创建的资源,请创建新的项目,而不要选择现有的项目。完成本教程介绍的步骤后,您可以删除项目,并移除项目拥有的所有资源。
笔记本设置
借助 Jupyter 笔记本,您可以使用 Earth Engine 并以交互方式探索结果。最快的上手方式是使用 Google Colab 笔记本中的笔记本。您可以打开新的笔记本,然后将以下代码块复制到各个单元格中,也可以使用预先填充的 Earth Engine Python 快速入门笔记本。- 导入 Earth Engine 和 geemap 库。
import ee import geemap.core as geemap
- 对 Earth Engine 服务进行身份验证和初始化。按照随即显示的提示完成身份验证。请务必将 PROJECT_ID 替换为您为此快速入门设置的项目的名称。
ee.Authenticate() ee.Initialize(project='PROJECT_ID')
将光栅数据添加到地图
- 加载指定时间段内的气候数据并显示其元数据。
jan_2023_climate = ( ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR') .filterDate('2023-01', '2023-02') .first() ) jan_2023_climate
- 实例化地图对象,并将温度带添加为具有特定可视化属性的图层。显示地图。
m = geemap.Map(center=[30, 0], zoom=2) vis_params = { 'bands': ['temperature_2m'], 'min': 229, 'max': 304, 'palette': 'inferno', } m.add_layer(jan_2023_climate, vis_params, 'Temperature (K)') m
向地图添加矢量数据
- 创建一个包含三个城市点的矢量数据对象。
cities = ee.FeatureCollection([ ee.Feature(ee.Geometry.Point(10.75, 59.91), {'city': 'Oslo'}), ee.Feature(ee.Geometry.Point(-118.24, 34.05), {'city': 'Los Angeles'}), ee.Feature(ee.Geometry.Point(103.83, 1.33), {'city': 'Singapore'}), ]) cities
- 将城市位置添加到地图并重新显示。
m.add_layer(cities, name='Cities') m
提取数据并绘制图表
- 导入 Altair 图表库。
%pip install -q --upgrade altair import altair as alt
- 将这三个城市的气候数据提取为 pandas DataFrame。
city_climates = jan_2023_climate.reduceRegions(cities, ee.Reducer.first()) city_climates_dataframe = ee.data.computeFeatures( {'expression': city_climates, 'fileFormat': 'PANDAS_DATAFRAME'} ) city_climates_dataframe
- 将各个城市的温度绘制为条形图。
alt.Chart(city_climates_dataframe).mark_bar(size=100).encode( alt.X('city:N', sort='y', axis=alt.Axis(labelAngle=0), title='City'), alt.Y('temperature_2m:Q', title='Temperature (K)'), tooltip=[ alt.Tooltip('city:N', title='City'), alt.Tooltip('temperature_2m:Q', title='Temperature (K)'), ], ).properties(title='January 2023 temperature for selected cities', width=500)
后续步骤
- 了解如何使用 Earth Engine 的对象和方法分析数据。
- 了解 Earth Engine 的处理环境。
- 了解 Earth Engine 的机器学习功能。
- 了解如何将计算结果导出到 BigQuery。