code.earthengine.google.com 上的 Earth Engine (EE) 代码编辑器是 Earth Engine JavaScript API 的基于 Web 的 IDE。代码编辑器功能旨在轻松快速地开发复杂的地理空间工作流。代码编辑器包含以下元素(如图 1 所示):
- JavaScript 代码编辑器
- 用于直观呈现地理空间数据集的地图显示界面
- API 参考文档(“文档”标签页)
- 基于 Git 的脚本管理器(“脚本”标签页)
- 控制台输出(“控制台”标签页)
- 用于处理长时间运行的查询的任务管理器(“任务”标签页)
- 交互式地图查询(“检查器”标签页)
- 搜索数据归档或已保存的脚本
- 几何图形绘制工具

图 1. Earth Engine 代码编辑器 (code.earthengine.google.com) 的组件图。
代码编辑器提供多种功能,可帮助您充分利用 Earth Engine API。在脚本标签页上查看示例脚本或保存您自己的脚本。使用检查器标签页放置在地图上的查询对象。 使用 Google Visualization API 显示和绘制数值结果图表。 点击获取链接按钮,与协作者和好友分享脚本的唯一网址。您在代码编辑器中开发的脚本会发送给 Google 进行处理,生成的地图图块和/或消息会发送回来,以便在地图和/或控制台标签页中显示。您只需使用网络浏览器(建议使用 Google Chrome 以获得最佳效果)并连接到互联网,即可运行代码编辑器。以下各部分将更详细地介绍 Earth Engine 代码编辑器的各个元素。
JavaScript 编辑器
JavaScript 编辑器将:
- 在您输入代码时设置代码格式并突出显示代码
- 用下划线标记存在问题的代码,提供修复建议和其他语法提示
- 自动补全成对的引号、方括号和圆括号
- 为 Earth Engine 函数提供代码补全提示
代码编辑器上方有用于运行脚本、保存脚本、重置输出地图和控制台以及获取脚本链接的按钮。当用户按下获取链接按钮时,浏览器地址栏中会显示一个唯一链接。此链接表示按下按钮时编辑器中的代码。
API 参考文档(“文档”标签页)
代码编辑器的左侧是 Docs 标签页,其中包含完整的 JavaScript API 文档。您可以在文档标签页中搜索和浏览文档。
脚本管理器(“脚本”标签页)
脚本标签页位于代码编辑器的左侧面板中,紧邻 API 文档。脚本管理器会将私有脚本、共享脚本和示例脚本存储在 Google 托管的 Git 代码库中。代码库按访问权限级别排列,您的私有脚本存储在您在 Owner 文件夹中拥有的代码库中:users/username/default。除非您与他人共享,否则您(且只有您)有权访问所有者文件夹中的代码库。写入者文件夹中的代码库是其所有者已授予您写入权限的代码库。您可以向 Writer 文件夹中的代码库添加新脚本、修改现有脚本或更改对这些代码库的访问权限(但您无法移除其所有者)。读取者文件夹中的代码库是其所有者已向您授予读取权限的代码库。Examples 文件夹是由 Google 管理的特殊代码库,其中包含代码示例。归档文件夹包含您有权访问但其所有者尚未从旧版脚本管理器迁移的旧版代码库。使用脚本标签页顶部的过滤条件栏搜索脚本。

