AI-generated Key Takeaways
-
FeatureCollection.reduceColumns
applies a reducer to each element of a collection using specified selectors for input. -
The method returns a dictionary of results, with keys corresponding to the output names.
-
The usage involves specifying a reducer, input selectors, and optionally weight selectors.
-
Arguments include the collection itself, the reducer, a list of selectors for inputs, and an optional list of weight selectors.
Returns a dictionary of results, keyed with the output names.
Usage | Returns |
---|---|
FeatureCollection.reduceColumns(reducer, selectors, weightSelectors) | Dictionary |
Argument | Type | Details |
---|---|---|
this: collection | FeatureCollection | The collection to aggregate over. |
reducer | Reducer | The reducer to apply. |
selectors | List | A selector for each input of the reducer. |
weightSelectors | List, default: null | A selector for each weighted input of the reducer. |
Examples
Code Editor (JavaScript)
// FeatureCollection of power plants in Belgium. var fc = ee.FeatureCollection('WRI/GPPD/power_plants') .filter('country_lg == "Belgium"'); // Calculate mean of a single FeatureCollection property. var propMean = fc.reduceColumns({ reducer: ee.Reducer.mean(), selectors: ['gwh_estimt'] }); print('Mean of a single property', propMean); // Calculate mean of multiple FeatureCollection properties. var propsMean = fc.reduceColumns({ reducer: ee.Reducer.mean().repeat(2), selectors: ['gwh_estimt', 'capacitymw'] }); print('Mean of multiple properties', propsMean); // Calculate weighted mean of a single FeatureCollection property. Add a fuel // source weight property to the FeatureCollection. var fuelWeights = ee.Dictionary({ Wind: 0.9, Gas: 0.2, Oil: 0.2, Coal: 0.1, Hydro: 0.7, Biomass: 0.5, Nuclear: 0.3 }); fc = fc.map(function(feature) { return feature.set('weight', fuelWeights.getNumber(feature.get('fuel1'))); }); var weightedMean = fc.reduceColumns({ reducer: ee.Reducer.mean(), selectors: ['gwh_estimt'], weightSelectors: ['weight'] }); print('Weighted mean of a single property', weightedMean);
import ee import geemap.core as geemap
Colab (Python)
# FeatureCollection of power plants in Belgium. fc = ee.FeatureCollection('WRI/GPPD/power_plants').filter( 'country_lg == "Belgium"') # Calculate mean of a single FeatureCollection property. prop_mean = fc.reduceColumns(**{ 'reducer': ee.Reducer.mean(), 'selectors': ['gwh_estimt'] }) print('Mean of a single property:', prop_mean.getInfo()) # Calculate mean of multiple FeatureCollection properties. props_mean = fc.reduceColumns(**{ 'reducer': ee.Reducer.mean().repeat(2), 'selectors': ['gwh_estimt', 'capacitymw'] }) print('Mean of multiple properties:', props_mean.getInfo()) # Calculate weighted mean of a single FeatureCollection property. Add a fuel # source weight property to the FeatureCollection. def get_fuel(feature): return feature.set('weight', fuel_weights.getNumber(feature.get('fuel1'))) fuel_weights = ee.Dictionary({ 'Wind': 0.9, 'Gas': 0.2, 'Oil': 0.2, 'Coal': 0.1, 'Hydro': 0.7, 'Biomass': 0.5, 'Nuclear': 0.3 }) fc = fc.map(get_fuel) weighted_mean = fc.reduceColumns(**{ 'reducer': ee.Reducer.mean(), 'selectors': ['gwh_estimt'], 'weightSelectors': ['weight'] }) print('Weighted mean of a single property:', weighted_mean.getInfo())