首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用某些要素的平均值和不同要素集合的位置/形状创建要素集合?

如何使用某些要素的平均值和不同要素集合的位置/形状创建要素集合?
EN

Stack Overflow用户
提问于 2020-09-01 23:37:20
回答 1查看 583关注 0票数 0

我有两个特征集合,一个包含带有测量值的点数据,另一个多边形标记不同的簇,其中几个测量值被紧密地放在一起。在谷歌地球引擎中,我正在尝试创建一个新的(点)特征集合(或编辑多边形特征),其中包含每个独立聚类的平均测量值。

我使用以下代码连接两个不同的要素集合(以便多边形也包含点数据):

代码语言:javascript
复制
 var mean = ee.Filter.intersects({
    leftField: '.geo',
    rightField: '.geo'
  })

var saveAllJoin = ee.Join.saveAll({
  matchesKey: 'Measurements',
})

var intersect = saveAllJoin.apply(Clusters, Measurements, mean)

然而,由于在一个集群内进行多个测量,这导致特征集合包含一个列表,该列表具有位于特定集群内的测量点。相反,我正在寻找平均测量值作为多边形的属性。在Google earth engine (或者可能是QGIS)中实现这一点的方法是什么?

我尝试使用ee.FeatureCollection.map来计算每个单独多边形的平均值:

代码语言:javascript
复制
var clust = ee.FeatureCollection(Clusters).map(function(feature) {
  var meanClay = Measurements.reduceColumns({
    reducer: ee.Reducer.mean(),
    selectors: ['Clay']
  })
  return feature.set('mean', meanClay)
})

现在,如果我打印变量"clust“,我会得到一个带有(测量)属性clay平均值的featurecollection。然而,每个特征都得到相同的值(所有测量点的平均值,而不仅仅是特定集群中的点)。

为了清楚起见:我得到了一个包含78个测量位置(点)的shapefile,这些位置(点)作为特征集合加载到我的脚本中,并包含测量值。除此之外,我还有一个带有多边形的shapefile,表示执行了一组测量的16个区域(因此在每个集群中大约有4-5个测量)。现在,我正在尝试获取每个多边形(集群)中每个单独多边形的所有测量值(点)的平均值。

EN

回答 1

Stack Overflow用户

发布于 2020-09-03 18:47:55

我通过对点数据使用filterBounds()解决了这个问题。在这里,filterBounds用于过滤点数据,使其仅包含特定集群中的点。

代码语言:javascript
复制
var clust = ee.FeatureCollection(Clusters).map(function(feature) {
  var meanClay = ee.FeatureCollection(Measurements.filterBounds(feature.geometry()))
    .reduceColumns({
      reducer: ee.Reducer.mean(),
      selectors: ['Clay']
    })
  return feature.set(meanClay)
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63690948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档