Earth Engine Apps

简介

Earth Engine 应用是适用于 Earth Engine 分析的动态可共享界面。借助应用,专家可以利用简单的界面元素来利用 Earth Engine 的数据目录和分析能力,让专家和非专家都能使用。

您可以通过在发布时生成的应用专用网址访问从 Earth Engine 发布的应用。无需拥有 Earth Engine 账号即可查看或与已发布的应用互动。创作者选择的精选应用也可在用户专用应用库中找到(例如USERNAME.users.earthengine.app)。

构建应用

Earth Engine 应用可以使用 Code Editor 中使用的大多数函数,但有少数例外情况。此外,我们在设计界面 API 时充分考虑了应用开发者的需求。如果您刚开始接触界面 API,请参阅 界面 API 概览

发布应用

如需从代码编辑器发布应用,请先加载要转换为应用的脚本,然后打开“应用管理”面板,您可以通过点击代码编辑器中脚本部分上方的 Apps 按钮来访问该面板。

“管理应用”按钮
“管理应用”按钮

然后,点击 NEW APP 按钮。

“新建应用”按钮
新建应用按钮

在对话框中,选择“编辑器访问权限”和应用名称,选择一个 Google Cloud 项目,然后指定应用源代码的位置。您可以使用“限制”标签页下的选项,将对此应用的访问权限限制为特定 Google 群组,也可以使其保持公开访问权限。对于可公开访问的应用,您还可以在“图库”标签页中为应用提供自定义预览图片和说明。如果您希望此应用显示在 USERNAME.users.earthengine.app 上可供下载的公开应用库中,请点击“在应用库中展示此应用”。您可以选择在“徽标”标签页中上传所需的图片,在应用的左上角添加自定义徽标。

选择编辑权限
选择修改权限:选择哪些用户可以修改应用。
发布应用、名称和网址
发布应用:选择名称、应用 ID 和 Cloud 项目。
发布应用、源代码
发布应用:选择应用源代码
发布应用 - 发布详情
发布应用:选择应用在图库中的展示方式、访问权限限制和自定义徽标等选项

管理您的应用程序

如需通过代码编辑器管理应用,请点击代码编辑器中脚本部分上方的 Apps(应用)按钮,打开“应用管理”面板。在这里,您可以更新应用的配置或删除应用。

管理应用
管理应用

在项目自有应用中与他人协作

默认情况下,您只能修改自己以用户名发布的应用。您可以使用项目拥有的应用协同处理应用。项目自有应用是指归某个 Cloud 项目所有并在该项目下发布的应用;任何具有 Earth Engine Apps Publisher IAM 角色的用户都可以修改和删除在该 Cloud 项目下发布的应用。 点击此处详细了解 Earth Engine IAM 角色

如需启用“项目自有应用”,请在“选择编辑权限”步骤中选择 Cloud 项目选项,然后选择要使用的 Cloud 项目,最后照常完成应用发布流程。该应用将发布到网域 PROJECT-ID.projects.earthengine.app,并且任何在 Cloud 项目中拥有 Earth Engine Apps Publisher IAM 角色的用户都可以对其进行修改。

发布项目自有应用
发布项目自有应用

如需查看 Cloud 项目的应用,请按 ADD CLOUD PROJECT(添加 Cloud 项目)按钮,然后选择相应 Cloud 项目。

添加 Cloud 项目
添加 Cloud 项目

如需与他人分享云项目,请按分享项目按钮。 系统随即会打开项目的 Cloud 控制台 IAM 页面,您可以在其中向协作者授予 Earth Engine Apps 发布商 IAM 角色。

启用“项目拥有的应用”
修改和删除项目自有应用

常见问题解答

如何从应用库中移除应用?
应用配置页面上的“精选此应用”复选框用于控制应用是否显示在“精选应用”页面上。访问权限受限的应用无法成为精选应用。
我的 Earth Engine 代码是否可见?
是的,任何可以访问应用的用户都可以。虽然在应用发布时,该代码不会清晰显示,但用户可以通过监控其网络浏览器的网络流量,轻松查看应用的 JavaScript。例如,在 Chrome 中,您可以查看开发者工具的 “网络”面板,找到相应 JavaScript。
已发布的应用出现“加载地图的某些部分时出错”错误的一些可能原因是什么?
确保应用中使用的所有图片或表格素材资源均已公开共享或与应用共享。在素材资源共享对话框中,选择“任何人都可以读取”选项,或从下拉列表中选择应用名称。对于仅限 Google 群组的应用,与该 Google 群组共享资源不会使该资源可供应用查看;相反,应与应用或公开共享资源。
为什么我会看到“应用尚未准备就绪”页面?
创建应用后,信息可能需要一些时间才能在系统中传播。这通常会在几分钟内解决。如果此错误仍然存在,请与我们联系以寻求帮助
为什么我绘制的几何图形会显示在我的应用中?
这样,您就可以轻松地在应用中显示参考几何图形,并创建可供用户修改几何图形的应用。如果您不希望显示或修改特定几何图形,可以在发布应用之前隐藏或锁定各个几何图形图层,以防止用户看到或修改它们。如需了解详情,请参阅 几何图形工具文档
什么是应用配额?
为防止错误的脚本或资源密集型脚本对服务可用性产生负面影响,Earth Engine 对并发查询设置了应用使用配额。此配额的运作方式与 Earth Engine 的 每位用户配额类似,但此配额与应用相关联,而不是与特定用户相关联。
我开发的每个应用都有自己的配额吗?
是的,每个应用都有单独的配额。对于使用 API 密钥创建的旧版应用,配额与您用于生成应用 API 密钥的 Cloud 项目相关联。 如果您从同一 Cloud 项目生成多个 API 密钥,它们将共享相同的使用配额。
为什么需要提供 Cloud Billing 账号?我需要为应用支付费用吗?
我们使用 Google Cloud Platform 来执行各种后台任务。创建 Earth Engine 应用不会产生费用。不过,Google Cloud Storage 并非免费的,因此,如果您选择将分析结果导出到 Google Cloud Storage,则可能会产生相关费用。
如何更好地了解应用使用情况和配额?

如果超出配额,Earth Engine 可能会返回 HTTP 429: Too Many Requests 错误。通常,这些错误由 Earth Engine 客户端库处理,该库会以指数退避算法封装请求,并重试查询,直到成功为止。Earth Engine 客户端库将重试该请求五次。

如果您的应用变得非常受欢迎,导致许多用户收到配额超出错误,用户会看到一条警告消息,Earth Engine 可能不得不(暂时)限制对该应用的访问权限。

为避免收到 429 错误,您可能需要为应用启用缓存,例如将可缓存的汇总统计信息存储为 Earth Engine 表资产,而不是动态计算这些统计信息。