图 2. 脚本管理器。
点击
按钮可在 Owner 文件夹中创建新代码库,或在代码库中创建文件夹和文件。您可以使用 图标重命名脚本,并使用 图标删除脚本。您可以使用拖放功能移动脚本并将其整理到文件夹中(图 2)。如果您将脚本拖动到其他代码库,系统会复制该脚本。
所有脚本和代码库都会保留完整的版本记录。点击脚本或代码库旁边的 图标,即可比较脚本或代码库与旧版本的差异,或将其恢复为旧版本。如需删除代码库,请点击 图标。如需配置对代码库的访问权限,请点击代码库名称旁边的 图标。请注意,如果您共享某个代码库,与您共享该代码库的人员需要点击设置对话框中显示的链接来接受该代码库。点击脚本管理器中代码库名称后面的 图标,即可隐藏之前接受的代码库。
您可以使用 Git 访问代码库,因此可以在代码编辑器之外管理和修改脚本,也可以将脚本与 GitHub 等外部系统同步。(如需详细了解 Git,请参阅本教程)。点击代码库名称旁边的 图标,查看有关克隆代码库的说明。 请注意,您可以前往 earthengine.googlesource.com 浏览您有权访问的代码库。对于某些 Git 操作,您可能需要前往 earthengine.googlesource.com 页面顶部的“生成密码”链接来创建身份验证凭据。
脚本模块
最好编写模块化、可重复使用的代码,以便在脚本之间共享,而无需进行大量复制和粘贴。为了实现模块化开发,Earth Engine 提供了在脚本之间共享代码的功能。例如,假设您编写了一个可执行一组有用操作的函数。新脚本可以直接加载该函数,而无需将该函数的代码复制到新脚本中。如需让其他脚本可以使用某个函数或对象,请将其添加到名为 exports 的特殊对象中。如需在其他脚本中使用该代码,请使用 require 函数加载其他脚本中的导出内容。例如,假设您在名为 FooModule.js 的文件中定义了以下模块,该文件位于名为 Modules 的文件夹中:
代码编辑器 (JavaScript)
/** * The Foo module is a demonstration of script modules. * It contains a foo function that returns a greeting string. * It also contains a bar object representing the current date. * @module Modules/FooModule */ /** * Returns a greeting string. * @param {ee.String} arg The name to which the greeting should be addressed * @return {ee.String} The complete greeting. */ exports.foo = function(arg) { return 'Hello, ' + arg + '! And a good day to you!'; }; /** * An ee.Date object containing the time at which the object was created. */ exports.bar = ee.Date(Date.now());
请注意 exports 关键字以 exports.objectToExport 的形式使用。
您可以使用 require 函数在其他脚本中使用此模块。例如:
代码编辑器 (JavaScript)
var Foo = require('users/username/default:Modules/FooModule.js'); print(Foo.doc); print(Foo.foo('world')); print('Time now:', Foo.bar);
require 函数需要一个字符串,用于描述模块位置的绝对路径。具体来说,require() 的实参采用 'pathToRepository:pathToModuleScript' 格式。您只能从您拥有和/或具有读取权限的代码库中加载模块。如果您希望其他人能够使用您的模块,则必须与您希望授予访问权限的其他用户共享代码库。您可能需要为模块添加文档,以帮助他人了解如何使用该模块;我们建议使用 JSDoc 样式和 @module 标记。
您可以使用网址参数 ?scriptPath={repo}:{script} 来分享对代码库中文件的引用,例如 https://code.earthengine.google.com/?scriptPath=users/username/utils:utils。访问相应网址后,系统会将引用的文件及其代码库添加到脚本标签页上的 Reader 或 Writer 目录中,具体取决于您对共享代码库的权限级别。
资产管理器(“资产”标签页)
资源管理器位于左侧面板的资源标签页中。使用资产管理器(图 3)在 Earth Engine 中上传和管理您自己的图片资产。 如需了解详情,请参阅“资产管理器”页面。

图 3. 资产管理器。
脚本链接
可以通过编码网址分享代码编辑器脚本。以下部分介绍了生成脚本网址的各种方法、可用选项以及管理脚本网址的方法。
获取链接
代码编辑器顶部的“获取链接”按钮(图 4)提供了一个用于生成脚本网址和设置脚本行为选项的界面。请注意下文所述的快照网址与已保存脚本网址之间的区别。

