如何无需下载在Jupyter Notebook中加载并显示Google Earth Engine影像?
在Jupyter Notebook中直接处理并显示Google Earth Engine影像(无需下载)
前置准备
先确认Jupyter环境里装好了必要依赖,并且完成GEE初始化:
- 安装依赖:
pip install earthengine-api geemap matplotlib - 初始化GEE:
import ee; ee.Initialize()(首次使用需要运行ee.Authenticate()完成账号验证)
核心实现方案(用geemap库)
geemap是专门适配Jupyter的GEE可视化工具,能直接渲染影像不用下载,针对你手里的ee.image.Image类型影像,操作如下:
1. 配置可视化参数
先根据你的影像波段设置对应的可视化参数(以常见的RGB卫星影像为例):
import geemap # 示例:Landsat系列影像的RGB波段可视化参数,根据你自己的影像调整 vis_params = { 'min': 0, 'max': 3000, 'bands': ['B4', 'B3', 'B2'] }
2. 交互式显示影像
创建地图组件并直接加载GEE影像,运行后Jupyter里会弹出可交互的地图:
# 设置地图中心坐标和缩放级别,替换成你影像的覆盖区域 Map = geemap.Map(center=[39.9, 116.4], zoom=10) # 添加你的影像到地图,第三个参数是图层名称 Map.addLayer(image4, vis_params, 'My GEE Image') # 显示地图 Map
3. 静态图显示(可选)
如果需要静态图片,可把影像转为numpy数组后用matplotlib展示:
import matplotlib.pyplot as plt # 先定义研究区域,替换成你需要的范围 roi = ee.Geometry.Rectangle([116.0, 39.8, 116.8, 40.0]) # 将GEE影像转为numpy数组 img_array = geemap.ee_to_numpy(image4, region=roi, bands=['B4', 'B3', 'B2']) # 调整数组维度并归一化显示 img_array = img_array.transpose(1, 2, 0) plt.imshow(img_array / 3000) plt.axis('off') plt.show()
常见问题排查
- 如果加载失败,先检查GEE账号是否正常初始化,可重新运行
ee.Authenticate()验证 - 确认可视化参数里的波段名称、数值范围和你的影像匹配
- 静态图模式下,确保定义的roi在影像的覆盖范围内
内容的提问来源于stack exchange,提问作者edaasc
相关产品推荐
相关产品推荐

