将 Google 地球引擎转换为 Python API:空间连接



我目前正在将我的GEE从Javascript翻译成Python API。我遇到的一个初始问题是空间连接。我基本上有一个形状文件和一系列随机点,我正在尝试生成一个特征集合,该集合报告每个点的形状文件中的值。语法如下:


#1. A shapefile of sub-Saharan Africa, which I made open for public usage 
SSA = ee.FeatureCollection('users/salem043/Africa_Districts')
#2. 100 random points within the SSA shapefile
points = ee.FeatureCollection.randomPoints(SSA, 100)
#3. The properties I want to retain from the SSA shapefile (admin. districts)
properties = ["ADM0","ADM1", "ADM2"]
#4. This spatial filter function which used to work in Javascript
spatialFilter = ee.Filter.intersects({leftField: '.geo', rightField: '.geo'})
#5. Using the spatial filter and the join command I then create a feature var 
joinAll = ee.Join.saveAll('matched').apply(points, SSA, spatialFilter)

对于 SSA 形状文件,链接为:https://code.earthengine.google.com/?asset=users/salem043/Africa_Districts

我收到的错误发生在步骤 4:Python 报告"未定义名称'leftField'"。如果您能帮助我弄清楚如何将步骤 4(和步骤 5,如果这也是一个问题(中的 Javascript 转换为 Python,我将不胜感激!

使用 Python,您需要用 " 括住字典键。
取代

spatialFilter = ee.Filter.intersects({leftField: '.geo', rightField: '.geo'})
spatialFilter = ee.Filter.intersects({"leftField": '.geo', "rightField": '.geo'})

最新更新