【发布时间】:2020-12-20 18:17:23
【问题描述】:
我有两个特征集合,一个包含带有测量值的点数据,另一个多边形标记不同的集群,其中几个测量值是靠在一起进行的。在 Google 地球引擎中,我正在尝试创建一个新的(点)要素集合(或编辑多边形要素),其中包含每个单独集群的平均测量值。
我使用下面的代码来加入两个不同的特征集合(这样多边形也包含点数据):
var mean = ee.Filter.intersects({
leftField: '.geo',
rightField: '.geo'
})
var saveAllJoin = ee.Join.saveAll({
matchesKey: 'Measurements',
})
var intersect = saveAllJoin.apply(Clusters, Measurements, mean)
但是,由于在一个集群内进行了多次测量,因此会产生一个特征集合,其中包含一个列表,其中测量点位于特定集群内。相反,我正在寻找作为多边形属性的平均测量值。在 Google 地球引擎(或可能在 QGIS)中执行此操作的方法是什么?
我尝试使用ee.FeatureCollection.map 来计算每个单独多边形的平均值:
var clust = ee.FeatureCollection(Clusters).map(function(feature) {
var meanClay = Measurements.reduceColumns({
reducer: ee.Reducer.mean(),
selectors: ['Clay']
})
return feature.set('mean', meanClay)
})
现在,如果我打印变量“clust”,我会得到一个特征集合,其中包含(测量的)属性粘土的平均值。但是,每个特征都获得相同的值(所有测量点的平均值,而不仅仅是特定集群中的那些)。
为了清楚起见:我得到了一个包含 78 个测量位置(点)的 shapefile,它们作为特征集合加载到我的脚本中并包含测量值。除此之外,我还有一个带有多边形的 shapefile,指示执行了一组测量的 16 个区域(因此每个集群中大约有 4-5 次测量)。现在我正在尝试为每个单独的多边形获取每个多边形(集群)内所有测量值(点)的平均值。
【问题讨论】:
-
我不确定我是否了解您的数据形状,但您是否查看过
ee.FeatureCollection.map()以总结每个多边形中包含的点位置? -
我现在用
ee.FeatureCollection.map()尝试了一些东西,但是我对 Google 地球引擎还是很陌生,并没有得到我想要的结果。我在原来的问题中添加了一些额外的信息。我希望现在更清楚了。 -
在映射函数中,你应该使用
Measurements而不是feature.get来提取你想要汇总的属性。
标签: merge qgis google-earth-engine