图 4. “获取链接”按钮。
快照脚本链接
编辑器中的代码可以通过编码的快照网址进行分享,该网址会在点击代码编辑器顶部的“获取链接”按钮时创建。当拥有 Earth Engine 账号的用户访问该网址时,浏览器会前往代码编辑器,并复制创建链接时的环境,包括代码、导入、地图图层和地图位置。点击“获取链接”按钮后,系统会自动将脚本链接复制到剪贴板。 此外,系统还会显示一个对话框,其中提供用于控制共享脚本执行的选项,以及用于复制和访问生成的链接的按钮。控制选项包括阻止脚本自动运行,以及在有人打开共享链接时隐藏代码窗格。可通过“Esc”键或点击页面上的其他位置来关闭可拖动的对话框。
已保存的脚本链接
保存的脚本可以选择共享一个链接,该链接将始终加载最新保存的版本,并且只有您和其他当前有权访问包含该脚本的代码库的用户才能访问。如需使用此功能,请从“脚本管理器”标签页中加载已保存的脚本,然后点击“获取链接”按钮右侧的下拉箭头,并选择“复制脚本路径”。系统随即会显示一个对话框,其中包含可共享的脚本网址。请注意,脚本网址也已在浏览器的地址栏中设置。如需有关与他人共享代码库的指导,请参阅脚本管理器部分。
脚本链接管理
“获取链接”按钮右侧的下拉按钮包含“管理链接”选项。点击此选项会加载一个新的浏览器标签页,其中包含一个界面,供您回忆、移除和下载之前生成的脚本链接。选择脚本并按下载按钮后,系统会将一个压缩文件夹 (“code_editor_links.zip”) 下载到您的系统中,其中包含每个所选脚本的 .txt 文件表示形式。
脚本链接网址参数
ui.url 模块允许通过 get 和 set 方法以编程方式操纵脚本网址的 fragment 标识符。这意味着,代码编辑器脚本和 Earth Engine 应用可以读取网页网址中的值并将其存储起来。请注意以下两个网址的末尾,第一个网址将 debug 变量设置为 false,第二个网址将其设置为 true;访问这两个链接,并注意控制台中的调试复选框在第一个网址中未选中,而在第二个网址中已选中,这会改变每个脚本的行为。
https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=false;
https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=true;
此功能可用于设置地图缩放和中心,以及您在向特定人员或群组发送链接时可能想要自定义的其他行为。
搜索工具
如需查找可在脚本中使用的数据集,您可以使用数据归档的搜索工具。搜索工具是代码编辑器顶部显示“搜索地点和数据集…”的文本框。在搜索栏中输入数据产品、传感器或其他关键字的名称,然后点击 按钮,即可查看匹配的地点、栅格和表格数据集的列表。点击任何栅格或表格结果,即可查看相应数据集在归档中的说明。
如需将数据集直接导入到脚本中,请点击数据集说明中的导入链接或
按钮。
导入
将数据集导入脚本的结果会整理到脚本顶部的“导入”部分,在您导入内容之前,该部分处于隐藏状态。创建一些导入后,您应该会看到类似于图 5 的界面。如需将导入项复制到其他脚本,或将导入项转换为 JavaScript,请点击导入项标题旁边的 图标,然后将生成的代码复制到脚本中。您可以使用 图标删除导入项。

图 5. 代码编辑器顶部的“导入”部分。
地图
API 中的地图对象是指代码编辑器中的地图显示。例如,Map.getBounds() 将返回代码编辑器中显示的地理区域。查看 API 中的 Map 函数,了解此显示屏的其他自定义设置。
图层管理器
使用地图右上角的图层管理器调整添加到地图中的图层的显示。具体来说,您可以使用滑块切换图层的可见性或调整其透明度。点击 图标可调整各个图层的可视化参数。随即显示的视觉呈现工具(图 6)可让您以互动方式配置图层显示参数。点击工具右侧的按钮(默认情况下,该按钮会根据提供的最小值和最大值范围执行自定义拉伸),以将显示内容线性拉伸到显示窗口中图像值的百分位数或标准差。统计信息是根据地图窗口中当前缩放级别下的所有像素计算得出的。使用滑块调整伽玛和/或透明度。点击调色板单选按钮,然后通过添加颜色 ()、移除颜色 () 或手动输入以英文逗号分隔的十六进制字符串列表 () 来指定自定义调色板。点击应用,将可视化图表参数应用到当前显示内容。点击 Import(导入),将可视化参数对象作为新变量加载到脚本的导入部分。

图 6. 图层可视化工具。
“检查器”标签页
任务管理器旁边的检查器标签页可让您以交互方式查询地图。当 Inspector 标签页处于激活状态时,光标会变成十字线,当您点击地图时,系统会显示光标下方的位置和图层值。例如,图 7 显示了在 Inspector 标签页中点击地图后显示的结果。光标位置和缩放级别会与像素值和地图上的对象列表一起显示。对象列表是交互式的。如需查看更多信息,请展开检查器标签页中的对象。

