当前位置:首页>python>一文搞定!Python 调用 GEE 的 geemap 激活与初始化全流程

一文搞定!Python 调用 GEE 的 geemap 激活与初始化全流程

  • 2026-10-11 11:03:08
一文搞定!Python 调用 GEE 的 geemap 激活与初始化全流程

一文搞定!Python 调用 GEE 的 geemap 激活与初始化全流程

对于遥感、地理信息系统(GIS)以及生态环境等领域的科研人员和数据工程师来说,Google Earth Engine(GEE)无疑是一件神器。

但在使用 Python 进行开发时,环境的激活与初始化往往会成为不少同学的“拦路虎”。

在正式进入实操之前,我们先来搞清楚两个核心工具分别是什么,以及它们能帮我们做什么。


什么是 GEE(Google Earth Engine)?

GEE 是由谷歌开发的一个集成了数 PB(Petabyte)级遥感卫星影像和全球地理空间数据集的云计算平台。

它的核心用途在于打破传统遥感数据“先下载、后处理”的繁琐模式。

通过 GEE,你无需将动辄几百 GB 的历史卫星数据下载到本地,即可直接调用谷歌强大的云端算力,进行全球或区域尺度的环境监测、植被覆盖分析、气候变化研究、地表覆盖分类等大规模计算。

什么是 geemap?

GEE 官方最原生的开发环境是基于 JavaScript 的在线代码编辑器(Code Editor)。

但对于更习惯使用 Python 进行数据科学、机器学习和自动化数据处理的开发者来说,JavaScript 在生态上存在一定局限。

geemap 便是为此而生的一个 Python 第三方库(由吴秋生教授开发)。

它完美地将 GEE 的云端算力与 Python 的数据科学生态(如 NumPy、Pandas、Xarray 等)桥接在一起。

它的主要用途是让开发者能够在 Jupyter Notebook 等 Python 环境中,通过极简代码实现:

  • • GEE 数据交互式地图可视化
  • • 空间数据分析
  • • 结果导出

为什么每年都要重新 initialize?

很多同学都会有一个共同痛点:

“每次隔一段时间重新跑 GEE Python 代码,都要重新折腾 geemap 初始化,真的太折磨了……”

所以今天这篇文章,我们就一次性把整个流程彻底讲清楚。

第一步:环境准备与代理设置

在使用 geemap 之前,我们需要先导入必要的库。

由于网络环境的特殊性,直接连接 GEE 往往会失败,因此配置网络代理是至关重要的一步。

请在代码中加入如下设置:

import ee
import
 geemap

# 请务必看一下自己的代理软件端口号是多少

# 不会看的可以直接问 AI


geemap.set_proxy(port=10809)

⚠️ 注意:

port=10809 需要替换为你自己电脑代理软件的实际端口号。


第二步:获取并填写授权码

接下来就是核心认证环节。

如果你是第一次配置,或者之前的凭证失效了,请使用:

ee.Authenticate(force=True)

完整示例:

import ee

# 强制重新认证

ee.Authenticate(force=True)

认证流程详解

运行后,系统会弹出提示,并生成一串很长的 URL 链接。

你需要:

  1. 1. 将该链接复制到平时登录 GEE 账号的 Chrome 浏览器中
  2. 2. 按照网页提示一步步授权
  3. 3. 授权完成后,网页会生成一个 verification code(验证码)
  4. 4. 将验证码复制回 Python/Jupyter 的输入框中

完成后,你就已经认证成功了。

第三步:验证是否初始化成功

我们可以新建一个 .ipynb 文件进行测试。

测试代码如下:

import ee
import
 geemap
import
 os

# 设置代理

geemap.set_proxy(port=10809)

# 认证与初始化

ee.Authenticate()
ee.Initialize()

# 创建地图

Map = geemap.Map(center=(35, 122), zoom=8)

# 显示地图

Map

如何判断成功?

如果 Notebook 中顺利出现:

  • • 可拖动
  • • 可缩放
  • • 带底图

的交互式地图,那么说明:

✅ GEE Python 环境已经彻底打通。


💡 进阶答疑:神秘的 credentials 文件到底是什么?

很多小伙伴在配置时都会问:

“credentials 文件是干啥的?”

“是不是 authenticate 完就会自动生成?”

“为什么我找不到它?”

这里统一解释一下。


1. credentials 文件是干什么的?

credentials 本质上是一个:

保存 GEE OAuth 2.0 Refresh Token(刷新令牌)的本地密钥文件。

当你第一次执行:

ee.Authenticate()

并完成网页授权后,Python 客户端就会自动在本地生成该文件。

之后你再运行:

ee.Initialize()

系统会自动读取这个文件完成身份验证。

这也是为什么:

✅ 后续不用每次都重新网页授权。


2. credentials 文件在哪里?

为了安全,系统默认会把它放在隐藏目录里。


Windows 系统

通常位于:

C:\Users\你的用户名\.config\earthengine\credentials

Windows 看不到 .config 怎么办?

因为 .config 是隐藏文件夹。

你需要:

  1. 1. 打开资源管理器
  2. 2. 点击顶部【查看】
  3. 3. 勾选【隐藏的项目】

这样就能看到了。


macOS / Linux 系统

通常位于:

~/.config/earthengine/credentials

3. credentials 失效怎么办?

如果后续出现:

  • • 初始化报错
  • • Token 失效
  • • 想更换 GEE 账号

可以直接:

  1. 1. 删除 credentials 文件
  2. 2. 重新运行:
ee.Authenticate(force=True)

系统就会重新弹出登录授权页面,并自动生成新的 credentials 文件。


常见报错总结


1. 无法连接 Earth Engine

常见原因:

  • • 没开代理
  • • 代理端口错误
  • • 科学网络工具未启动

解决方法:

geemap.set_proxy(port=你的端口)

2. ee.Initialize() 报错

大概率是:

  • • credentials 文件损坏
  • • Token 失效

解决:

删除 credentials 后重新认证。


3. Jupyter 地图不显示

可能原因:

  • • notebook 缺少 ipyleaflet
  • • Jupyter 扩展未启用

可尝试安装:

pip install ipyleaflet

总结

整个 GEE Python 初始化流程,其实核心只有三步:

步骤
内容
第一步
配置代理
第二步
Authenticate 认证
第三步
Initialize 初始化

真正容易卡住的地方,其实是:

  • • 代理
  • • credentials 文件
  • • Token 失效

只要理解了这几个核心机制,后续基本就能一路畅通。


最终完整示例代码

import ee
import
 geemap
import
 os

# 设置代理

geemap.set_proxy(port=10809)

# 认证

ee.Authenticate(force=True)

# 初始化

ee.Initialize()

# 创建地图

Map = geemap.Map(center=(35, 122), zoom=8)

# 显示地图

Map

参考资料

  • • GEE 官方文档
  • • geemap 官方 GitHub
  • • Earth Engine Python API 文档

最新文章

随机文章