12

有没有更简单的方法将 Google 地球引擎 (javascript) 应用程序嵌入到网页中,而无需遵循Google EE 演示应用程序提供的折磨路线?

Earth Engine Code环境可以快速开发核心 GEE 应用程序。但是,将 GEE 应用程序嵌入网页所需的时间将是 GEE 应用程序的 10 倍。

所有演示应用程序似乎都需要 (a) 使用Google App Engine,(b) 用 Python 重新编码 GEE 应用程序,(c) 使用 jinja2 模板引擎将 python 代码链接到网页,以及 (d) 仍然有一些挥之不去的 javascript .

例如,在Trendy Lights 演示中,服务器端脚本程序server.py App Engine 启动并迅速变得复杂。(即使是更简单的演示也会走这条路。)

当用户第一次在浏览器中加载应用程序时,他们的请求被我们使用的框架 webapp2 路由到 MainHandler 类中的 get() 函数。

get() 函数将主网页(来自 index.html)连同浏览器渲染地球引擎地图所需的信息以及要在地图上显示的多边形的 ID 发送回。此信息通过名为 Jinja2 的模板引擎注入到 index.html 模板中,该引擎将来自 Python 上下文的信息放入 HTML 以供用户浏览器接收。

4

1 回答 1

3

之所以复杂,是因为授权。Earth Engine 调用必须针对某人的 Earth Engine 帐户进行授权。这必须是最终用户(请参阅:https ://github.com/google/earthengine-api/tree/master/demos/client-auth ,但仅在最终用户拥有 Earth Engine 帐户时才有效),或应用程序的凭据。如果应用程序的凭据只是卡在 javascript 中,那么任何人都可以窃取这些凭据并使用它们做任何他们想做的事情。因此,我们建议使用 appengine server-auth 路由 ( https://github.com/google/earthengine-api/tree/master/demos/server-auth ) 以确保您的凭据安全。

于 2017-12-05T15:19:40.427 回答