Earth Engine Apps

简介

Earth Engine 应用是适用于 Earth Engine 分析的动态可共享界面。借助应用,专家可以使用简单的界面元素来利用 Earth Engine 的 Data Catalog 和分析能力,供专家和非专家使用。

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

构建应用

Earth Engine 应用可以利用代码编辑器中使用的大多数相同功能,但有一些例外。此外,我们在设计界面 API 时也考虑到了应用开发者。如果您刚开始接触 User Interface API,请参阅 UI API 概览。

发布应用

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

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

然后点击 NEW APP(新建应用)按钮。

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

在对话框中,选择编辑权限、应用名称、Google Cloud 项目,并指定应用源代码的位置。使用“限制”标签页下的选项,将此应用的访问权限限制为特定 Google 群组,或保持公开访问。对于可公开访问的应用,您还可以在“Gallery”(库)标签页中为应用提供自定义预览图片以及说明。如果您希望此应用显示在您的公开应用库(网址为 USERNAME.users.earthengine.app)中,请点击“在应用库中推荐此应用”。您可以选择在应用的左上角添加自定义徽标,只需从“徽标”标签页中上传您选择的图片即可。

选择编辑权限
选择编辑权限:选择哪些用户可以编辑应用。
发布应用、名称和网址
发布应用:选择名称、应用 ID 和云项目。
发布应用、源代码
发布应用:选择应用源代码
发布应用、发布详情
发布应用:选择各种选项,例如在图库中展示应用、访问权限限制和自定义徽标

管理您的应用程序

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

管理应用
管理应用

与他人协作处理项目拥有的应用

默认情况下,您以自己的用户名发布的应用只能由您自己修改。您可以使用项目拥有的应用在应用上进行协作。项目拥有的应用是指在云项目下拥有和发布的应用;任何拥有 Earth Engine Apps Publisher IAM 角色的用户都可以修改和删除在云项目下发布的应用。点击此处详细了解 Earth Engine IAM 角色。

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

发布项目拥有的应用
发布项目拥有的应用

如需查看 Cloud 项目的应用,请按添加 Cloud 项目按钮,然后选择 Cloud 项目。

添加云项目
添加云项目

如需与他人分享云项目,请按分享项目按钮。系统会将您转到项目的 Cloud 控制台 IAM 页面,您可以在其中向协作者授予 Earth Engine Apps Publisher IAM 角色。

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

常见问题解答

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