问题标签 [google-earth-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2316 浏览

python - Google Earth Engine Python API 的解决方法,不支持 Python 3 中的 `ee.mapclient`

所以我使用了谷歌地球引擎并处理了他们仓库中的一些示例代码。我正在使用 Python 3.6。看起来谷歌将不再支持 Python 3 中的映射功能ee.mapclient()。我想知道是否有人找到了合适的解决方法?让我概述一下问题。

我试图加载ee.mapclient来绘制地图。

但我得到一个错误:

这个cStringIO问题很容易解决: python 3.4.0 email package install: ImportError: No module named 'cStringIO'

所以我去 Google Earth Engine Repo 上发布了一个问题,但发现了一个预先存在的问题:

https://github.com/google/earthengine-api/issues/16

Tk在这个问题中,开发人员承认了这个问题,但表示由于底层包的限制,他们不会修复它。

这是该问题的引述:

我们一直没有积极维护 mapclient 对象,因为它依赖于 Tk,一个图形用户界面工具包,它在不同的机器上表现不同。您能描述一下您需要 mapclient 的用例吗?我们或许可以提出一种替代方法。

谷歌开发人员提出提交解决方法,但到目前为止尚未发布任何解决方法。

因此,我想知道是否有其他人在 Python3.6 中找到了解决此问题的合适解决方法?

通过一个真正的代码示例,我可以从 Google 示例存储库中提供以下代码:

0 投票
2 回答
749 浏览

javascript - 将 Earth Engine javascript 库导入另一个 javascript 文件

抱歉,我不是一个 Javascript 程序员,所以这是一个相当菜鸟的问题。但我在尝试将 Google Earth Engine api 文件导入另一个 javascript 文件时遇到了麻烦。Earth Engine repo 中的所有示例都使用<script src="/static/ee_api_js.js"></script>in html 来访问 Earth Engine 功能,但我想避免使用 html。

我尝试遵循标准的 Javascript 程序。这是我得到的代码。

我收到的错误信息是:

原始ee_api_js.js文件位于 github 存储库中: https ://github.com/google/earthengine-api/tree/master/javascript/build

不知道为什么这个模块没有正确导入?有任何想法吗。

0 投票
1 回答
1970 浏览

python - Google EarthEngine:reduceRegion() 的时间序列

我正在使用 Google EarthEngine Python API。我有一个图像集 (MODIS),并希望提取一个包含每个时间步长的区域平均 NDVI 的时间序列。

目前,我正在迭代单个图像并提取每个图像的值。像

问题:有没有办法在对 EarthEngine 的单个请求中获得相同的结果,因为我倾向于遇到请求限制。

0 投票
1 回答
203 浏览

google-cloud-datalab - Python 安装问题 - GCP 上的 Datalab

我是 Google Earth Engine 的新手,由于我更熟悉 Python,我决定(尝试)安装 Python 库。我一直按照此处找到的说明进行操作。我在我的 Mac (Mac OS X) 上执行此操作并将我的 Python 版本升级到 2.7.14。我半成功地安装了 Google Cloud SDK 和 gcloud datalab 组件。我这样说是因为我必须为我的 bash_profile 添加别名,以便 gcloud 和 datalab 命令在终端上工作。

我正处于必须创建 Cloud Datalab 实例的步骤中,这就是我真正遇到麻烦的地方。按照说明,我在命令行上运行以下行:

当我运行这些行时,我只会收到以下错误:

我一直在尝试查看文档以查看是否需要在上面的三行中修改某些内容(也许它说 USER?),但我无法弄清楚。我认为该命令正在尝试访问我安装但可能未正确引用/链接的库之一。

提前感谢您的时间和帮助!

0 投票
3 回答
7085 浏览

javascript - Google Earth Engine 中带有 map() 函数的双循环

Google Earth Engine Developer's Guide中,有一个避免for()循环的建议。他们建议使用map()函数作为这个例子:

我试图在计算 VCI 之前从每个月/年中选择 MODIS 场景。所以,我采取的方法是双循环:

有没有一种方法可以复制这样的双循环,并map()具有达到服务器端方法的功能?

0 投票
0 回答
54 浏览

javascript - 如何将数据作为参数从 Web 应用程序发送到 C++ 并返回?

让我给你一些关于这个问题的背景。

我加入了一个中途项目,我们需要根据 GEOTIFF 地图定义的某些参数生成一些坐标数据。我需要从地图中获取坐标数组,将它们发送到处理,并检索一个新的坐标数组,然后我将在 Gmap 中显示。

我们可以获得数组,我们可以处理它们,我们可以取回新数组,但所有内容都在单独的实例上,并且永远不会作为唯一的应用程序。这是我们的主要目标。

我唯一的问题是,生成第二个数组的算法在单独的 c++ 程序中运行,而生成第一个数组的接口托管为在 python 2.7 运行时运行 jquery、谷歌地球引擎和谷歌地图 API 的 Web 应用程序。我们需要沟通这两者以获得独特的应用程序,而我以前从未遇到过这种实现。

所以我的问题可以分为:

  1. 如何从 Web 应用程序发送一组数据作为 C++ 例程的参数?
  2. 如何从 C++ 例程中检索结果数组?

主要问题是我不知道如何处理这种实现。

提前致谢。

0 投票
1 回答
1154 浏览

javascript - 将栅格值提取到具有缩减区域的点要素。错误:“超出用户内存限制”

我对 Earth Engine 和 Javascript 非常陌生,所以如果我的问题的解决方案非常简单,我不会感到惊讶。无论如何,我这几天一直在尝试解决这个问题,但我并没有做得更好。

我正在尝试获取美国沿海一些感兴趣区域和一些潮汐测量仪之间的累积成本距离。为此,我首先根据国家高程图计算了像素成本。然后,我通过内置函数计算了累积成本cumulativeCost。一切都很顺利。现在我正在尝试提取潮位计位置的累积成本值。为此,有人建议我使用该reduceRegions方法。我尝试了以下代码,但没有成功。

我将发布我的整个代码,以便可以复制。请注意,我遇到问题的部分是第二个。

提前非常感谢。

0 投票
1 回答
2352 浏览

google-earth-engine - 如何在谷歌地球引擎中平滑 ndvi 曲线

在此处输入图像描述

如何平滑ndvi曲线,看起来更连续。我在 GEE 中重新采样了曲线,但它变得更糟

0 投票
0 回答
1690 浏览

python - 如何从 Google 地球引擎获取图片集的下载网址

我对 Google 地球引擎还是比较陌生,但有一个关于获取图像集中每个图像的下载 URL 的问题。问题正是,我如何获得图像集合中每个图像的下载 url 集——假设我已将每个图像缩减到合理的大小。

请注意,我确实查看了 Stackoverflow 并发现了一个关于将单个图像下载到 google Drive 的现有问题,但这个问题没有提供有关图像集合的任何信息。

如何使用谷歌地球引擎的 python API 下载图像

以下代码将生成一些 Landsat 8 图像的小图像块。每个补丁的大小只有几 kb。

现在我想下载集合中的每个图像col

Earth Engine 提供了几种迭代图像集合的方法:map()anditerate()函数,但显然这两个函数都不适用于下载函数。

现在看来,一旦我可以使用该函数为单个图像生成 url:

请注意,由于某种原因,我似乎无法让boundary_geojson变量正常工作。

现在这组 url 应该是一个简单的调用

但这不起作用。

有谁知道如何生成与图像集中的图像对应的 url 列表?

0 投票
0 回答
422 浏览

python - 构建 从使用 sphinx 创建的 docs 文件夹中读取 Docs 文档

我制作了一个完全依赖于 Google Earth Engine Python API的 python 包( https://github.com/gee-community/gee_tools )。虽然earthengine-api包是本地安装的,但要获得对对象的完整和真实访问,您需要以简单的方式进行身份验证:

但为了让它发挥作用,你必须

通过运行 earthengine authenticate 授权访问您的 Earth Engine 帐户

该软件包对我和所有可以进行身份​​验证的用户都可以正常工作。因此,我使用 sphinx 构建了文档,它看起来非常好 ( http://geetools.readthedocs.io )。问题是在我的环境中构建完美,但在阅读文档时没有,因为它无法在他们的环境中进行身份验证,所以文档没有正确构建。

这是阅读文档的日志:

python /home/docs/checkouts/readthedocs.org/user_builds/geetools/envs/latest/bin/sphinx-build -T -E -b readthedocs -d _build/doctrees-readthedocs -D language=en 。_build/html

我不想将我的凭据放入代码中,所以,我的问题是:

有没有办法只“上传”我在本地构建的文档文件夹来阅读文档?或者我只需要使用另一个托管服务提供商?

我阅读了http://dont-be-afraid-to-commit.readthedocs.io/en/latest/documentation.html并发现

你不想提交你的渲染文件,只是源文件