Как я могу добавить две FeatureCollections? - PullRequest
0 голосов
/ 02 июня 2019

Мне нужно добавить два (немного отличающихся) 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 строками и (возможно) тремя столбцами, но я не против, если он отбрасывает несовпадающие столбцы.В настоящее время я получаю коллекцию функций только с дополнительными функциями (я думаю) и идентификатором в очень странном списке, который я не понимаю.

1 Ответ

0 голосов
/ 02 июня 2019
print(primaryFeatures.merge(secondaryFeatures));

При этом получается FeatureCollection (8 elements, 3 columns), причем оба входа и ни одна из функций не изменяется каким-либо образом.

...