问题标签 [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.
extraction - 在 Google 地球引擎中提取(剪辑)
我正在使用谷歌地球引擎,我正在尝试使用另一个图像(波段)提取/过滤(剪辑)波段中的像素。我计算了 NDVI 并创建了一个阈值,以渲染 NDVI > 0.3 的图像,但我想提取可见 NIR 波段中的相应像素。
这是片段代码。
我现在想使用阈值变量(图像)在“B”、“G”、“R”和“NIR”波段中剪辑相应的像素。显然,我被困在这里。请让我知道是否有一种方法可以使用 GEE 中的另一个波段过滤/剪辑一个波段的像素。该任务类似于在 QGIS 中使用 Clipper,如果这不起作用,这是我剩下的选项。
谢谢你的帮助!
docker - 从 LAN 连接的 PC 访问在 VM 机器上运行的 docker 容器
我想在服务器上运行 Google Earth Engine Datalab 并从 LAN 上的另一台 PC 访问它。服务器的操作系统是 Windows Server 2012。所以,按照https://developers.google.com/earth-engine/python_install-datalab-local,我做了:
- 安装 Docker 工具箱
- 定义本地工作区
- 创建容器,但更改:
-p "127.0.0.1:8081:8080"
for-p "8081:8080"
. 这是完整的命令:
docker run -it -p "8081:8080" -v "$WORKSPACE:/content" -e "PROJECT_ID=$GCP_PROJECT_ID" $CONTAINER_IMAGE_NAME
(见链接
它有效,我可以通过192.168.99.100:8081
. 但这仅适用于本地主机,所以我遵循了这个答案https://stackoverflow.com/a/36458215/2791453,做了所有步骤,现在我在服务器上打开一个浏览器,并通过196.168.0.55:8081
(那是服务器局域网)访问 Datalab地址),但我无法从连接到 LAN 的另一台计算机访问它。
time-series - 如何从一个波段中提取 NDVI 数据?
我正在尝试查看多边形的 NDVI 随着时间的变化,并且我希望能够访问 NDVI 值本身,而不是绘制或映射它们。到目前为止,我似乎能做的就是选择一个像素,绘制 NDVI 图表,然后将数据导出为 CSV。如果我想对多边形而不是像素执行此操作,这种方法将是极其不切实际的。
我正在使用上面的代码随着时间的推移绘制 NDVI。
python - Python 中的 Http 错误 403 Google 地球引擎
在 2 天内,我在 Windows 7 中安装了适用于 Python 的 Google Earth Engine API 并修改了 mapclient.py 文件,因为我需要为我的 Python 脚本使用“import ee.mapclient”指令。最后我明白了,它与https://github.com/google/earthengine-api/tree/master/python/examples/py/FeatureCollection上的示例一起使用。在 15 - 25 之后它开始工作并显示一条消息,即 HTTP 连接的异常:“HTTP 错误 403:禁止”。
现在,如果我在谷歌地图上连接,即使我搜索位置,它也会显示没有路线的空白地图。它不适用于 Firefox 和 Google Chrome。看来我无法从我的计算机访问 Google 地图的图像服务器图像。它可能是一个文件向 Google 地图的图像服务器创建了 403 错误。我能做些什么?我一直在寻找,我没有发现任何有用的东西。我使用 Python 3.4。
google-colaboratory - 在 Google Colaboratory notebook 上运行 Google EarthEngine API
我想在 Google Colaboratory 笔记本中安装和使用 Google EarthEngine 的 Python API。而且我还没有走得太远。在我将以下代码键入单元格后,
earthengine-api 及其依赖项已安装,但身份验证要求我登录我的帐户并输入授权代码(然后,大概会在本地存储 OAuth 凭据)并随后通过 ee.Initialize() 启用此 API 的使用。
我有两个问题:
- 在没有命令行交互的 Colaboratory 界面中,我无法输入 EarthEngine 需要进行身份验证的授权代码。有什么解决方法吗?
- 如果我完全解决了上述问题,OAuth 凭据会存储在哪里?这是每个会话还是每个用户?在随后的会话中或在不同的笔记本中,此笔记本或其他笔记本是否可以访问它?
python - 有没有办法用python计算谷歌地球引擎中的流量累积?
我看到 Earth Engine 有'ee.Terrain.slope()',但是有没有办法可以使用另一个 python 库来计算流量累积——比如在 pyDEM 或 pygeoprocessing 中?
python - 无法使用 Python 从 Google 地球引擎脚本中获取结果
我正在尝试复制此 python 脚本来计算特征集合的 NDVI 平均值(在 Earth Engine python 脚本中获取结果)。似乎代码计算了一个结果,但看不到结果。这是代码:
给我这个结果:
所以它看起来不像有什么东西从里面出来?
我还没有尝试下一个包含以下内容的地方:
关于做错了什么的任何建议?更愿意将结果放在特征集合中或导出为列表。
google-earth-engine - Google Earth Engine:将单波段 ImageCollection 展平为多波段单图像
我想使用监督分类对具有清晰时间模式的模式进行分类。例如,识别针叶林中的落叶乔木林分。NDVI 会随着时间的推移在落叶林中以应易于检测的规则模式变化。我假设有一种简单的方法可以将时间数据集展平为单个图像,以便可以在分类算法中使用该图像中的波段。也许使用.map(....)
?
这是一些构建答案的代码:
从那里,我会将 ndviFlat 传递给.sampleRegions
,它只适用于Images
not ImageCollections
:
google-earth-engine - 谷歌地球引擎:ee.List() 输出为整数?
我可以不 JSON.stringify() ee.List() 的输出吗?
控制台说:
我的最终游戏是将 dates.get(0) 解释为整数....