图 7. “检查器”标签页会显示有关光标位置和光标下方图层值的信息。
控制台标签页
当您从脚本中print()某些内容(例如文本、对象或图表)时,结果将显示在控制台中。控制台是交互式的,因此您可以展开打印的对象,以获取有关它们的更多详细信息。
“任务”标签页
Earth Engine 任务是能够运行比标准 API 请求超时时间长得多的操作。这些长时间运行的任务是在 Earth Engine 和相邻系统(Google Cloud Storage、Google 云端硬盘等)中创建持久性制品的唯一机制,分为两类:Import 和 Export。
导入任务可用于将各种文件类型(.csv、.tif 等)的图片或表格上传到 Earth Engine。导出任务可用于执行 EE 计算系统中的计算并写入结果(请参阅导出数据指南)。
对于导出,代码编辑器中对 Export 函数的每次调用都会在任务标签页的未提交的任务部分中填充一个条目。如需向服务器提交导出任务,请点击任务旁边的运行按钮。系统会显示一个配置对话框,您可以在其中为任务指定各种参数。如果任务在创建时已完全指定(即对 Export 的调用包含所有必需的参数),请在点击运行时按住 ctrl 或 ⌘,以提交任务而不显示对话框。
对于导入,文件上传会在任务提交到服务器之前在本地进行。处于上传阶段的导入任务会在未提交的任务部分显示进度,并在文件上传完成后自动提交到服务器。
未提交的任务仅显示在创建它们的页面上,并且在关闭该页面时会丢失。将任务提交到服务器后,点击界面中的相应行即可查看有关任务状态的其他信息和选项,包括取消请求选项。
如需在全屏视图中查看和取消多个任务(包括在移动客户端上),请使用 Cloud 控制台中的“任务”页面。
Profiler
分析器会显示有关特定算法和计算的其他部分所消耗资源(CPU 时间、内存)的信息。这有助于诊断脚本运行缓慢或因内存限制而失败的原因。如需使用性能分析器,请点击“运行”按钮下拉菜单中的使用性能分析器运行选项。作为快捷方式,请按住 Alt 键(或 Mac 上的 Option 键)并点击“运行”,或按 Ctrl+Alt+Enter 键。这会在代码编辑器的右侧激活一个 Profiler 标签页。脚本运行时,分析器标签页会显示脚本的资源使用情况表。点击运行按钮(不进行性能分析)会使性能分析器标签页消失并停用性能分析器。
如需详细了解分析器的输出,请参阅计算概览页面。
AI 助理(“提问”标签页)
代码编辑器包含由 Gemini 提供支持的 AI 助理,可帮助您编写、调试和理解脚本。您可以在右侧面板的提问标签页中使用该助理。
如需详细了解如何设置和使用该助理,请参阅Earth Engine 代码编辑器中的 AI 助理指南。
几何图形工具
您还可以通过在屏幕上绘制几何图形,将其导入到脚本中。如需创建几何图形,请使用地图显示界面左上角的几何图形绘制工具(图 8)。如需绘制点,请使用地标图标
;如需绘制线,请使用线条图标
;如需绘制多边形,请使用多边形图标
;如需绘制矩形,请使用矩形图标
。(请注意,矩形是平面几何图形,因此无法放置在具有测地线几何图形(如线和多边形)的图层上。)
使用任何绘制工具都会自动创建一个新的几何图形图层,并在“导入”部分中为该图层添加导入语句。如需向新图层添加几何图形,请将鼠标悬停在地图显示中的“几何图形导入”上,然后点击新图层链接。您还可以通过“几何图形导入”部分切换几何图形的显示状态。请注意,绘制的几何图形默认是测地线,但矩形除外,矩形仅为平面。使用几何图形构造函数将其转换为平面几何图形。如需详细了解 Earth Engine 中的几何图形,请参阅几何图形页面。

图 8. 几何图形绘制工具位于地图显示的左上角。
如需配置几何图形导入到脚本中的方式,请点击地图上几何图形导入部分或代码编辑器导入部分中图层旁边的 图标。几何图形图层设置工具将显示在一个对话框中,该对话框应类似于图 9。请注意,您可以将绘制的形状导入为几何图形、要素或要素集合。您还可以通过几何图形导入设置更改图层的显示颜色、向图层添加属性(如果图层以 Feature 或 FeatureCollection 格式导入)或重命名图层。

图 9. 几何配置工具。
最后,如需防止图层中的几何图形被修改,您可以按图层旁边的 图标锁定图层。这样一来,您将无法在相应图层上添加、删除或修改任何几何图形。如需再次解锁图层,请按 图标。
我需要帮助!
点击代码编辑器右上角的 按钮,即可查看指向本开发者指南、其他帮助论坛、代码编辑器导览以及键盘快捷键列表的链接,这些快捷键可帮助您在地图上进行编码、运行代码和显示数据。点击 按钮即可提交 bug 报告、请求新功能、建议数据集,或在不需要回复的情况下发送其他反馈。