如何附加两个featureCollections?

时间:2019-06-02 16:17:26

标签: google-earth-engine

我需要附加两个(略有不同)没有共同特征的featureCollections:一个集合描述一种类型的多边形,另一种描述没有空间重叠的另一种类型,我打算创建一个单个featureCollection来用它们对图像进行分类。

我认为解决方案可能是saveAll联接,但是我无法弄清楚它的工作方式(我可能错了!)


// Create the primary collection.
var primaryFeatures = ee.FeatureCollection([
  ee.Feature(null, {foo: 0, ID: 'a'}),
  ee.Feature(null, {foo: 1, ID: 'b'}),
  ee.Feature(null, {foo: 1, ID: 'c'}),
  ee.Feature(null, {foo: 2, ID: 'd'}),
]);

// Create the secondary collection.
var secondaryFeatures = ee.FeatureCollection([
  ee.Feature(null, {foo: 1, bar: 1, ID: 'e'}),
  ee.Feature(null, {foo: 3, bar: 1, ID: 'f'}),
  ee.Feature(null, {foo: 2, bar: 2, ID: 'g'}),
  ee.Feature(null, {foo: 2, bar: 3, ID: 'h'}),
]);

// Use an equals filter to specify how the collections match.
var toyFilter = ee.Filter.notEquals({
  leftField: 'ID',
  rightField: 'ID'
});

// Define the join.
var allJoin = ee.Join.saveAll({ matchesKey: 'ID'});

// Apply the join.
var toyJoin = allJoin.apply(primaryFeatures, secondaryFeatures,  toyFilter);

// Print the result.
print('All join toy example:', toyJoin);

我期望featureCollection包含8行和(可能)三列,但是我不介意它是否丢弃不匹配的列。我目前有一个特征集合,其中包含一些次要特征(我认为)和ID(我不了解),格式非常奇怪。

1 个答案:

答案 0 :(得分:0)

print(primaryFeatures.merge(secondaryFeatures));

这将产生FeatureCollection (8 elements, 3 columns),其中的两个输入均不更改任何功能。