ee.FeatureCollection.flatten

Flattens collections of collections.

UsageReturns
FeatureCollection.flatten()FeatureCollection
ArgumentTypeDetails
this: collectionFeatureCollectionThe input collection of collections.

Examples

Code Editor (JavaScript)

// Counties in New Mexico, USA.
var counties = ee.FeatureCollection('TIGER/2018/Counties')
                   .filter('STATEFP == "35"');

// Monthly climate and climatic water balance surfaces for January 2020.
var climate = ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE')
                  .filterDate('2020-01', '2020-02');

// Calculate mean climate variables for each county per climate surface
// time step. The result is a FeatureCollection of FeatureCollections.
var countiesClimate = climate.map(function(image) {
  return image.reduceRegions({
    collection: counties,
    reducer: ee.Reducer.mean(),
    scale: 5000,
    crs: 'EPSG:4326'
  });
});

// Note that a printed FeatureCollection of FeatureCollections is not
// recursively expanded, you cannot view metadata of the features within the
// nested collections until you isolate a single collection or flatten the
// collections.
print('FeatureCollection of FeatureCollections', countiesClimate);

print('Flattened FeatureCollection of FeatureCollections',
      countiesClimate.flatten());

Python setup

See the Python Environment page for information on the Python API and using geemap for interactive development.

import ee
import geemap.core as geemap

Colab (Python)

# Counties in New Mexico, USA.
counties = ee.FeatureCollection('TIGER/2018/Counties').filter('STATEFP == "35"')

# Monthly climate and climatic water balance surfaces for January 2020.
climate = ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE').filterDate(
    '2020-01', '2020-02')

# Calculate mean climate variables for each county per climate surface
# time step. The result is a FeatureCollection of FeatureCollections.
def reduce_mean(image):
  return image.reduceRegions(**{
      'collection': counties,
      'reducer': ee.Reducer.mean(),
      'scale': 5000,
      'crs': 'EPSG:4326'
      })
counties_climate = climate.map(reduce_mean)

# Note that a printed FeatureCollection of FeatureCollections is not
# recursively expanded, you cannot view metadata of the features within the
# nested collections until you isolate a single collection or flatten the
# collections.
print('FeatureCollection of FeatureCollections:', counties_climate.getInfo())

print('Flattened FeatureCollection of FeatureCollections:',
      counties_climate.flatten().getInfo())