环境准备与界面导航:注册GEE账号、访问Code Editor、熟悉界面布局与基本设置
Google Earth Engine(GEE)作为云端遥感计算平台,其核心优势在于“浏览器即IDE”的轻量化工作模式。用户无需安装任何桌面软件,只需通过浏览器访问 Code Editor,即可完成从数据检索、算法编写到结果可视化的全流程操作。本章将引导您完成账号注册、环境访问、界面认知与个性化配置,为后续的遥感算法实战打下坚实的操作基础。我们将重点剖析Code Editor的四大核心面板(脚本区、地图区、控制台、文档区)的功能边界与协作逻辑,并介绍高频快捷键与常见配置陷阱。
2.1 账号注册与访问准备
核心原理:GEE 采用“云端账号 + 项目配额”的访问控制模型。用户必须拥有 Google 账号,并完成 Earth Engine 注册申请(通常需要 1-5 个工作日审批)。注册通过后,系统会分配一个专属的 Cloud Project,用于资源配额管理与 API 调用计费(非商用场景免费额度充足)。
操作流程:
- 注册 Google 账号:访问 accounts.google.com,建议使用 Gmail 邮箱注册,并开启两步验证以保障账号安全。
- 申请 GEE 权限:打开 earthengine.google.com,点击 “Sign Up” 按钮,填写所在机构、用途(建议选择“学术研究”或“教育”)、应用场景描述(如“基于 Sentinel-2 的植被覆盖变化监测”)。审批通过后,您会收到邮件通知。
- 访问 Code Editor:在浏览器地址栏输入
code.earthengine.google.com,使用已授权的 Google 账号登录。首次登录时,系统会提示选择或创建 Cloud Project,建议命名为gee-<你的名字拼音>格式。
2.2 Code Editor 四大核心面板深度解析
判断方法:Code Editor 的界面布局遵循“左-中-右”三段式结构,每个面板承担独立功能,但通过“对象引用”和“回调函数”实现数据联动。理解面板间的数据流是高效编程的关键。
| 面板名称 | 核心功能 | 典型操作 | 与其它面板联动 |
|---|---|---|---|
| 脚本区 (Scripts) | 代码编辑、文件管理、版本历史 | 新建脚本、保存版本、搜索文件 | 点击“Run”将代码发送至服务器执行,结果反馈至地图区与控制台 |
| 地图区 (Map) | 空间数据可视化、图层叠加、缩放漫游 | 添加图层、切换底图、查看像素值 | 通过 Map.addLayer() 将服务器端影像推送至前端显示 |
| 控制台 (Console) | 输出打印信息、错误日志、任务状态 | 查看 print() 结果、检查错误堆栈 |
打印对象属性,辅助调试脚本逻辑 |
| 文档区 (Docs) | API 参考、数据类型说明、算法参数 | 搜索 ee.Image、查看函数签名 |
点击文档中的“插入”按钮,自动将代码模板插入脚本区 |
实战场景:假设您需要加载 Sentinel-2 影像并计算 NDVI。操作路径为:在脚本区输入 var s2 = ee.ImageCollection("COPERNICUS/S2_SR"),点击“Run”后,地图区会自动显示影像集合的默认预览(通常为真彩色合成)。此时,您可以在控制台输入 print(s2.size()) 查看影像数量,并在文档区搜索 normalizedDifference 函数,点击插入后补全波段参数。整个过程无需离开 Code Editor,所有面板协同工作。
['blue', 'white', 'green'],并手动设置 min=-1, max=1,避免默认拉伸导致地物对比度不足。
2.3 基本设置与快捷键效率提升
核心原理:Code Editor 基于 Monaco 编辑器(VS Code 同款内核),支持丰富的个性化配置。合理的设置能显著减少重复操作,快捷键则能提升代码编写流畅度。
操作流程:
- 打开设置面板:点击右上角“齿轮”图标,或使用快捷键
Ctrl+,(Windows) /Cmd+,(Mac)。 - 推荐设置项:
- 字体大小:建议 14px,平衡可视范围与清晰度。
- 缩进:设置为 2 空格,符合 GEE 官方代码风格。
- 自动保存:开启“Auto Save”功能,避免浏览器崩溃导致代码丢失。
- 主题:选择“Dark+”或“Light+”,根据个人偏好调整。
- 高频快捷键清单:
| 快捷键 | 功能 | 适用场景 |
|---|---|---|
Ctrl+Enter |
运行全部代码 | 快速执行脚本 |
Ctrl+/ |
注释/取消注释 | 临时屏蔽代码块 |
Ctrl+Space |
自动补全提示 | 输入 API 方法名时触发 |
Ctrl+Shift+F |
格式化代码 | 统一缩进与换行 |
Ctrl+Shift+P |
命令面板 | 快速访问所有功能 |
// 分区注释 配合 Ctrl+Shift+\ 折叠代码块,保持编辑器整洁。
2.4 案例拆解:从零加载 Landsat 影像并完成真彩色显示
案例背景:某高校地理信息科学专业学生,首次使用 GEE 完成课程作业——加载 2023 年 6 月北京市中心的 Landsat-9 影像,并输出真彩色合成图。该生面临三个约束:① 不熟悉 GEE 的 API 命名规则;② 需要处理云遮挡问题;③ 希望将结果导出到个人网盘。
初始现象与目标:直接使用 ee.Image("LANDSAT/LC09/C02/T1_L2/LC09_123032_20230601") 加载影像,但地图区显示为全黑。目标是通过正确的波段组合与缩放参数,显示清晰的地表真彩色影像。
关键输入数据与参数:
- 影像 ID:
LANDSAT/LC09/C02/T1_L2/LC09_123032_20230601 - 真彩色波段:SR_B4(红)、SR_B3(绿)、SR_B2(蓝)
- 缩放因子:0.0000275(L2 级产品的反射率缩放系数)
分析判断过程:全黑的原因在于 Landsat L2 产品的反射率数值范围为 0-65535,而 Code Editor 默认的显示拉伸范围是 0-1。因此,需要先进行辐射定标,将 DN 值转换为反射率,再设置显示参数。
实际操作步骤:
// 加载影像并应用缩放因子
var image = ee.Image("LANDSAT/LC09/C02/T1_L2/LC09_123032_20230601")
.multiply(0.0000275);
// 定义真彩色显示参数
var trueColor = {
bands: ['SR_B4', 'SR_B3', 'SR_B2'],
min: 0.0,
max: 0.3,
gamma: 1.4
};
// 添加到地图
Map.centerObject(image, 10);
Map.addLayer(image, trueColor, 'Landsat-9 True Color');
// 打印影像元数据
print('影像日期:', image.date());
print('云量:', image.get('CLOUD_COVER'));
结果对比:执行上述代码后,地图区显示北京市区清晰的真彩色影像,植被呈绿色、水体呈深蓝色、建筑呈灰色。控制台输出影像日期为 2023-06-01,云量 2.3%,满足作业要求。
风险与代价:若直接使用 Map.addLayer(image, {bands:['SR_B4','SR_B3','SR_B2']}, 'RGB') 而不设置 min/max,影像仍会显示为全黑或全白。此外,Landsat 影像存在 16 天重访周期,若当日影像云量过高,需使用 ee.ImageCollection 按日期筛选并取中值合成。
复盘经验:① 遇到显示异常时,优先检查数值范围与缩放系数;② 使用 print() 输出影像属性,确认数据是否正常加载;③ 对于 L2 级产品,务必先乘缩放因子,再进行波段组合。
2.5 常见误区与总结复盘
误区一:忽略网络环境要求。GEE 的服务器位于海外,国内用户访问时可能出现地图瓦片加载缓慢或代码运行超时。建议使用稳定的国际网络,并避免在高峰期(北京时间 20:00-23:00)执行大规模计算任务。
误区二:混淆客户端与服务器端对象。在 Code Editor 中,print() 只能输出客户端对象(如数字、字符串、字典),而 ee.Image 是服务器端对象,必须通过 evaluate() 或 getInfo() 才能转换为客户端可读格式。初学者常犯的错误是直接 print(ee.Image("...")),导致控制台显示 Image 类型而非具体属性。
误区三:忽视代码版本管理。Code Editor 的脚本区支持“Save”按钮保存版本,但很多用户习惯直接覆盖保存,导致历史版本丢失。建议每次完成阶段性成果后,点击“Save”并填写版本描述(如“完成 NDVI 计算”),便于回溯。
ui.Chart.image.histogram 函数,绘制影像的 NDVI 直方图,并将结果截图保存。此练习将综合运用本章所有知识点,为后续章节的算法开发奠定操作基础。