ee.FeatureCollection.reduceColumns

تطبيق أداة تقليل على كل عنصر من عناصر المجموعة، باستخدام أدوات الاختيار المحدّدة لتحديد المدخلات

تعرض هذه الدالة قاموسًا للنتائج، ويتم تحديد مفاتيحها باستخدام أسماء الإخراج.

الاستخدامالمرتجعات
FeatureCollection.reduceColumns(reducer, selectors, weightSelectors)القاموس
الوسيطةالنوعالتفاصيل
هذا: collectionFeatureCollectionالمجموعة المطلوب تجميعها.
reducerReducerالدالة المخفِّضة التي سيتم تطبيقها.
selectorsقائمةأداة اختيار لكل إدخال في أداة الاختزال
weightSelectorsقائمة، القيمة التلقائية: فارغةأداة اختيار لكل إدخال مرجّح في أداة الاختزال

أمثلة

محرّر الرموز البرمجية (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);

إعداد Python

راجِع صفحة بيئة Python للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام geemap للتطوير التفاعلي.

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())